目录
一、参数的定义1、函数的参数在哪里定义2、带参数的函数调用:二、参数分类1、根据实参进行分类1.1、位置参数(未命名参数)1.2、关键字参数(命名参数)2、根据形参进行分类2.1、必备参数:2.2、默认参数(缺省参数):2.3、不定长参数*args和**kwargs一、参数的定义
1、函数的参数在哪里定义
在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号,
隔开
案列:
# 利用函数的参数,定义一个可以完成任意两个数相加的函数 def add_num(a,b): c = a + b print(c)
2、带参数的函数调用:
函数定义了参数,那么调用函数的时候就需要传入参数
(资料图片)
add_num(11,22) #运行结果 33
上面的案列中,我们定义函数的时候在函数名后面的括号里定义的参数叫做形参,
而我们调用函数的时候传入的参数叫做实参,形参是用来接收实参的。
二、参数分类
上面我们说了形参和实参,那么形参和实参在在定义和调用的时候,根据形式不同有可以分为几类,
1、根据实参进行分类
实参:位置参数、关键字参数
1.1、位置参数(未命名参数)
def func(a,b,c): print(a) print(b) print(c) add_num(11,22,33) #运行结果 11 22 33
上述案列中,的函数的三个形参是按位置接收传入的实参,我们把这样的传参的形式叫做位置参数,
1.2、关键字参数(命名参数)
def func(a,b,c): print(a) print(b) print(c) add_num(11,c=99,b=33) #运行结果 11 33 99
调用函数函数的时候,实参通过参数名指定传给某个形参,这样的传参形式,我们把它叫做关键字参数
注意:传参的时候先写位置参数,再写命名参数
2、根据形参进行分类
形参可以分为三类:必备参数、默然参数、不定长参数
2.1、必备参数:
在调用函数的时候必须要传的参数
def add(a,b): c=a+b print(c) add(11,22)
上面函数中的a,b就是必备参数,在调用的函数的时候必须要传,不然就会报错
2.2、默认参数(缺省参数):
调用函数的时候可以传可以不传,不传就用默认值
def func(a,b,c=99): print(a) print(b) print(c) func(11,22,33) print("-----------") func(55,66) #运行结果: 11 22 33 --------------- 55 66 99
通过上述案列中我们可以发现,第一次调用的时候,我们传入了三个参数,c打印出来的是我们传入的值,第二次只传入了两个参数,这个时候c打印出来的是我们定义的时候给它设置的默认值
注意:带有默认值的参数一定要位于参数列表的最后面。
2.3、不定长参数*args和**kwargs
调用函数的时候可以传0个或者多个
2.3.1、*args:接收多传入的位置参数,以元祖的形式保存
def func(*args): print(args) func(33,44,55,66,77) func(*(33,44,55,66,77)) #运行结果 (33,44,55,66,77) (33,44,55,66,77)
*args
,args接收的是一个元祖;
调用的时候可以直接传入:func(33,44,55,66,77)
,
也可以可以先组装list或tuple,再通过*
拆包传入:func(*(33,44,55,66,77))
;
2.3.2、**kwargs:接收多传入的关键字参数,以字典的形式保存
def func(**kwargs): print(kwargs) func(e=33,h=44,f=55,d=66,c=77) func(**{"e":33,"h":44,"d":66,"c":77}) #运行结果 {"e": 33, "h": 44, "f": 55, "d": 66, "c": 77} {"e": 33, "h": 44, "f": 55, "d": 66, "c": 77}
**kwargs
,kw接收的是一个字典;
关键字参数既可以直接传入:func(11,22,e=33,h=44,f=55,d=66,c=77)
,
也可以先组装dict,再通过**拆包
传入:func(**{"e":33,"h":44,"d":66,"c":77})
。
注意点:使用*args
和**kwargs
是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
X 关闭
X 关闭
- 1转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 2充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 3好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 4名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 5亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 6京东绿色建材线上平台上线 新增用户70%来自下沉市场
- 7网红淘品牌“七格格”chuu在北京又开一家店 潮人新宠chuu能红多久
- 8市场竞争加剧,有车企因经营不善出现破产、退网、退市
- 9北京市市场监管局为企业纾困减负保护经济韧性
- 10市场监管总局发布限制商品过度包装标准和第1号修改单