练习私有成员定义以及访问方式Python
时间: 2024-10-09 16:06:43 浏览: 15
在Python中,私有成员是指那些前缀以单下划线 "_" 的属性或方法,它们被认为是"私有的",即仅在类内部可见。这种命名约定表明开发者不打算直接从类外部访问这些成员,而是通过提供公共接口(公共方法)来间接控制。
定义私有成员的方式如下:
```python
class MyClass:
def __init__(self):
self._private_variable = "This is private"
# 这里的 _private_method 是私有方法,外部无法直接调用
def _private_method(self):
print("This method should not be called directly")
# 只能通过实例对象来访问私有变量
my_instance = MyClass()
print(my_instance._private_variable) # 直接访问会报错,因为通常不会这样做
# 私有方法也不能直接调用
# my_instance._private_method() # 类似于此,会抛出AttributeError
```
要访问私有成员,通常是提供公共方法(也称为getter或setter),允许控制对私有数据的操作:
```python
class MyClass:
def get_private_variable(self):
return self._private_variable
def set_private_variable(self, new_value):
self._private_variable = new_value
my_instance = MyClass()
my_instance.set_private_variable("New value")
print(my_instance.get_private_variable()) # 正确地通过公共方法访问私有变量
```
阅读全文