python—函数传参之拆包

在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

导读:本篇文章讲解 python—函数传参之拆包,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

Python拆包:就是把元组或字典中的数据单独的拆分出来,然后赋予给其他的变量。
拆包: 对于函数中的多个返回数据, 去掉元组, 列表 或者字典直接获取里面数据的过程。

一、元组拆包

案例1:

def nba_teams(team1,team2):
    print(team1)
    print(team2)

teams=('lakers','nets')
nba_teams(*teams)

结果

lakers
nets

案例2:

def nba_teams(team1,team2):
    print(team1)
    print(team2)

teams=('lakers','nets','suns','75ers')
nba_teams(*teams)

报错结果:元组拆包后的位置参数要和形式参数一一对应。

TypeError: nba_teams() takes 2 positional arguments but 4 were given

但是如果要拆多个包时:用不定长参数
案例3:

def nba_teams(*team):
    print(team)


teams=['lakers','nets','suns','75ers']
nba_teams(*teams)

结果

('lakers', 'nets', 'suns', '75ers')

二、列表拆包(和元组拆包过程一致)

案例4:

def nba_teams(team1,team2):
    print(team1)
    print(team2)

teams=['lakers','nets']

nba_teams(*teams)

结果

lakers
nets

三、字典拆包

字典拆包:相当于把外面的 {} 丢了,再把冒号变为等号,就变成了关键字参数了(‘player1’=‘butler’,‘player2’=‘durant’,‘player3’=‘james’)
案例5

def nba_player(player1,player2,player3):
    print(player1)
    print(player2)
    print(player3)

players={'player1':'butler','player2':'durant','player3':'james'}
nba_player(**players)

结果

butler
durent
james

案例6

def nba_player(**player):
    print(player)

players={'player1':'butler','player2':'durent','player3':'james'}
nba_player(**players)

结果

{'player1': 'butler', 'player2': 'durent', 'player3': 'james'}

字典拆包:会拆成关键字参数
列表和元组拆包,是拆成位置参数。

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

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

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

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