Python类中__init__构造方法未执行的原因咨询
为什么Python类的__init__构造方法没执行?
嘿,这个问题其实挺典型的——你不小心踩了Python大小写敏感的坑啦!
你看,Python里的构造方法必须是__init__(注意是全小写的init,前后各两个下划线),但你定义的是__Init__(大写的I)。Python对标识符的大小写是严格区分的,所以这个__Init__只是你自定义的一个普通方法,并不是Python会自动调用的构造函数。
当你执行tuntun = Tuna()实例化对象时,Python会自动去找类里的__init__方法,找不到的话就默认调用父类的空构造方法,自然不会执行你写的那个__Init__里的打印语句。
咱们把代码修正一下:
class Tuna: def __init__(self): # 这里改成全小写的init print('birdie') def swim(self): print('swimming') tuntun = Tuna() tuntun.swim()
现在运行就能看到预期的输出:
birdie swimming
这样构造方法就正常执行啦!
内容的提问来源于stack exchange,提问作者f ff
相关产品推荐
相关产品推荐

