首页 / 知识
python 命名关键字参数
2023-11-12 13:30:00
对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数。至于到底传入了哪些,就需要在函数内部通过kw检查。如果要限制关键字参数的名字,就可以用命名关键字参数,例如,仍以person()函数为例,只接收city和job作为关键字参数。这种方式定义的函数如下:
1#和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。
2defperson(name,age,*,city,job):
3print(name,age,city,job)
4
5#调用方式如下:
6>>>person('Jack',24,city='Beijing',job='Engineer')
7Jack24BeijingEngineer
8
9#如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了:
10defperson(name,age,*args,city,job):
11print(name,age,args,city,job)
12
13#命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错:
14>>>person('Jack',24,'Beijing','Engineer')
15Traceback(mostrecentcalllast):
16File"",line1,in
17TypeError:person()takes2positionalargumentsbut4weregiven
18#上面的错误说的是:由于调用时缺少参数名city和job,Python解释器把这4个参数均视为位置参数,但person()函数仅接受2个位置参数。
19
20
21#命名关键字参数可以有缺省值,从而简化调用:
22defperson(name,age,*,city='Beijing',job):
23print(name,age,city,job)
24
25#由于命名关键字参数city具有默认值,调用时,可不传入city参数:
26>>>person('Jack',24,job='Engineer')
27Jack24BeijingEngineer
使用命名关键字参数时,要特别注意,如果没有可变参数,就必须加一个*作为特殊分隔符。如果缺少*,Python解释器将无法识别位置参数和命名关键字参数:
1
2
3defperson(name,age,city,job):
#缺少*,city和job被视为位置参数
pass
以上内容为大家介绍了python命名关键字参数,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们
最新内容
相关内容
Python算法定义
Python算法定义,有限,时间,数据,算法,情况,培训,系统,策略,复杂度,步骤,算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的python如何读取列表中元素的位置?
python如何读取列表中元素的位置?,位置,数据,异常,培训,字符串,元素,索引,方法,示例,结果,python读取列表中元素位置的方法:1、使用index()方python的三角函数在哪?
python的三角函数在哪?,标准,培训,函数,反函数,方法,下面,以上,更多,内容,python中的三角函数在python的标准库math中,math已经包含在你的标python中函数怎么表示?
python中函数怎么表示?,名称,标准,培训,代码,函数,圆括号,字符串,表达式,选择性,自变量,python中函数定义规则:·函数代码块以def关键词开头,后python有函数重载吗?
python有函数重载吗?,情况,代码,设计,名字,培训,函数,参数,功能,类型,两个,python中没有函数重载。为了考虑为什么python不提供函数重载,首先python map()函数怎么用?
python map()函数怎么用?,培训,函数,序列,列表,参数,元素,示例,字符串,语法,例子,pythonmap()会根据提供的函数对指定序列做映射。第一个参数python常用函数包有哪些?
python常用函数包有哪些?,项目,数据,标准,系统,基础,代码,地址,分析,检测,网站,一些python常用函数包:1、Urllib3Urllib3是一个Python的HTTP客ubuntu安装python3的几种方式
ubuntu安装python3的几种方式,培训,方式,官方,断点,命令,上面,表示,以上,参数,目标,python在ubuntu下有几种安装方法:通过ubuntu官方的apt工具python函数里面形参和实参一样吗?
python函数里面形参和实参一样吗?,培训,函数,参数,里面,变量,实际,形式,全称,示例,后面,python函数里面形参和实参不一样。形参全称是形式参python中的open函数如何编码?
python中的open函数如何编码?,数据,系统,可取,培训,文件,参数,函数,时候,表示,模式,python中的open函数可以通过在打开文件时添加encoding参python中什么叫递归函数?
python中什么叫递归函数?,规模,培训,函数,嵌套,内部,不是,实例,特性,层次,效率,1、什么叫递归函数?在函数内部,可以调用其他函数。如果一个函python中的sum函数怎么用?
python中的sum函数怎么用?,培训,函数,总和,参数,列表,示例,语法,对象,以上,结果,python中的sum()函数用来进行求和计算,函数语法为:sum(iterabl