定义一个公共属性和一个私有属性,调用类实例化对象时,在类外部如何访问私有属性,输出结果为:“18”,使用Python
时间: 2024-11-29 12:38:07 浏览: 11
举例讲解Python面相对象编程中对象的属性与类的方法
在Python中,尽管私有属性(通常以双下划线`__`开头)从名称上看起来不可见,但实际上它们仍然是类的属性。但是,直接通过类名去访问这些私有属性是不允许的,这是为了强制封装原则。如果你想在类的实例化后访问私有属性,可以提供一种方式让外界通过特定的方法或属性获取。
首先,我们可以定义一个包含公共属性(公有属性可以直接访问)和私有属性的类:
```python
class MyClass:
def __init__(self):
self.public_attribute = "Hello"
# 提供一个getter方法来间接访问私有属性
def get_private_attribute(self):
return self.__private_attribute
# 私有属性
__private_attribute = 18
```
然后,你可以这样创建类的实例并访问私有属性:
```python
obj = MyClass()
print(obj.get_private_attribute()) # 输出:18
```
在这个例子中,`get_private_attribute()`就是一个允许我们安全地访问私有属性的方式。
阅读全文