第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > python笔记之函数参数(缺省参数 命名参数 不定长参数)

python笔记之函数参数(缺省参数 命名参数 不定长参数)

时间:2023-07-14 14:38:00

相关推荐

python笔记之函数参数(缺省参数 命名参数 不定长参数)

缺省参数

函数中定义带有初始值的形参

参数调用时,缺省参数可传,可不传

缺省参数一定在参数列表的最后面

缺省参数的数量没有限制

def x_y_sum(x,y=20): #缺省参数要在参数列表的最后print("x=",x)print("y=",y)return x+yres1 = x_y_sum(10)#不填参数默认缺省为20res2 = x_y_sum(10,30) #填写参数,缺省参数的初始值会被覆盖掉print(res1)print(res2)

运行结果:

x= 10y= 20x= 10y= 303040

命名参数

调用带有参数的函数时,通过指定参数名称传入参数的值,可以不按函数定义的参数顺序传入

def x_y_sum(x,y=20): #缺省参数要在参数列表的最后print("x=",x)print("y=",y)return x+yres1 = x_y_sum(7,8) #我们调用的时候没有添加x,y,默认22给了x,11给了yres2 = x_y_sum(y=22,x=11) #调用的时候添加x,y就不用管顺序是否相反,把22给了x,把11给了yprint(res1)print(res2)

运行结果:

x= 7y= 8x= 11y= 221533

不定长参数

函数可以接受不定个数的参数导入

格式1:

def function([format_args,] * args)

函数调用时,传入的不定参数会被封装成元组

例如,

def any_num_sum1(x,y=10,*args):#一个 * 将不定长的参数转换为元组print("args={}".format(args))rs = x+yif len(args)>0:for arg in args:rs+=argreturn rsres2 = any_num_sum1(100,200,300,400) # 将100给了x,200给了y,剩余的参数给了不定长参数。一个 * 将不定长的参数转换为元组print(res2)

运行结果:

args=(300, 400)1000

格式2:

def function([format_args,] ** args)

函数调用时,传入的不定参数会被封装成字典

例如,

def any_num_sum1(basic_money,** money):print(money)e_money = basic_money * money["a"]return e_moneyres2 = any_num_sum1(1000,a=200,q=300,y=400)print(res2)

运行结果:

{'a': 200, 'q': 300, 'y': 400}200000

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。