|
|||||||
Unpacking Argument Lists
Время создания: 29.07.2017 08:42
Текстовые метки: knowledge
Раздел: Python - Python 3 version features
Запись: xintrea/mytetra_db_mcold/master/base/1501306921zz64rzdtkt/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
The reverse situation occurs when the arguments are already in a list or tuple but need to be unpacked for a function call requiring separate positional arguments. For instance, the built-in range() function expects separate start and stop arguments. If they are not available separately, write the function call with the *-operator to unpack the arguments out of a list or tuple: >>> >>> 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]
In the same fashion, dictionaries can deliver keyword arguments with the **-operator: >>> >>> def parrot(voltage, state='a stiff', action='voom'): ... print("-- This parrot wouldn't", action, end=' ') ... print("if you put", voltage, "volts through it.", end=' ') ... 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 ! |
|||||||
|
|||||||
|