码迷,mamicode.com
首页 > 编程语言 > 详细

python函数的参数形式

时间:2020-06-18 19:22:33      阅读:60      评论:0      收藏:0      [点我收藏+]

标签: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函数的参数形式

标签:python   附加   font   jin   难度   数值   内容   出现   一点   

原文地址:https://www.cnblogs.com/yanghh/p/13159058.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!