def auto_detect_serial_unix(preferred_list=['*']):
Что происходит с аргументом при вызове этой функции?Переменное назначение внутри аргумента функции
def auto_detect_serial_unix(preferred_list=['*']):
Что происходит с аргументом при вызове этой функции?Переменное назначение внутри аргумента функции
Если ничего не передано 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']
>>>
Если auto_detect_serial_unix
вызывается с аргументом, то preferred_list
будет иметь значение этого аргумента.
В противном случае, если auto_detect_serial_unix
вызывается без аргументов, то preferred_list
будет иметь заданное значение по умолчанию.
Вам необходимо прочитать [учебник Python] (https://docs.python.org/3/tutorial/controlflow.html#default-argument-values). – BrenBarn
Возможный дубликат [Значения по умолчанию для параметров функции в Python] (http://stackoverflow.com/questions/13195989/default-values-for-function-parameters-in-python) –