Python学习 -06- 函数的参数

Posted yesefujiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习 -06- 函数的参数相关的知识,希望对你有一定的参考价值。

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

先定义一个函数,传入一个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- 函数的参数的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记__2.3章 函数的参数

Python函数参数学习笔记

Python学习篇 Python中的函数

学习 Python 之 函数

学习 Python 之 函数

python学习 04 函数参数