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

Python学习 -06- 函数的参数

时间:2019-03-29 13:02:48      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:可变   最大的   一个   person   python学习   []   使用   添加   元素   

默认参数很有用,但使用不当,也会掉坑里。默认参数有个最大的坑,演示如下:

先定义一个函数,传入一个list,添加一个END再返回:
def add_end(L=[]):
L.append(‘END‘)
return L
当你使用默认参数调用时,一开始结果也是对的:

>>> add_end()
[‘END‘]
但是,再次调用add_end()时,结果就不对了:

>>> add_end()
[‘END‘, ‘END‘]
>>> add_end()
[‘END‘, ‘END‘, ‘END‘]

Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去:

>>> nums = [1, 2, 3]
>>> calc(*nums)
14

如果要限制关键字参数的名字,就可以用命名关键字参数,例如,只接收city和job作为关键字参数。这种方式定义的函数如下:

def person(name, age, *, city, job):
print(name, age, city, job)
和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。

Python学习 -06- 函数的参数

标签:可变   最大的   一个   person   python学习   []   使用   添加   元素   

原文地址:https://www.cnblogs.com/yesefujiang/p/10620559.html

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