Python类初始化函数

Python类初始化函数,python,class,Python,Class,当我用python初始化一个类时,它只被调用一次吗?例如,如果我在init区域中编写if语句 class hi(): def __init__(): # bla bla bla 它只循环一次吗?\uuuuu init\uuuuuu是类的构造函数。对于您创建的类的每个实例,它都会被调用一次 class A(object): def __init__(self): print('__init__ called') a1 = A() # print

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

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

它只循环一次吗?

\uuuuu init\uuuuuu
是类的构造函数。对于您创建的类的每个实例,它都会被调用一次

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

init函数理想情况下用于以python的oops样式声明变量

def classA:
        def __init__(self):
           self.somevariable = somevalue 

def classB:
        def __init__(self):
            #again declare some variables
如果使用classB,则可以同时使用classA和classB的变量。然而,如果类B中没有init,那么只使用类A的init。
至于你的问题,我想说它可以再次运行。我想你所说的循环是指它是否可以再次使用

\uuuu init\uuuu
仅在每次实例化类时调用一次。我已经说过,你的问题并不完全清楚。if语句在任何条件下都不会循环。对不起,我的问题模棱两可。无论如何,谢谢你。