python3 __开头的对象能被继承吗
时间: 2023-03-13 13:28:40 浏览: 90
python支持多继承吗
对,__开头的对象可以被继承。这种对象被称为"私有"对象,因为它们的名称以双下划线开头。然而,在 Python 中,"私有"只是一种约定,并不会真正阻止其他代码继承或访问这些对象。只是 Python 会在名称前添加一些"后缀"来避免名称冲突,但是仍然可以通过"后缀"访问私有对象。
示例:
```
class MyClass:
def __init__(self):
self.__private_var = "I'm private"
obj = MyClass()
print(obj.__private_var) # 会抛出 AttributeError 异常
print(obj._MyClass__private_var) # 输出 "I'm private"
```
需要注意的是,尽管可以通过"后缀"访问私有对象,但是并不建议这样做,因为这会破坏封装性,导致代码变得不可维护。
阅读全文