选择并说明理由:定义一个类的“私有”方法,Python的惯例是使用(______)开始方法的名称。 A、"private“ B、两个下划线(__) C、 井号 D、减号(-)
时间: 2024-02-10 16:08:31 浏览: 72
实例讲解Python中的私有属性
B、两个下划线(__)。
在Python中,使用两个下划线(__)作为方法名的前缀可以将方法定义为“私有”方法。私有方法只能在类的内部访问,不能从外部访问。这是一种封装的技术,可以将类的实现细节隐藏起来,只暴露出公共接口。例如:
```python
class MyClass:
def __init__(self):
self.__value = 42
def __my_private_method(self):
print("This is a private method!")
def my_public_method(self):
print(f"The value is {self.__value}")
self.__my_private_method()
my_object = MyClass()
my_object.my_public_method() # 输出 "The value is 42" 和 "This is a private method!"
my_object.__my_private_method() # 抛出 AttributeError 异常,因为该方法是私有方法,不能从外部访问
```
在上面的代码中,`MyClass`定义了一个实例变量`__value`和一个私有方法`__my_private_method()`,使用两个下划线作为方法名的前缀将其定义为私有方法。然后,在`my_public_method()`方法中,使用`self.__value`的方式来访问私有变量`__value`的值,使用`self.__my_private_method()`的方式来调用私有方法`__my_private_method()`。最后,创建`MyClass`的实例`my_object`,并调用`my_public_method()`方法,输出"The value is 42" 和 "This is a private method!"。注意,如果尝试从外部访问私有方法`__my_private_method()`,会抛出`AttributeError`异常。
阅读全文