你希望函数的某些参数强制使用关键字参数传递:
将强制关键字参数放到某个*参数或者当个*后面就能达到这种效果:
def dog(name, host, *, age):
print(name, host, age)
参数中有一个 “*” 号,在该符号之后的所有参数(可一至多个)均被称为强制关键字参数,如果按照位置参数的方式对这些参数传值:
[root@node01 python]# cat s1.py
def dog(name, host, *, age):
print(name, host, age)
dog('a','b',23)
[root@node01 python]# python3.6 s1.py
Traceback (most recent call last):
File "s1.py", line 3, in <module>
dog('a','b',23)
TypeError: dog() takes 2 positional arguments but 3 were given
[root@node01 python]#
[root@node01 python]# cat s1.py
def dog(name, host, *, age):
print(name, host, age)
dog('dobi', 'xuzhoufeng', age = 2)
[root@node01 python]# python3.6 s1.py
dobi xuzhoufeng 2
[root@node01 python]# cat s2.py
def recv(maxsize, *, block):
print (maxsize,block)
recv(1,2)
[root@node01 python]#
[root@node01 python]# python3.6 s2.py
Traceback (most recent call last):
File "s2.py", line 3, in <module>
recv(1,2)
TypeError: recv() takes 1 positional argument but 2 were given
[root@node01 python]# cat s2.py
def recv(maxsize, *, block):
print (maxsize,block)
recv(1,block=2)
[root@node01 python]# python3.6 s2.py
1 2
你希望函数的某些参数强制使用关键字参数传递:
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python中的函数参数:位置参数、默认参数、可变参数、关键字参数和命名关键字参数
函数的参数Python中函数定义非常简单,由于函数参数的存在,使函数变得非常灵活应用广泛;不但使得函数能够处理复杂多变的参数,还能简化函数的调用。Python中的函数参数有如下几种:位置参数、默认参数、可变参数、关键字参数和命名关键字参数一、位置参数位置参数(positionalarguments)就是其他语言的参数,其他语言没有分参数的种类是因为只有这一种参数,所有参数都遵循按位置一一对应的原则
Python函数参数总结 位置参数、默认参数、可变参数、关键字参数 python的关键字参数和命名关键字参数 python函数各类参数的使用 python函数各种参数的组合使用 -
PYTHON 笔记:函数的参数(关键字参数,默认参数,可变长参数,可变长的关键字参数)
一般的函数参数是位置参数,位置不对会出问题1.关键字参数使用参数名提供的参数就是关键字参数,有了关键字参数,顺序就不会有影
leetcode 算法 职场和发展 默认参数 python -
Python函数的关键字参数
除了位置参数的函数参数使用方式,还有一种在函...
python函数 学python javascript python 函数参数