我有簡單的類來從數據庫中獲取查詢。在不調用python中的構造函數的情況下使用類
# myClass.py
class DB:
def __init__ (self, host, user, password):
self.conn = MySQLdb.connect("localhost","****","****","***")
self.conn.set_character_set('utf8mb4')
cursor = self.conn.cursor()
cursor.execute('SET NAMES utf8mb4;')
cursor.execute('SET CHARACTER SET utf8mb4;')
cursor.execute('SET character_set_connection=utf8mb4;')
def query(self, q):
cursor = self.conn.cursor()
cursor.execute(q)
return cursor
如果我使用下面的查詢與它工作正常,
from myClass import DB
q = DB("..", "..", "..", "..")
_fetch = q.query("... ")
但是如果我想擺脫的第二行,因爲我聲明用戶,傳球,主機.. MyClass中的.py
所以,當我嘗試
from myClass import DB
_fetch = DB.query("... ")
它不會允許我連接,即使我刪除self,
關鍵字查詢
相同http://stackoverflow.com/questions/7396092/is-there-a-static-constructor-or-static-initializer-in-python只需在課堂級別調用方法 –
使用'@ classmethod'裝飾器進行研究。 –
那麼,爲什麼不只是刪除參數,並使用DB()。query()'?或者創建一個classmethod,並在那個classmethod中創建實例。 –