python定义私有属性
时间: 2023-07-10 17:40:14 浏览: 71
在 Python 中,可以通过在属性名前添加两个下划线 __ 来定义一个私有属性。私有属性只能在类的内部访问,外部无法直接访问。
以下是一个例子:
```python
class MyClass:
def __init__(self):
self.__private_attr = 10 # 定义私有属性
def get_private_attr(self):
return self.__private_attr # 定义获取私有属性的方法
def set_private_attr(self, value):
self.__private_attr = value # 定义设置私有属性的方法
c = MyClass()
print(c.get_private_attr()) # 输出 10
c.set_private_attr(20)
print(c.get_private_attr()) # 输出 20
print(c.__private_attr) # AttributeError: 'MyClass' object has no attribute '__private_attr'
```
在上面的例子中,我们定义了一个名为 `MyClass` 的类,其中有一个私有属性 `__private_attr`,它只能在类的内部访问,外部无法直接访问。为了在外部获取和设置这个私有属性,我们定义了 `get_private_attr` 和 `set_private_attr` 两个方法来实现。在使用时,我们可以通过这两个方法来获取和设置私有属性的值,而不能直接访问私有属性。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)