Как не указывать параметры по умолчанию в python? - PullRequest
1 голос
/ 02 декабря 2010

Я работаю с пакетом Python (MySQLdb). Метод connect имеет множество позиционных параметров, большинство из которых имеют значения по умолчанию, но некоторые из них нелегко вывести.

Как мне указать только те параметры, которые я хочу?

т.е. если метод подключения имеет следующую подпись:

connect(username, password, socket, timeout)

и socket имеет значение по умолчанию, которое может зависеть от системы

можно ли вызвать его с помощью чего-то вроде следующего, чтобы я не перезаписывал значение по умолчанию для socket:

connect('tom', 'passwd12', , 3)

Ответы [ 3 ]

5 голосов
/ 02 декабря 2010

Попробуйте:

connect(username='tom', password='passwd12', timeout=3)

Для получения дополнительной информации см. Использование необязательных и именованных аргументов .

2 голосов
/ 02 декабря 2010

В этом случае лучше использовать ключевые аргументы, а не позиционные параметры. Как очевидно

connect ('tom', 'passwd12, None, 3)

гораздо менее понятно, чем

connect (username = 'tom',
         password = 'passwd12',
         timeout = 3)
1 голос
/ 02 декабря 2010

источник MySQLdb-python говорит о подключении:

"Настоятельно рекомендуется использовать только ключевые параметры."

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