2010-12-02 10 views
1

私はPythonパッケージ(MySQLdb)で作業しています。 connectメソッドには多数の位置パラメータがあり、そのほとんどはデフォルトを持ちますが、いくつかは推測するのが容易ではありません。Pythonでデフォルトのパラメータを指定しない方法は?

どのようにして必要なパラメータのみを指定できますか?

すなわちconnectメソッドは次のシグネチャを持っている場合:

connect(username, password, socket, timeout) 

socketはシステム依存

かもしれデフォルト値は、それは、次のように私のようなもので、それを呼び出すことが可能であるました

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

答えて

5

これを試してみてください:

のデフォルト値が上書きされることはありません
connect(username='tom', password='passwd12', timeout=3) 

詳細については、Using Optional and Named Argumentsを参照してください。

+0

http://mysql-python.sourceforge.net/MySQLdb.html#mysqldbは、ほとんどの場合、キーワードのパラメータではないことを示唆しているようです。 – petraus

+0

@petraus:そのページを読んだ場合は、答えに掲載されています。 – SilentGhost

+0

リンクに感謝します。私は本を​​読むときにそれを逃しているに違いない。 – petraus

2

この場合、位置パラメータではなくキーワード引数を使用する方がよいでしょう。

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

明らかなように ははるかに少ない理解し

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

よりもあるのMySQLdb-pythonのソースがこの程度の接続言う:

「あなただけのキーワードパラメータを使用することを強くお勧めします。 "

関連する問題