具名元组和字典作为函数的参数

文章探讨了具名元组在作为函数参数时的传递机制。尽管可以按属性名称访问具名元组的元素,但在参数传递中,具名元组仍遵循位置传递的原则。示例展示了*item_1解包时按位置赋值,而**para_1则按关键字传递。
摘要由CSDN通过智能技术生成

问题1:具名元组作为函数的参数是按位置传递还是关键字传递?

虽然具名元组能通过属性名称获取变量,但本质还是元组,作为参数传递的时候是以位置信息为准的。

定义验证函数

def func_in_tuple(id,comp_name,publish_time):
    print('id',id,end='')
    print(' comp_name',comp_name,end='')
    print(' publish_time',publish_time)

调用函数

DetailItem = collections.namedtuple('DetailItem', ('id', 'publish_time', 'comp_name',))
para_1= {'id':'1','publish_time':'2','comp_name':'3'}
item_1 = DetailItem('1','2','3')
func_in_tuple(*item_1)

运行结果:id 1 comp_name 2 publish_time 3

从结果可以看出*item_1解包的时候是按位置解包赋值的,要是想传递关键字参数还是要用字典处理。

para_1= {'id':'1','publish_time':'2','comp_name':'3'}
func_in_tuple(**para_1)

运行结果:id 1 comp_name 3 publish_time 2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值