2016-03-02 31 views
1

該帖子的標題說明了一切。sqlite3.connection .__ init__方法記錄在哪裏?


AFAICT,既不the fine manual也不Python DB API說,在所有約任何東西,或屬於,sqlite3.connection.__init__如果我錯了,請糾正我!

(我覺得很莫名其妙,該文檔在這樣一個大洞可能作爲長期堅持的了。)

此外,AFAICT這種方法是不是用Python實現,所以瞭解一下Python它的源代碼不是一種選擇。

最後,

In [2]: import inspect 

In [3]: inspect.getmro(sqlite3.Connection) 
Out[3]: (sqlite3.Connection, object) 

督察,類的父類(object)闡明瞭這個問題不輕。

+1

連接是否應該手動構建?通常他們是從其他地方返回預製的,不是嗎? – Cameron

+0

從手冊中的第一個例子:'conn = sqlite3.connect('example.db')' –

+0

@JohnGordon:如果您認爲examples = documentation,那麼我們就*文件「的意思。更何況我正在問'sqlite3.connection .__ init__',而不是'sqlite3.connect'。如果兩者是相關的,事實並不是不言而喻的,需要記錄下來。 – kjo

回答

1

不要手動創建連接對象。改爲使用sqlite3.connect。方法本身應該被認爲是一個實現細節,而不是直接使用的東西。

+0

該文檔[明確地說](https://docs.python.org/2/library/sqlite3.html#sqlite3.connect)(或者更確切地說,咕嚕聲不一致的效果),如果你想修改' sqlite3.connect'完成後,應該繼承'sqlite3.Connection'並使用它。爲了子類'sqlite3.Connection',我需要知道'sqlite3.Connection .__ init__'的簽名。 – kjo

+0

當然,如果你打算繼承子類,文檔可能會更好(它幾乎總是可以),當然,查看你的子類的源代碼是個好主意嗎? – Cameron