class SimpleTestCase(object):
def __init__(self, name):
self.name = name
self.SP = SP
def __somemethod(self):
# do something
class Test(object):
def __init__(self, name ):
self.name = name
self.case = SimpleWidgetTestCase
有什么理由可以吗
self.case = SimpleTestCase
而不是
simple_obj = SimpleTestCase("name")
通过创建对象,可以访问类方法和变量。前者是否等同于后者?
答案 0 :(得分:1)
有没有理由这样做
self.case = SimpleTestCase
是的,有理由。有时候,人们希望在不创建实例的情况下存储类型。
创建实例可能很昂贵,例如__init__
执行打开数据库连接,读取大文件等操作。
不,前者不等于后者。 在前者中,您为变量指定了一个类型。在后者你做一个实例。通过创建对象,可以访问类方法和变量。前者是否等同于后者?
请参阅此链接了解difference between staticmethod and classmethod in python