小小小菜菜菜 发表于 2020-5-11 23:03:23

为什么构造方法可以调用其他方法?

代码示例如下:
class Template:
    def __init__(self):
      self.sum = self.run(12)
   def run(self,sz):
      return sum(range(sz))
其中按照教程中构造方法__init__先声明,此时没有声明到run方法,为什么构造方法里可以直接调用其他的普通方法?

永恒的蓝色梦想 发表于 2020-5-11 23:08:45

为什么不能?
Python 是运行时检查,运行时定义了就可以了

hrp 发表于 2020-5-11 23:45:23

你最好打上所有断点观察它是怎么运行的,你会明白的

Twilight6 发表于 2020-5-12 07:57:34

没有为什么呀...而且有写方法还是私有方法,就是类对象里面自己能调用,而外部不行调用,比如把你的run前面多加两下划线,run就变成私有方法了,只能由内部调用,外部不能调用

Stubborn 发表于 2020-5-12 09:41:34

__init__是声明属性,但是不包括声明,类成员和类方法
页: [1]
查看完整版本: 为什么构造方法可以调用其他方法?