2016-07-18 4 views
-1
def auto_detect_serial_unix(preferred_list=['*']): 

Что происходит с аргументом при вызове этой функции?Переменное назначение внутри аргумента функции

+0

Вам необходимо прочитать [учебник Python] (https://docs.python.org/3/tutorial/controlflow.html#default-argument-values). – BrenBarn

+0

Возможный дубликат [Значения по умолчанию для параметров функции в Python] (http://stackoverflow.com/questions/13195989/default-values-for-function-parameters-in-python) –

ответ

0

Если ничего не передано auto_detect_serial_unix, то preferred_list установлен в ['*']. В противном случае, то, что вы передаете установлен в preferred_list:

>>> def auto_detect_serial_unix(preferred_list=['*']): 
...  print preferred_list 
... 
>>> auto_detect_serial_unix() 
['*'] 
>>> auto_detect_serial_unix(['new', 'list']) 
['new', 'list'] 
>>> 
0

Если auto_detect_serial_unix вызывается с аргументом, то preferred_list будет иметь значение этого аргумента.

В противном случае, если auto_detect_serial_unix вызывается без аргументов, то preferred_list будет иметь заданное значение по умолчанию.

Смежные вопросы