我的代碼中有幾個檔案與資料庫對話
這可能看起來像這樣:
def addUser():
# some code
def verifyUser():
# some code
def addStuffToDB():
# some code
在上述所有內容中,我需要使用一個變數 - 讓我們稱之為db- 保存對資料庫的參考(而不是在每個函式中重新定義它)
我該怎么做?如何在一個或多個檔案中使用變數(在本例中db)
謝謝
uj5u.com熱心網友回復:
如果您在同一個檔案中擁有所有這些函式,則只需db在任何函式之外定義變數就足夠了(這將使其成為全域變數)。現在所有函式都可以看到db變數了。但是如果你db在函式內部改變它不會在函式外部改變。
如果你在另一個檔案中有這個變數,你可以像這樣簡單地匯入它
from file_name import db
uj5u.com熱心網友回復:
正如@ddejohn 所說,你應該將你的函式包裝在一個類中,這樣變數 self.db 就會有一個類范圍。
class DB():
def __init__(self) -> None:
self.db = "DB_connection or something..."
def addUser(self):
#Some code, acess db variable with self.db
def verifyUser(self):
#Some code, acess db variable with self.db
def addStuffToDB(self):
#Some code, acess db variable with self.db
MyDB = DB()
MyDB.addUser()
uj5u.com熱心網友回復:
感謝您提出問題。您需要在呼叫 funcs 時將 db 作為引數傳遞,如下所示
db = "some referenec"
def addUser(database):
## now you can use db
# some code
def verifyUser(database):
# some code
## now you can use db
def addStuffToDB(database):
# some code
## now you can use db
## while calling each func pass db as argument like this
addUser(db)
verifyUser(db)
addStuffToDB(db)
uj5u.com熱心網友回復:
向你的函式添加一個資料庫引數:
控制器.py:
def addUser(db): # some code
obj.add(db)
def verifyUser(db): # some code
obj.verify(db)
def addStuffToDB(db): # some code
obj.add_stuff(db)
然后,您可以按如下方式使用:
查看.py
import db
from controller import addUser
addUser(db)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/340366.html
