标签:python 附加 font jin 难度 数值 内容 出现 一点
1. 默认参数
在函数定义时附加一个赋值运算符(=
)来为参数指定默认参数值。必选参数在前,默认参数在后,匹配时从左往右进行匹配。
使用默认参数有什么好处?最大的好处是能降低调用函数的难度。
def enroll(name, gender, age=6, city=‘Beijing‘): print(‘name:‘, name) print(‘gender:‘, gender) print(‘age:‘, age) print(‘city:‘, city) enroll(‘Sarah‘, ‘F‘) enroll(‘Bob‘, ‘M‘, 7) # 从左往右匹配,故是age = 7 enroll(‘Adam‘, ‘M‘, city=‘Tianjin‘) # 可以直接指定赋值的参数名
默认参数很有用,但使用不当,也会掉坑里。默认参数有个最大的坑,演示如下:
# 你使用默认参数调用时出现如下情况 print(add_end()) print(add_end()) # 再次调用时结果就不对了 print(add_end()) """ output: [‘END‘] [‘END‘, ‘END‘] [‘END‘, ‘END‘, ‘END‘] """
原因如下:Python 函数在定义的时候,默认参数 L 的值就被计算出来了,即[],因为默认参数 L 也是一个变量,它指向对象[],每次调用该函数,如果改
变了 L 的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。所以,定义默认参数要牢记一点:默认参数必须指向不变对象!
2. 可变参数
可变参数就是传入的参数个数是可变的,可以是 1 个、2 个到任意个,还可以是 0 个。
未完待续。。。。。。
标签:python 附加 font jin 难度 数值 内容 出现 一点
原文地址:https://www.cnblogs.com/yanghh/p/13159058.html