浅谈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使用smtplib模块通过gmail实现邮件发送的方法
May 08 Python
Python实现针对给定字符串寻找最长非重复子串的方法
Apr 21 Python
Django model select的多种用法详解
Jul 16 Python
Python 转换RGB颜色值的示例代码
Oct 13 Python
TensorFlow 读取CSV数据的实例
Feb 05 Python
python中sys模块是做什么用的
Aug 16 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 Python
python 实现客户端与服务端的通信
Dec 23 Python
python中Tkinter 窗口之输入框和文本框的实现
Apr 12 Python
Python 如何将integer转化为罗马数(3999以内)
Jun 05 Python
Python实现位图分割的效果
Nov 20 Python
5道关于python基础 while循环练习题
Nov 27 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 ftp文件上传函数(基础版)
2010/06/03 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
使用dump函数,给php加断点测试
2013/06/25 PHP
10个php函数实用却不常见
2015/10/13 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
2012/04/12 Javascript
JS常用函数使用指南
2014/11/23 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
python随机生成指定长度密码的方法
2015/04/04 Python
Python图算法实例分析
2016/08/13 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
python 把列表转化为字符串的方法
2018/10/23 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
《画风》教学反思
2014/04/16 职场文书
学习雷锋月活动总结
2014/07/03 职场文书
英语通知范文
2015/04/22 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书