浅谈Python中的私有变量
作者:在路上的咸鱼 时间:2023-07-21 17:59:46
私有变量表示方法
在变量前加上两个下划线的是私有变量。
class Teacher():
def __init__(self,name,level):
self.__name=name
self.__level=level
#获取老师的等级
def get_level(self):
return self.__level
#获取名字
def get_in_name(self):
return self.__name
动态方法无法读取私有变量
即使是动态方法也无法读取私有变量,强行读取会报错。
#定义动态方法
def get_name(self):
return self.__name
#动态方法赋值
Teacher.get_name=get_name
t=Teacher("GG",5)
print("level is: ",t.get_level()) #可行
print("name is",t.get_name()) #报错,显示没有该属性
动态方法无法修改私有变量
动态方法也无法修改私有变量,强行修改不会报错,但是没有效果。
t.set_name("NN") #实际没有效果但是不报错
print(t.get_in_name()) #类内部获取名字,输出GG
强行读取和修改私有变量
那么强行要读取和改变私有变量怎么办呢?
有一个不推荐但是可行的办法:
私有属性在对象内部被名字是”类名_属性名”。
在这个例子里,是这样的:
print("name is",t._Teacher__name) #输出GG
t._Teacher__name="AA" #被改变了
print("name is",t._Teacher__name) #输出AA
来源:http://blog.csdn.net/sinat_26114733/article/details/79391971
标签:Python,私有变量
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
SQL Server 2005如何设置多字段做关键字
2009-01-08 15:57:00
Python中赋值的含义及说明
2023-01-05 23:11:38
![](https://img.aspxhome.com/file/2023/4/120574_0s.png)
Python数据分析入门之教你怎么搭建环境
2023-03-15 12:21:11
![](https://img.aspxhome.com/file/2023/3/115833_0s.png)
Python设置默认编码为utf8的方法
2023-09-23 16:08:34
Python 分形算法代码详解
2023-05-28 04:18:51
![](https://img.aspxhome.com/file/2023/8/128338_0s.jpg)
详解如何使用nvm管理Node.js多版本
2024-05-09 14:49:21
pydantic-resolve嵌套数据结构生成LoaderDepend管理contextvars
2023-01-12 22:21:05
![](https://img.aspxhome.com/file/2023/7/103517_0s.jpg)
python 的numpy库中的mean()函数用法介绍
2021-12-19 16:22:37
pycharm sciview的图片另存为操作
2022-09-26 08:03:07
![](https://img.aspxhome.com/file/2023/6/79606_0s.jpg)
git push时卡住的解决方法(长时间不报错也不自动退出)
2022-05-08 04:40:00
![](https://img.aspxhome.com/file/2023/2/132342_0s.png)
python3+PyQt5实现自定义分数滑块部件
2023-08-03 02:15:28
![](https://img.aspxhome.com/file/2023/5/67255_0s.jpg)
通过实例学习Python Excel操作
2021-01-21 21:55:12
![](https://img.aspxhome.com/file/2023/2/78782_0s.png)
细化解析:SQL Server数据库的集群设计
2009-02-05 15:59:00
SqlServer获取存储过程返回值的实例
2024-01-21 00:53:35
Python生成随机验证码的两种方法
2022-06-27 02:39:56
python基于windows平台锁定键盘输入的方法
2021-01-03 07:46:03
如何实现Django Rest framework版本控制
2022-10-30 02:29:19
![](https://img.aspxhome.com/file/2023/8/89288_0s.png)
SQL Server 查询分析器快捷键集合
2007-08-17 09:42:00
利用 Python 实现多任务进程
2023-12-19 02:53:52
![](https://img.aspxhome.com/file/2023/2/93882_0s.png)
JavaScript实现简单随机点名器
2024-04-10 16:18:39
![](https://img.aspxhome.com/file/2023/2/136712_0s.gif)