Python: вызов конструктора из словаря? - PullRequest
4 голосов
/ 18 мая 2010

Я не совсем уверен в терминологии, поэтому, пожалуйста, потерпите меня ...

Допустим, у меня есть вызов конструктора, подобный этому:

machineSpecificEnvironment = Environment(
   TI_C28_ROOT = 'C:/appl/ti/ccs/4.1.1/ccsv4/tools/compiler/c2000',
   JSDB = 'c:/bin/jsdb/jsdb.exe',
   PYTHON_PATH = 'c:/appl/python/2.6.4',
)

за исключением того, что я хотел бы заменить это операцией над предоставленным мне словарем:

keys = {'TI_C28_ROOT': 'C:/appl/ti/ccs/4.1.1/ccsv4/tools/compiler/c2000',
        'JSDB': 'c:/bin/jsdb/jsdb.exe',
        'PYTHON_PATH': 'c:/appl/python/2.6.4'}
machineSpecificEnvironment = Environment(
     ... what do I put here? it needs to be a function of "keys" ...
)

Как я могу это сделать?

Ответы [ 2 ]

5 голосов
/ 18 мая 2010
machineSpecificEnvironment = Environment(**keys)
3 голосов
/ 18 мая 2010

Вы можете применить dict как список аргументов с помощью ** обозначения

machineSpecificEnvironment = Environment(**keys)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...