Python中的**kwargs使用

当使用**kwargs语法将一个字典传递给函数或方法时,Python会根据形参(函数定义中的参数)来提取**kwargs中的对应值。

当函数或方法定义中包含**kwargs参数时,它允许接受任意数量的关键字参数,并将它们作为字典传递给函数体。在函数体内部,可以使用字典的键来访问传递的关键字参数的值。

举例1:

def print_info(name, age, **kwargs):
    print("Name:", name)
    print("Age:", age)
    
    occupation = kwargs.get('occupation')
    city = kwargs.get('city')
    
    print("Occupation:", occupation)
    print("City:", city)

# 调用函数并传递额外的关键字参数
print_info("John", 25, occupation="Engineer", city="New York")

结果

Name: John
Age: 25
Occupation: Engineer
City: New York

在这个例子中,print_info函数定义了两个必需的位置参数nameage,以及一个**kwargs参数。在函数体内部,我们使用kwargs.get()方法来从kwargs字典中提取关键字参数的值。如果关键字参数存在,则返回对应的值;如果不存在,则返回None

通过使用kwargs.get()或直接使用kwargs[key],我们可以根据需要从**kwargs中提取关键字参数的值,并在函数内部进行处理。这样,我们可以根据函数的具体需求选择使用关键字参数,而不需要预先定义固定的参数列表。

举例二:

def shuchu(a,b,c="ccc",d="aaa"):
    print(c,d)

def ceshi(a,b,**kwargs):
    shuchu(a,b,**kwargs)

a =1
b = 2
c = 3
d = 4
ceshi(a,b,c=c,d=d)

结果:

3 4
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值