[python编程:从入门到实践笔记]函数
函数是带名字的代码块,用于完成具体的工作。 要执行函数定义的特定任务,可调用该函数。需要在程序中多次执行同一项任务时,无需反复编写完成该任务的代码,而只需调用执行该任务的函数,让Python运行其中的代码。通过使用函数,程序的编写、阅读、测试和修复都将更容易。
目录
一、定义函数
二、传递实参
1、位置实参
2、关键字实参
3、默认值
三、返回值
1、返回简单值
2、让实参变成可选的
3、返回字典
四、传递列表
一、定义函数
下面先展示一个简单的函数结构:
def greet_user():"""显示简单的问候语"""print("hi")greet_user()
- 第一行的代码使用关键字def表示定义的是一个函数,greet_user()是函数名(函数名可能在括号内指出函数为了完成任务需要什么样的信息),该函数不需要任何的额外信息就可以完成它的任务,因此括号内是空的。另外,定义函数需要以冒号结尾。
- 第二行的注释,使用三引号括起来,用来描述函数做了什么。
- 代码行print("hi")是函数体内的唯一一行代码,greet_user()只做一项工作: 打印hi。
- 要调用函数,可依次指定函数名以及用括号括起的必要信息,如最后一行代码所示,由于这个函数不需要任何信息,因此调用它时只需输入greet_user()即可。
二、传递实参
函数定义种可能包含多个实参,因此函数调用中也有可能有多个形参。向函数传递实参的方式很多,可以使用位置实参,这要求实参的顺序与形参的顺序相同;也可使用关键字实参,其中每个实参都由变量名和值组成;还可使用列表和字典。下面来依次介绍这些方式。
1、位置实参
调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。为此, 最简单的关联方式是基于实参的顺序。这种关联方式被称为位置实参。如下面的例子所示:
def introduce_myself(name,age):""""打印自己的姓名和年龄"""print("\n My name is "+ name +".")print("I am "+ age + " years old.")introduce_myself('wt',"20")
得到的结果为:
My name is wt.
I am 20 years old.
调用introduce_myself()时,需要按顺序提供名字和年龄,位置反了就不对了。此外,可以根据需要调用多次。
2、关键字实参
关键字实参是传递给函数的名称-值对,如下所示:
def describe_myself(name,age):""""打印自己的姓名和年龄"""print("\nMy name is "+ name +".")print("I am "+ age + " years old.")describe_myself(name='wt',age="20")
describe_myself(age="18",name="wj")
得到的结果如下所示:
My name is wt.
I am 20 years old.My name is wj.
I am 18 years old.
由上面的例子可以看出在关键字实参中,只要关键字正确,实参的顺序无关紧要。
3、默认值
编写函数时,可给每个形参指定默认值。在调用函数中给形参提供了实参时,Python将使用 指定的实参值;否则,将使用形参的默认值。如下:
def describe_myself(name,age="20"):""""打印自己的姓名和年龄"""print("\nMy name is "+ name +".")print("I am "+ age + " years old.")describe_myself(name='wt')
describe_myself(age="18",name="wj")
得到的结果为:
My name is wt.
I am 20 years old.My name is wj.
I am 18 years old.
正如上面的例子所示,如果没有提供age实参,将返回默认值,如果重新设置了age的参数,则返回设定的值。
三、返回值
函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回 的值被称为返回值。在函数中,可使用return语句将值返回到调用函数的代码行。
1、返回简单值
下面先来看一个简单的例子:
def get_formatted_name(first_name,last_name):"""返回整洁的姓名"""full_name = first_name +' ' + last_namereturn full_name.title()user = get_formatted_name("xiao","ming")
print(user)
输出的结果为:
Xiao Ming
2、让实参变成可选的
有时候,需要让实参变成可选的,这样使用函数就只需要在必要时提供额外的信息。可以使用默认值让实参变成可选的。下面将函数get_formatted_name()进行扩展,使得该函数可以处理中间名,如下:
def get_formatted_name(first_name,last_name,middle_name = ""):"""返回整洁的姓名"""if middle_name:full_name = first_name + " " + middle_name+ ' ' + last_nameelse:full_name = first_name + ' ' + last_namereturn full_name.title()user1 = get_formatted_name("xiao","ming")
user2 = get_formatted_name("wang","xiao","hua")
输出的结果为:
user1:Xiao Ming
user2:Wang Hua Xiao
为了让实参变成可选的,可以将该实参设置为空字符串,并将其放在最后。
3、返回字典
函数可以返回任意类型的值,包括列表和字典等比较复杂的数据结构。如下:
def get_formatted_name(first_name,last_name,middle_name = ""):"""返回一个字典,其中包含一个人的信息"""person = {"first":first_name,'last':last_name}return personuser1 = get_formatted_name("xiao","ming")
print(f"user1:{user1}")
输出的结果为:
user1:{'first': 'xiao', 'last': 'ming'}
四、传递列表
通常情况下,还可以给函数传递列表,列表中可以包含名字、数字或者更复杂的对象(如字典)。将列表传递给数字后,函数就能直接访问其内容。下面列举一个简单的例子:
def greet_users(names):"""向列表中的每位用户都发出简单的问候"""for name in names:msg = "Hello," + name.title() + "!"print(msg)usernames = ['mvkf','jvuhv','jush']
greet_users(usernames)
输出后的结果为:
Hello,Mvkf!
Hello,Jvuhv!
Hello,Jush!
[python编程:从入门到实践笔记]函数相关推荐
- Python编程从入门到实践笔记(超详细的精华讲解+内有2021最新版本代码)
编程环境的安装请见我个人博客https://tianjuewudi.gitee.io/的另两篇文章<Pycharm安装方法>及<Pycharm配置和使用教程>,下面以你能正常使 ...
- python编程入门到实践目录-Python编程从入门到实践笔记——文件
file_name = =#关键字with在不再需要访问文件后将其关闭.open(path)打开文件read()读取整个文件的内容 #2.文件路径Linux和OS X中:with open('text ...
- python crash coures python编程从入门到实践 笔记1 python常见函数
一些内置函数 str.title() #.function() nothing in parentheses means no argument is given str.upper() str.lo ...
- python编程入门到实践笔记习题_Python编程从入门到实践笔记——列表简介
python编程从入门到实践笔记--列表简介 #coding=utf-8 #列表--我的理解等于c语言和java中的数组 bicycles = ["trek","cann ...
- python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目
文章目录 Django项目:学习笔记web网页 项目部署 参考 自己部署的网站,还是小有成就感的,毕竟踩过很多坑,实战技能也有些许进步. 网站链接:http://lishizheng.herokuap ...
- python基础学习[python编程从入门到实践读书笔记(连载一)]
写在前面:本文来自笔者关于<python编程从入门到实践>的读书笔记与动手实践记录. 程序员之禅 文章目录 02变量和简单数据类型 03 列表简介 04 操作列表 05 if语句 06 字 ...
- 《Python编程 从入门到实践》简单读书笔记
目录 第2章 变量和简单数据类型 第3章 列表简介 第4章 操作列表 第5章 if语句 第6章 字典 第7章 用户输入和while循环 第8章 函数 第9章 类 第10章 文件和异常 第11章 测试代 ...
- 《Python编程从入门到实践》袁国忠 译 P1~P200学习笔记
<Python编程从入门到实践>袁国忠 译 P1~P200 学习笔记 <Python编程从入门到实践>袁国忠 译 P1~P200之前两天在学习时做的笔记总结,在这里也记录一下, ...
- 读书笔记——《Python编程从入门到实践》第二章
读书笔记--<Python编程从入门到实践>第二章 读书笔记--<Python编程从入门到实践>第二章 变量 如何使用变量 如何规范变量命名 字符串 字符串是什么 如何修改字符 ...
- 《python编程从入门到实践》python入门级-学习笔记(1-2章)——持续更新中
CSDN的小伙伴们你们好~从今天起我开始自学编程了. 恭喜你关注到一个成长型账号. 一以来作为美术出身的TA,我无数次的向往能打出几行属于自己的代码.为了跟上时代的步伐,也为了能更加深入TA这个职业, ...
最新文章
- kaggle之数据分析从业者用户画像分析
- gitk、Git GUI 图形化工具中文显示乱码的解决方案
- 专题3 标准IO编程
- tab-pane 怎么家点击事件_有好转?辛巴燕窝事件新进展曝光。二子爷老婆首次回应银行行长送奥迪!二子爷分析小样你家老铁太精...
- chrmoe debug
- mysql与配偶同性_mysql 左,右,内连接
- Windows Server 2008网络基础结构的实现与管理
- Launchpad services provided in HANA XS in multitenant
- Liunx下使用Nginx负载均衡
- CCF202112-2 序列查询新解
- ASP.Net Web 服务 – 如何使用会话状态
- SAP自学指南:案例公司的管理难题
- cranly:你的R包管理工具
- new 关键字做的事
- python 读取TXT文件数据(字符或数值)存放在numpy数组中以及训练集测试集的处理(1)(个人笔记)
- 设计模式之组合模式-树形结构的处理
- 匈牙利命名法、驼峰式命名法、帕斯卡命名法
- 无法连接到internet 小黄叹号长时间不消失的问题
- 互联网 B C端产品对比分析
- trs ids身份服务器系统实现统一身份认证与单点登录平台技术,统一身份认证系统设计与实现...