浅谈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 相关文章推荐
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 Python
Python中使用SAX解析xml实例
Nov 21 Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 Python
使用python调用zxing库生成二维码图片详解
Jan 10 Python
Flask框架响应、调度方法和蓝图操作实例分析
Jul 24 Python
python批量修改图片后缀的方法(png到jpg)
Oct 25 Python
nohup后台启动Python脚本,log不刷新的解决方法
Jan 14 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
Aug 13 Python
Python通过socketserver处理多个链接
Mar 18 Python
TensorFlow保存TensorBoard图像操作
Jun 23 Python
Python Request类源码实现方法及原理解析
Aug 17 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
天津市收音机工业发展史
2021/03/04 无线电
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
PHP面向接口编程 耦合设计模式 简单范例
2011/03/23 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
php绘制一个矩形的方法
2015/01/24 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
JavaScript Array扩展实现代码
2009/10/14 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
Python地图绘制实操详解
2019/03/04 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
英国最大的奢侈品零售网络商城:Flannels
2016/09/16 全球购物
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
讲文明树新风演讲稿
2014/05/12 职场文书
大学生毕业评语
2014/12/31 职场文书
国庆庆典邀请函
2015/02/02 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
劳动仲裁调解书
2015/05/20 职场文书
庆七一主持词
2015/06/29 职场文书
详解如何修改nginx的默认端口
2021/03/31 Servers
MySQL创建表操作命令分享
2022/03/25 MySQL