Python+私有类属性
时间: 2024-02-06 15:03:34 浏览: 65
Python 类的私有属性和私有方法实例分析
Python中的私有类属性是指在类定义中使用双下划线(__)作为前缀的属性。私有类属性只能在类内部访问,无法在类外部直接访问或修改。
下面是一个示例代码,演示了如何定义和使用私有类属性:
```python
class MyClass:
__private_attr = 10
def get_private_attr(self):
return self.__private_attr
def set_private_attr(self, value):
self.__private_attr = value
obj = MyClass()
print(obj.get_private_attr()) # 输出:10
obj.set_private_attr(20)
print(obj.get_private_attr()) # 输出:20
```
在上面的代码中,`__private_attr` 是一个私有类属性。通过在类内部定义 getter 和 setter 方法,我们可以间接地访问和修改私有属性。
需要注意的是,Python中的私有属性并不是真正的私有,而是一种名称重整(name mangling)机制。在类定义中,Python会将双下划线开头的属性名进行重命名,以避免与子类中的同名属性冲突。重命名后的属性名为 `_ClassName__attribute`,所以在类内部可以通过这个重命名后的名称来访问私有属性。
阅读全文