Python 继承的类的输出
我在一次测验中遇到了这个问题,不明白为什么要将“BMW”打印为输出。两个类中的公司名称都是私有的,所以为什么一个可以访问,另一个不能访问。有人能解释一下总体输出背后的逻辑吗Python 继承的类的输出,python,inheritance,subclass,Python,Inheritance,Subclass,我在一次测验中遇到了这个问题,不明白为什么要将“BMW”打印为输出。两个类中的公司名称都是私有的,所以为什么一个可以访问,另一个不能访问。有人能解释一下总体输出背后的逻辑吗 class Bike: def __init__(self): self.__Company_name = "BMW" self.price = 2000 def details(self): print('Nam
class Bike:
def __init__(self):
self.__Company_name = "BMW"
self.price = 2000
def details(self):
print('Name: ',self.__Company_name,' Price: ',self.price)
class Car(Bike):
def __init__(self):
super().__init__()
self.__Company_name = "Audi"
self.price = 4000
obj = Car()
obj.details()
输出:
名称:宝马价格:4000
因为您使用的是双下划线名称mangling,所以在Bike.details
中使用的是self_自行车公司名称
。。。这就是双下划线名称混乱的要点,为了防止子脚本中的名称冲突,因为您使用的是双下划线名称混乱,所以在Bike.details
中使用self_自行车公司名称
。。。这就是双下划线名称混乱的全部要点,以防止子LSS中的名称冲突