当我在python中初始化一个类时,它只被调用一次吗?例如,如果我在init区域中编写if语句。
class hi():
def __init__():
# bla bla bla
它只循环一次吗?
答案 0 :(得分:1)
__init__
是该类的构造函数。它为您创建的类的每个实例调用一次。
class A(object):
def __init__(self):
print('__init__ called')
a1 = A() # prints: __init__ called
a2 = A() # prints: __init__ called
顺便说一句,这不是特定于pygame的东西,而是一般的python。
构造函数始终至少使用一个参数:self
。它可能需要额外的论据。 self
是正在构造的实例,您可以在构造函数中编写它的初始化。
class A(object):
def __init__(self, value):
self.value = value
a1 = A(17)
print (a1.value) # prints: 17
答案 1 :(得分:1)
init函数理想地用于以oops风格声明python变量。
def classA:
def __init__(self):
self.somevariable = somevalue
def classB:
def __init__(self):
#again declare some variables
如果使用classB,则可以同时使用classA和classB的变量。但是,如果classB中没有init,则仅使用classA的init。 至于您的问题,我会说它可以再次运行。我认为通过循环意味着您可以再次使用它。