函数
函数的定义
python函数就是封装一段代码,可重复使用,用来实现单一,或相关联功能的代码段,能提高应用的模块性,和代码的重复利用率
定一个函数的规则和语法如下:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
语法:
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
函数的调用
函数调用让Python执行函数的代码,要调用函数,可依次指定函数名以及用括号括起来的必要信息
def fun(): # 定义一个函数
print('函数的调用')
fun(). # 调用fun()函数 直接输出 ‘函数的调用’
函数的返回值
函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值,函数返回的值称为返回值,在函数中,可使用return语句将值返回到调用函数的代码行,返回值能让你将程序的大部分繁重工作移到到函数中去完成,从而简化程序
def fun(): # 定义函数
return '函数的调用' # 有返回值的函数
def fun1():
print('函数的调用') # 无返回值的函数
# 调用函数
fun() # 工作台无输出
# 返回值需要打印才能显示出来
print(fun()) # 工作台输出:函数的调用
传参
形参:全称为"形式参数" ,由于它不是实际存在变量,所以又称虚拟变量
实参:全称为"实际参数",是在调用时传递给函数的参数。 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。
实参和形参的区别:
主体不同 | 目的不同 | 特点不同 | |
---|---|---|---|
实参 | 在调用有参函数时,函数名后面括号中的参数为“实际参数” | 可以是常量、变量或表达式, 无论实参是何种类型的量,在进行函数调用时,都必须具有确定的值, 以便把这些值传送给形参 | 在调用函数过程中,系统会把实参的值传递给被调用函数的形参。或者说,形参从实参得到一个值。该值在函数调用期间有效,可以参加该函数中的运算 |
形参 | 不是实际存在变量,又称虚拟变量。 | 定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数 | 形参的本质是一个名字,不占用内存空间 |
参数类型:
- 必备参数
必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
def fun(name): # 此处str就是必备参数,在调用函数时,比如要传入一个参数
return name
fun('实参') # 传入参数
- 关键词参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
def fun(name): # 此处str就是必备参数,在调用函数时,比如要传入一个参数
return str
fun(name='实参') # 函数调用使用关键字参数来确定传入的参数值。
- 默认参数
调用函数时,默认参数的值如果没有传入,则被认为是默认值。
def fun(name, age=25): # age=25,就是就是有默认值的参数,如果没有传入新值,那么25认为是默认值
- 不定长参数
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,函数的不定长参数包含不定长位置参数args和不定长关键字参数**kwargs,其中args类型是元组,kwargs类型是字典
agrs 使用方法:
1.带的形参只能有一个,有多个会报错,不能识别
2.带的形参可以和其他参数配合使用,比如和不带星的
3.带*的形参不一定要放在最后面,可以放在最前面,中间,最后。但是注意,带星的参数后的所有参数,必须以关键字参数的形式传递,否则会保错。
**kwargs的使用方法:
1.**形参只能有一个,并且必须写在所有参数的最后。
2.字典的key就是参数的名字,字典的value就是参数的值