函数学习002

本文深入探讨Python中动态参数args和关键字参数kwargs的使用方法,解析其内部机制及应用场景,帮助读者掌握更灵活的函数定义技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

‘’’
动态参数(是可以不传参数的)
args arguments的缩写 也叫不定长参数
参数加了一个
就好比脱了一个外套,但是呢,只能脱一层
举个栗子:
def addnumber(args):
print(args)这里在调用的时候会把传进去的参数打印出来
print(type(args))这里调用的时候会打印出参数的类型,是元组,tuple
for item in args:
print(item)如果调用函数的时候,args为一个列表,例如这样[1,2,3,4],前面加上一个
,就可以打印出1,2,3,4

‘’’

不多比比,写一个

def addnumber(*args):
print(type(args))
for item in args:
print(item,end="")

addnumber(*[1,2,3,4])#这是结果 1234

如果不加*的话

addnumber([1,2,3,4])# 这是结果[1, 2, 3, 4]
‘’’
关键字参数(也叫不定长参数,也就是说,是可以不传参数的,简直机智的一比)
**kwargs key word arguments
传递参数的时候,必须是key=value这种形式
所以嘞,返回的元素类型,肯定就是字典了
下面写一个错误的用法,注意 是错误的
def kw(**kwargs):
print(kwargs)
kw(2)#这样就会报错,因为这样是填写位置参数的方法
‘’’

那就再写一个

def ppp(**kwargs):
print(kwargs)

ppp(1)#TypeError: ppp() takes 0 positional arguments but 1 was given 如果这样传,就会报这样的错误

ppp(name=“xiaoli”)
ppp(**{“name”:“xiaoli”,“age”:18,“sex”:“female”})#如果前面没有那两个*,还是会报错
‘’’
关于参数的顺序:形参放在最前面,其余的随意,但是呢,建议用这样的顺序
形参、实参、动态参数、关键字参数
‘’’
‘’’
赋值的时候呢,是按照顺序赋值的,再举个栗子
def fun(a,b,c=4,*args,**kwargs):
print(a)
print(b)
print©
print(**args)
print(**kwargs)
这个时候,如果调用函数fun,赋值(1,2,3,4,5,6,7,8)
那么控制台输出的结果呢,就是这样的
1
2
3
(4,5,6,7,8)
{}
‘’’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值