Python函数function,定义,调用,以及各种传参方式
函数 function
什么是函数:
函数是可以重复执行的语句块,可以重复使用
作用:
1. 用于封装语句块,提高代码的重用性
2. 定义用户级别的函数
函数定义(创建)语句 def 语句的语法:
def 函数名(形参列表):
语句块
说明:
1. 函数的名字就是语句块的名称
2. 函数名的命名规则与变量名相同(函数名必须为标识符)
3. 函数有自己的名字空间,在函数外部不可以访问函数内部的变量,在函数内部可以访问函数外部的变量,通常让函数处理外部数据需要用参数给函数传入一些数据
4. 函数的参数列表可以为空
5. 语句部分不能为空。如果为空需要填充pass语句
函数的调用
函数名(实际调用传递参数列表)
注: 实际调用传递参数以后称为实参
说明:
函数调用是一个表达式
如果没有return语句,此函数执行完毕后返回None 对象
如果函数需要返回其它的对象需要用到return语句
return 语句
语法:
return [表达式]
[] 代表可以省略
作用:
用于函数中,结束当前函数的执行,返回到调用该函数的地方,同时返回一个对象的引用关系
说明:
1. return语句后跟的表达式可以省略,省略后相当于 return None
2. 如果函数没有return语句,则函数执行完最后一条语句后返回None(相当于在最后加了一条return None语句)
3. 函数调用一定会返回一个对象的引用
序列传参:
序列传参是指在函数调用过程中,用 * 将序列拆解后按位置传参的方式
如:
def mmm(a,b,c):
...代码
s = ['a','b','c']
mmm(*s) S也可以是 'abc'
关键字传参:实参和形参可以不按位置匹配
是指传参时,按着形参的名称给形参赋值,实参和形参按名称进行匹配
如: def mmm(a,b,c):
pass
mmm(b=2,c=3,a=1) => 等同于 mmm(1,2,3)
字典关键字传参:指实参为字典,将字典用 ** 拆解后进行关键字传参
如: def mmm(a,b,c)
pass
d={'c':333,'b':222,'a':111}
mmm(**d) 相当于:mmm(c=333,b=222,a=111)
字典的键名和形参名必须一致
字典键名必须为字符串
字典的键名必须在形参中存在
综合传参:函数的传参方式,在能确定形参能唯一匹配到相应实参的情况下可以任意组合
如:def mmm(a,b,c):
pass
mmm(100,*[200,220])
mmm(*'ab',33)
mmm(100,c=11,b=22)
mmm(1,**{'c':2,'b':22})
mmm(**{'c':2,'b':22},a=11)
传参时要先位置传参,后关键字传参
发表评论