Python类init函数

时间:2016-09-26 23:31:50

标签: python class

当我在python中初始化一个类时,它只被调用一次吗?例如,如果我在init区域中编写if语句。

class hi():
    def __init__():
        # bla bla bla

它只循环一次吗?

2 个答案:

答案 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。 至于您的问题,我会说它可以再次运行。我认为通过循环意味着您可以再次使用它。