python中为什么这样能够运行成功呀

为什么这样能运行成功呀?
请问为什么这样能运行成功呀,都把这个Battery给注释掉了,还能运行成功

img

题主只是派生了一个ElectricCar类,虽然在其构造函数中使用了未定义的Battery,但没有实例化这个类,因此这段代码并未真正执行。对于Python解释器来说,函数或类的定义,并非执行代码。比如下面的代码,定义函数时不会报错,调用函数时就会弹出异常。

>>> def haha():
    return Battery()

>>> b = haha()
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    b = haha()
  File "<pyshell#2>", line 2, in haha
    return Battery()
NameError: name 'Battery' is not defined

这应该是跟idea有关系。你在这个项目里面包装了这个依赖包,或者是同目录下有相应的类文件时,你没有写import xx,在你运行时,会自动给你填充上import。你可以刷新下看下。或者说你的car类里面有battery类

这个和你的集成环境有关,你加载过的包它不会立马回收掉。