我對Python提出這個問題,雖然它可能適用於大多數OOP語言。爲「只有一個實例」創建一個Python類?
當我只希望在任何程序中使用的數據模型,只有一次,我可能要麼使帶班/靜態方法的類和屬性,或者只是做一個普通的類,一旦實例並只使用一個副本。在這種情況下,哪種方法更好,爲什麼?
使用python,我也可以編寫一個模塊並像使用類一樣使用它。在這種情況下,哪種方式更好,爲什麼?
例如:我想有一箇中央數據結構來訪問/保存數據到文件。
模塊方式:
data.py
attributes = something
...
def save():
...
main.py
import data
data.x = something
...
data.save()
類的方法:
class Data:
attributes = something
@classmethod
def save(cls):
Data.x = something
Data.save()
實例方式
class Data:
def save(self):
data = Data()
data.x = something
data.save()
爲什麼downvote?這是一個合法的編程問題。 – darkfeline 2012-07-26 05:59:00
單身python的搜索stackoverflow – warvariuc 2012-07-26 06:13:30
修改後的問題好多了。我認爲目前沒有關閉(除了重複)。 – 2012-07-26 06:20:53