【发布时间】:2021-11-08 11:27:36
【问题描述】:
class Electronicdevice():
Devices = 100
class Pocketgadgets(Electronicdevice):
Pocketdevices = 40
class Phone(Pocketgadgets):
#Phones = Devices - Pocketdevices
pass
Samsung = Electronicdevice()
Galaxy = Pocketgadgets()
SamsungGalaxyS21 = Phone()
print(SamsungGalaxyS21.Devices)
在这种情况下,我得到预期的输出为 100,因为它继承了电子设备类的值。
但万一,我尝试执行以下操作,我收到错误“NameError: name 'Devices' is not defined”
class Electronicdevice():
Devices = 100
class Pocketgadgets(Electronicdevice):
Pocketdevices = 40
class Phone(Pocketgadgets):
Phones = Devices - Pocketdevices
pass
Samsung = Electronicdevice()
Galaxy = Pocketgadgets()
SamsungGalaxyS21 = Phone()
print(SamsungGalaxyS21.Phones)
期望得到值 60 作为输出。有人可以帮忙吗?
【问题讨论】:
-
Devices不在Phone的范围内,您必须使用Electronicdevice.Devices(或PocketGadgets.Devices)
标签: python oop inheritance