是个对象,为什么没执行init函数?

class main ():
w=3
def init(self):
k=5
if name=='main' :
main()

请教一下,上面代码的执行项main()明明是一个对象,为什么main().k 变量不存在?这意味着init函数没有执行?这是为什么?

你要么把k写到init外面,那么它是个静态成员
要么写self.k=5,那么它是实例成员
你直接在函数里写k=5,那么它是个局部变量

给的代码不全,执行不了,可能是你写的init方法有问题,有两个英文的下划线__init__


class main ():
    w=3
    ## 是 __init__ 方法,不是 init
    def __init__(self):
        self.k=5   #定义构造函数变量

if __name__ == '__main__':
    obj = main()
    print(obj.k)