python私有变量
时间: 2023-08-15 19:13:52 浏览: 152
Python中的私有变量是通过在变量名前添加双下划线(__)来实现的。私有变量只能在类的内部访问,无法从类的外部直接访问。
例如,以下是一个使用私有变量的示例:
```python
class MyClass:
def __init__(self):
self.__private_var = 10 # 私有变量
def __private_method(self):
print("这是一个私有方法")
def public_method(self):
print("这是一个公有方法")
self.__private_method() # 在公有方法中可以访问私有方法和私有变量
obj = MyClass()
obj.public_method()
```
在上面的例子中,`__private_var`是一个私有变量,只能在类的内部访问。`__private_method()`是一个私有方法,只能在类的内部调用。而`public_method()`是一个公有方法,可以从类的外部访问和调用。
请注意,Python中的私有变量和私有方法仅仅是一种约定,并不会真正地阻止外部访问。通过一些特殊的方式,仍然可以从外部访问私有成员,但这是不推荐的做法。
相关问题
python 私有变量
Python 中的私有变量是指以双下划线开头但不以双下划线结尾的变量,例如:`__private_var`。这种变量只能在类内部访问,外部无法直接访问。但是,可以通过特殊的方式访问私有变量,即 `_类名__私有变量名` 的方式。
例如:
```python
class MyClass:
def __init__(self):
self.__private_var = 10
obj = MyClass()
print(obj._MyClass__private_var) # 输出 10
```
python私有变量类外部访问
Python中的私有变量是指在变量名前加上双下划线"__"的变量,例如"__name"。私有变量只能在类内部访问,外部无法访问。
如果想要在类外部访问私有变量,可以使用"_"加类名加私有变量名的方式来访问。例如:
```python
class Person:
def __init__(self, name):
self.__name = name # 私有变量
p = Person("Tom")
print(p._Person__name) # 类外部访问私有变量
```
但是,不建议在类外部直接访问私有变量,因为这样会破坏封装性,不利于代码的维护和升级。应该在类内部提供公共方法来访问和修改私有变量。例如:
```python
class Person:
def __init__(self, name):
self.__name = name # 私有变量
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
p = Person("Tom")
print(p.get_name()) # 类外部访问私有变量
p.set_name("Jerry") # 类外部修改私有变量
print(p.get_name()) # 类外部访问私有变量
```
阅读全文