1.可选参数和可变数量参数
- 可选参数
- 定义:某些函数在定义参数时就为一些参数设置默认值,在调用函数时可以不用为这些参数再传递值,而使用默认值,这种参数就称作可选参数。
- 例:
def fuc(a, b=c): #定义函数 b就是可选参数
fuc(5) #使用函数
- 可选参数必须在非可选参数后 - 可变数量参数
- 通过在参数前增加星号(*)实现
- 定义:
def vfunc(a, *b):
- 调用:
vfunc(1,2,3,4,5)
- 调用时元组(2,3,4,5)传给变量b
- 可变数量参数必须出现在参数列表最后
2.参数的传递
- 按位置传递:按函数定义时参数列表的顺序为参数传值
- 按名称传递:为参数传值时带上参数名,例如:
fuc(c=1,a=4)
3.返回值
- Python中函数可以返回0个1个或多个结果
- 当返回多个结果时,以元组形式返回
4.函数对变量的作用
- 全局变量和局部变量的概念
- Python函数对变量的作用遵循如下原则:
- 简单数据类型无论与全局变量是否重名,仅在函数内部创建和使用,当函数退出时被释放,如果与全局函数同名,全局变量的值不变。
- 简单数据类型变量在用global保留字声明后,作为全局变量使用,函数退出后该变量保留且值被函数改变。
- 对于组合类型(如列表类型)的全局变量,如果函数内部没有内真实创建的同名变量,则函数可以直接使用并修改全部变量的值。
- 如果函数内部真实创建了组合类型变量,无论是否有同名全局变量,函数进队局部变量进行操作,函数退出后局部变量被释放全局变量值不变。