如何在python中不指定默认参数?

时间:2010-12-02 11:53:51

标签: python function syntax

我正在使用python包(MySQLdb)。 connect方法有很多位置参数,大多数都有默认值,但有些参数不易推断。

我怎样才能指定我想要的参数?

即。如果connect方法具有以下签名:

connect(username, password, socket, timeout)

socket的默认值可能与系统有关

是否可以使用以下内容调用它,因此我不会覆盖socket的默认值:

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

3 个答案:

答案 0 :(得分:5)

试试这个:

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

有关详细信息,请参阅Using Optional and Named Arguments

答案 1 :(得分:2)

在这种情况下,最好使用关键字参数而不是位置参数。 很明显

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

更难理解
connect (username = 'tom',
         password = 'passwd12',
         timeout = 3)

答案 2 :(得分:1)

MySQLdb-python源代码说这是关于connect:

“强烈建议您仅使用关键字参数。”