私有变量表示方法

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

class Teacher():def __init__(self,name,level):self.__name=nameself.__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

参考:

https://www.yuque.com/docs/share/bdc697b8-3176-420b-aa80-c9c79eb63db8

Python 私有变量相关推荐

  1. Python私有变量的用法

    学过编程语言的人员,都知道私有变量在编程中必不可少,与Java和C语言用private关键字定义私有变量不同,Python是在变量前面加上双横杠(例如:__test)来标识, Python私有变量只能 ...

  2. Python私有变量的用法是什么?

    学习过编程语言的人应该都知道,私有变量在编程中必不可少,有着十分重要的作用.那么Python中什么是私有变量?Python私有变量的用法是什么?本篇文章为你介绍一下. 与Java和C语言用privat ...

  3. python 私有变量得访问_Python 私有变量的访问和赋值

    首先我们这里先描述下: Python中,变量名类似__x__的,以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的(比如 __doc__, __init__等),不是priva ...

  4. python私有变量什么意思_Python私有变量解析

    这篇文章主要为大家详细介绍了Python私有变量解析,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 私有变量表示方法 ...

  5. python私有变量和继承_python私有变量子类如何继承-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 浅谈 python 中的 私有 ...

  6. Python 私有变量的访问和赋值

    首先我们这里先描述下: Python中,变量名类似__x__的,以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的(比如 __doc__, __init__等),不是priva ...

  7. Python(私有变量)类中的特殊方法

    2019独角兽企业重金招聘Python工程师标准>>> 类中的特殊方法 一般说来,特殊的方法都被用来模仿某个行为.例如,如果你想要为你的类使用x[key]这样的索引操作(就像列表和元 ...

  8. python 私有变量和函数

    使用下划线 一个单下划线 (_)开头的变量或函数是一个私有变量或函数,表示该变量或函数应该在类的内部访问,而不应在类的外部直接访问.这不是强制的,可以在外部访问单下划线开头的变量和函数,但是规范上这样 ...

  9. python私有变量什么意思_python为什么有私有方法和变量

    1. 访问安全,其实也没有决定的安全 >>> class humer(object): ... def __init__(self, name): ... self.name = n ...

  10. python私有变量公开变量说明

    先上代码 class people:name="l***" __sex="女"def __init__(self,age):self.age=agedef __ ...

最新文章

  1. python 整数逆位运算_python训练营:注释、运算符、数据类型与位运算
  2. windows环境中利用NMake工具编译连接C++源代码
  3. python全栈开发 * 24 知识点汇总 * 180705
  4. android o测试版,一加手机可升级!谷歌已正式推送Android O测试版系统
  5. php图片旋转验证码,如何用php生成扭曲及旋转的验证码图片
  6. 小红书最新用户量数据_小红书估值高达60亿美元?小红书超过蘑菇街了吗?
  7. java 根据类名示例化类_Java类类getProtectionDomain()方法及示例
  8. 简述div标签和span标签的不同_div与span区别及用法
  9. php生成格式 word文档,php使用phpword生成word文档
  10. 构建高性能分布式搜索引擎(Wcf-基础篇)一
  11. Linux父进程如何发信号给子进程,关于C#:fork和signal:如何将信号从父进程发送到特定的子进程...
  12. ffplay常用命令
  13. 个性化网站建设的一般流程
  14. 淘宝【高佣卷】、【精品券】、【详情图片】
  15. 个人网站性能优化经历(6)网站安全方面优化
  16. 微信小程序——如何实现账号的注册、登录?
  17. R语言解决数据不平衡问题
  18. JS将数字金额转换为大写人民币汉字
  19. 如何把语音转文字转换
  20. 每周全球科技十大新闻(2019.7.14-7.21)

热门文章

  1. Redis设计与实现之压缩列表
  2. ros 发布信息频率_RouterOS中wifi自动频率选择及发射功率设置
  3. 短视频抖音编剧导演拍摄分镜头策划脚本计划表
  4. http协议+缓存机制
  5. android studio更改远程地址,搭配Android studio如何实现App远程真机debug
  6. 无盘服务器e5e3,Intel 的酷睿系列和至强E3有什么不同?哪个性能好?
  7. 作业10 兔子来回跑
  8. Google 2013年创始人公开信
  9. linux修改网卡频率,Linux 设置网卡速率
  10. 64位机器安装autocad和南方cass