浅谈Python中的私有变量
作者:在路上的咸鱼 发布时间:2023-07-21 17:59:46
标签:Python,私有变量
私有变量表示方法
在变量前加上两个下划线的是私有变量。
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
0
投稿
猜你喜欢
- 适用环境: PHP5.2.x / mysql 5.0.xclass Mysql { priva
- QZONE平台的相册功能为保证加载速度一直以来以简洁的图片排列查看模式呈现相片,随着市场上各类相册产品推陈出新,用户越来越强烈的要求个人相册
- 在编写 XMLHttpRequest 请求时,需要掌握服务器端返回的内容。针对 Firefox 浏览器,我们常用的 Firebug 就能非常
- --语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --
- 本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据
- 如何在Typescript中使用for...in ?本人在TS中用for...in出现了些问题,也想到了一些解决方法。那么先来看看下面报错的
- 【ThinkPHP版本查询】dump(THINK_VERSION);模板获取get参数{$Think.get.pageNumber}或者$R
- 刚刚登甲发来一个文章,看到只要一行代码,就可以把IE6弄死.<style>*{position:relative}&
- 本文主要是记录ubuntu 16.04下python环境配置,具体内容如下对于ubuntu 16.04,由于本身是自带python,这样就减
- pyplot直方图的绘制import matplotlib.pyplot as pltimport numpy as npfrom pyla
- 测试环境:1:xp系统2:双显,1680×1050 + 1050×16803:chrome 版本4.14:ff版本3.6chrome是我的默
- 下面的各种屏蔽网页鼠标或键盘的代码都是我以前收集的,挺实用的,防一般的访客还是很有用的。1.禁止鼠标选中捕捉网页文字图片等元素在<bo
- 列表(list)和元组(tuple)的一些基础list和tuple都是一个可以放置任意数据类型的有序集合,都是既可以存放数字、字符串、对象等
- 演示技术栈这次用到了关于css的一些功能,和jQuery。CSS3中添加的新属性animation是用来为元素实现动画效果的,但是anima
- 月份转换到中文Function MonthToCH(TheMonth) Dim mm mm=split("一,
- 网上搜一下对应的版本号,版本号相对应。安装django有两种方式:1.pip安装pip install django这个方法我用的时候已经报
- 微信更新后出来了一块比较火的小游戏,要是一款不涉及到排行的游戏,可能 没人去关注这款游戏。最开自己一直苦练技术,想在微信排行上面装一装,练了
- ASP使用xmlhttp获取远程网页内容,解决乱码问题方法一:<%function getHTTPPage(url)on error
- Oracle物理结构故障是指构成数据库的各个物理文件损坏而导致的各种数据库故障。这些故障可能是由于硬件故障造成的,也可能是人为误操作而引起。
- UPDATE语句的速度更新查询的优化同SELECT查询一样,需要额外的写开销。写速度依赖于更新的数据大小和更新的索引的数量。没有更改的索引不