一、函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,值需要调用其函数名即可。
语法:
二、特性
减少重复代码
使程序变的可扩展性
使程序变的易维护
三、函数参数
1、形参变量
只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后不能再使用该形参变量。
2、实参
可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参,因此应预先用赋值、输入等方法使参数获得确定值。
3、默认参数
如果调用是传了新的值就使用传的新值,如果调用时没有传值,则使用默认的值,默认参数必须放在位置参数后面(name、age、course都是位置参数)
4、关键参数
调用时指定了参数名的参数就叫关键参数,关键参数必须放在位置参数后面
二、在参数前面加上了*,固定参数就会变成非固定参数,传递的参数值个数可以是多个,多个参数值会打包成元祖传到函数中
# 在参数前面加上* def rifo(msg, *user): for i in user: pass print(user) # 我们在调用方法时可以给这个参数传多个值 rifo(1232324, "use1", "user2", "user3") # 我们也可以直接在传参的时候加元祖或列表的表示{}[],但是注意要在前面加上*, # 不然他会把这个列表默认为元祖的第一个元素,如果加上*就会直接转化为元祖 rifo(1232324, *{"use1", "user2", "user3"}) rifo(1232324, *["use1", "user2", "user3"])
三、**
# 再参数前面加上**,会以字典的形式将参数值传给函数 def fun(arg, **cs): print(arg, cs) # 对应**的参数,传值时要传固定参数(参数 = 参数值) fun(22, num = 12, age = 23)
传参方法二: