Python类的访问权限
时间: 2023-11-05 21:10:20 浏览: 67
在Python中,类的访问权限是通过属性名前的下划线来实现的。以下是Python中四种访问权限的示例:
1. 公共访问权限:没有下划线的属性名,可以从类的内部和外部访问。
```
class MyClass:
def __init__(self):
self.public_var = "I am public"
obj = MyClass()
print(obj.public_var) # 可以访问
```
2. 受保护的访问权限:单个下划线开头的属性名,可以在类的内部和子类中访问,但是不应该从外部访问。
```
class MyClass:
def __init__(self):
self._protected_var = "I am protected"
obj = MyClass()
print(obj._protected_var) # 可以访问,但不推荐
```
3. 私有访问权限:双下划线开头的属性名,只能在类的内部访问,外部无法访问。
```
class MyClass:
def __init__(self):
self.__private_var = "I am private"
obj = MyClass()
print(obj.__private_var) # 无法访问
```
4. 弱私有访问权限:双下划线开头,但结尾没有下划线的属性名,可以在类的内部和子类中访问,但是不应该从外部访问。
```
class MyClass:
def __init__(self):
self.__weak_private_var = "I am weak private"
obj = MyClass()
print(obj.__weak_private_var) # 无法访问
```