python中拆包解包用法详解

命运对每个人都是一样的,不一样的是各自的努力和付出不同,付出的越多,努力的越多,得到的回报也越多,在你累的时候请看一下身边比你成功却还比你更努力的人,这样,你就会更有动力。

导读:本篇文章讲解 python中拆包解包用法详解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

python可以对元组和字典进行拆包或解包操作。

1、拆包:元组

示例代码1:

def return_num():
    return 100, 200


num1, num2 = return_num()
print(num1)  # 100
print(num2)  # 200

运行结果:

python中拆包解包用法详解

示例代码2:

def return_num1():
    return 100, 200


def return_num2():
    return 100, 200, 300


def return_num3():
    return 100, 200, 300, 400, 500


def func(num1, num2):
    print(num1, num2)


def func2(num1, num2, *args):
    print(num1, num2, args)


if __name__ == '__main__':
    func(*return_num1())
    # func(*return_num2())  # 报错:TypeError: func() takes 2 positional arguments but 3 were given
    func2(*return_num1())
    func2(*return_num2())
    func2(*return_num3())

运行结果:

python中拆包解包用法详解

2、拆包:字典

示例代码1:

dict1 = {'name': 'TOM', 'age': 18}
a, b = dict1

# 对字典进⾏拆包,取出来的是字典的key
print(a)  # name
print(b)  # age
print(dict1[a])  # TOM
print(dict1[b])  # 18

运行结果:

python中拆包解包用法详解

示例代码2:

dic = {'aa': 'AA', 'bb': 'BB'}
dic2 = {'aa': 'AA', 'bb': 'BB', 'cc': 'CC'}
dic3 = {'aa': 'AA'}


def func(aa, bb):
    print(aa, bb)


if __name__ == '__main__':
    func(**dic)
    # func(**dic2)  # 此时报错:TypeError: func() got an unexpected keyword argument 'cc'
    # func(**dic3)  # 此时报错:TypeError: func() missing 1 required positional argument: 'bb'

运行结果:

python中拆包解包用法详解

示例代码3:

dic = {'aa': 'AA', 'bb': 'BB'}
dic2 = {'aa': 'AA', 'bb': 'BB', 'cc': 'CC', 'dd': 'DD'}
dic3 = {'aa': 'AA'}


def func(aa, bb, **kwargs):
    print(aa, bb, kwargs)
    print(aa, bb, kwargs.get('cc'))


if __name__ == '__main__':
    func(**dic)
    func(**dic2)

运行结果:

python中拆包解包用法详解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142738.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!