学无止境
我们为梦想前行!

深入 Python 函数定义参数列表的分拆

深入 Python 函数定义参数列表的分拆。

另有一种相反的情况: 当你要传递的参数已经是一个列表,但要调用的函数却接受分开一个个的参数值。这时候你要把已有的列表拆开来。例如内建函数 range() 需要独立的 start ,stop 参数。 你可以在调用函数时加一个 * 操作符来自动把参数列表拆开:

list(range(3, 6)) # normal call with separate arguments
[3, 4, 5]
args = [3, 6]
list(range(*args)) # call with arguments unpacked from a list
[3, 4, 5]
以同样的方式,可以使用 ** 操作符分拆关键字参数为字典:

def parrot(voltage, state=’a stiff’, action=’voom’):
… print “– This parrot wouldn’t”, action,
… print “if you put”, voltage, “volts through it.”,
… print “E’s”, state, “!”

d = {“voltage”: “four million”, “state”: “bleedin’ demised”, “action”: “VOOM”}
parrot(**d)
— This parrot wouldn’t VOOM if you put four million volts through it. E’s bleedin’ demised !

赞(0)
转载请注明出处链接:Pycharm » 深入 Python 函数定义参数列表的分拆

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址