Python中关于函数参数的一些总结

本文深入解析Python函数参数的种类及使用方法,包括位置参数、关键字参数、可变参数以及参数解构,帮助读者掌握灵活传参技巧。

这里主要总结学习python的函数时的一些参数问题

函数参数

参数调用时传入的参数要和定义的个数相匹配(可变参数例外)
位置参数
	def f(x, y, z) 调用使用 f(1, 3, 5)
	按照参数定义顺序传入实参
关键字参数
	def f(x, y, z) 调用使用 f(x=1, y=3, z=5)
	使用形参的名字来出入实参的方式,如果使用了形参名字,那么传参顺序就可和定义顺序不同
传参
	f(z=None, y=10, x=[1])
	f((1,), z=6, y=4.1)
	f(y=5, z=6, 2) #
要求位置参数必须在关键字参数之前传入,位置参数是按位置对应的

可变参数

  1. 位置参数的可变参数
有多个数,需要累加求和:
>>> def add(*nums):
		sum = 0
		print(type(nums)) 
		for x in nums:
			sum += x 
		print(sum)
>>> add(3, 6, 9) # 调用
在形参前使用*表示该形参是可变参数,可以接收多个实参
收集多个实参为一个tuple
  1. 关键字参数的可变参数
>>> def showconfig(**kwargs): 
		for k,v in kwargs.items():
			print('{} = {}'.format(k, v))
>>> showconfig(host='127.0.0.1',port='8080',username='wayne',password='magedu')
形参前使用**符号,表示可以接收多个关键字参数
收集的实参名称和值组成一个字典

参数解构

给函数提供实参的时候,可以在集合类型前使用*或者**,把集合类型的结构解开,提取出所有元素作为函数的实参
非字典类型使用*解构成位置参数
字典类型使用**解构成关键字参数
提取出来的元素数目要和参数的要求匹配,也要和参数的类型匹配
例1:
>>> def add(x, y):
		return x+y
>> add(*(4,5)) | add(*[4,5]) | add(*{4,6})
>>> d = {'x': 5, 'y': 6}
>>> add(**d) | add(**{'a': 5, 'b': 6})
11
>>> add(*{'a':5,'b':6})
'ab'

例2:
>>> def add(*iterable):
		result = 0
		for x in iterable:
			result += x return result
>>> add(1,2,3) |  add(*[1,2,3])  | add(*range(10))
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值