浅谈Python中的私有变量


Posted in Python onFebruary 28, 2018

私有变量表示方法

在变量前加上两个下划线的是私有变量。

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
Python 相关文章推荐
Python实现二分法算法实例
Feb 02 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
简单谈谈python中的语句和语法
Aug 10 Python
使用11行Python代码盗取了室友的U盘内容
Oct 23 Python
基于Python对数据shape的常见操作详解
Dec 25 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
用Pelican搭建一个极简静态博客系统过程解析
Aug 22 Python
python识别文字(基于tesseract)代码实例
Aug 24 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 Python
python+requests实现接口测试的完整步骤
Oct 27 Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Apr 04 Python
python中logging包的使用总结
Feb 28 #Python
深入理解Python爬虫代理池服务
Feb 28 #Python
python实现装饰器、描述符
Feb 28 #Python
python安装教程
Feb 28 #Python
深入理解Python 关于supper 的 用法和原理
Feb 28 #Python
TensorFlow实现RNN循环神经网络
Feb 28 #Python
python使用TensorFlow进行图像处理的方法
Feb 28 #Python
You might like
php arsort 数组降序排序详细介绍
2016/11/17 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
IE8 原生JSON支持
2009/04/13 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
jquery实现最简单的滑动菜单效果代码
2015/09/12 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
python实现图片插入文字
2019/11/26 Python
python 爬取疫情数据的源码
2020/02/09 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
python连接mongodb集群方法详解
2020/02/13 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
python实现人像动漫化的示例代码
2020/05/17 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
求职简历的自我评价怎样写好
2013/10/07 职场文书
管理学院毕业生自荐信范文
2014/03/10 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
幼儿园六一儿童节演讲稿
2015/03/19 职场文书
经济纠纷起诉状
2015/05/20 职场文书
2016领导干部廉洁自律心得体会
2016/01/13 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
redis中lua脚本使用教程
2021/11/01 Redis
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS
MySQL深分页问题解决思路
2022/12/24 MySQL