【发布时间】:2015-09-30 21:09:34
【问题描述】:
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")
通过创建对象可以访问类方法和变量。前者等同于后者吗?
【问题讨论】:
-
目前还不清楚您认为
simple_obj = SimpleTestCase()会如何取代self.case = SimpleWidgetTestCase。 Python 中的类与几乎所有其他东西一样,是一流的对象,它们可以像其他任何东西一样被传递并分配给名称/属性。 -
它们不是等价的......有时一个类可能需要某些条件才能被实例化,这些条件可能要到程序执行的后期才会出现
-
您定义了一个接受参数的
__init__,但在调用SimpleTestCase()时没有提供任何参数。