我对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