Python中私有变量和私有方法芳
Python中要想定义的方法或者变量只能在类内部使用不被外部使用,可以在方法和变量前面加两个下划线,让其变为私有方法或私有变量。类外部可以通过 ”_类名__私有属性(方法)名“ 访问私有属性(方法)。
class Person:__work = 'teacher'def __init__(self,name,age):self.name = nameself.__age = agedef run(self):print(self.__age,self.__work)def __eat(self):print('1111')
__work是私有类变量,类外是无法访问的
if __name__ == '__main__':
print(Person.__work)
Traceback (most recent call last):File "C:/Users/wangli/PycharmProjects/Test/test/test.py", line 20, in <module>print(Person.__work)
AttributeError: type object 'Person' has no attribute '__work'
__work是私有类变量,类外类实例对象是无法访问的
if __name__ == '__main__':test1 = Person('王大力','22')
print(test1.__work)
Traceback (most recent call last):File "C:/Users/wangli/PycharmProjects/Test/test/test.py", line 21, in <module>print(test1.__work)
AttributeError: 'Person' object has no attribute '__work'
__age是私有实例变量,类外类实例对象是无法访问的
if __name__ == '__main__':test1 = Person('王大力','22')
print(test1.__age)
Traceback (most recent call last):File "C:/Users/wangli/PycharmProjects/Test/test/test.py", line 21, in <module>print(test1.__age)
AttributeError: 'Person' object has no attribute '__age'
__work是私有类变量,__age是私有实例变量,类内是可以访问的
if __name__ == '__main__':test1 = Person('王大力','22')
test1.run()
22 teacher
Process finished with exit code 0
__eat()是私有方法,类外是无法访问的
if __name__ == '__main__':test1 = Person('王大力','22')
print(test1.__eat())
Traceback (most recent call last):File "C:/Users/wangli/PycharmProjects/Test/test/test.py", line 21, in <module>print(test1.__eat())
AttributeError: 'Person' object has no attribute '__eat'
__work是私有类变量,__age是私有实例变量,__eat()是私有方法,类外部可以通过 ”_Person___私有属性(方法)名“ 访问私有属性(方法)
if __name__ == '__main__':print(Person._Person__work)test1 = Person('王大力','22')print(test1._Person__work)print(test1._Person__age)
test1._Person__eat()
teacher
teacher
22
1111
Process finished with exit code 0
Python中私有变量和私有方法芳相关推荐
- python定义私有变量的方法_Python类中的 私有变量和私有方法
默认情况下,Python中的成员函数和成员变量都是公开的(public),在python中没有类似public,private等关键词来修饰成员函数和成员变量. 在python中定义私有变量只需要在变 ...
- python定义私有变量的方法_Python面向对象程序设计之私有变量,私有方法原理与用法分析...
本文实例讲述了Python面向对象程序设计之私有变量,私有方法原理与用法.分享给大家供大家参考,具体如下: 私有变量,私有方法:python的私有化是为了规划私有属性,避免非相关的访问[假如!我有老婆 ...
- 19. Python 类的重写 类的私有变量和私有方法
1.类的重写 例子: class parent(object):name = 'parent'age = 100def __init__(self):print('my name is parent' ...
- python:私有变量和私有方法
默认情况下,Python中的成员函数和成员变量都是公开的(public),在python中没有类似public,private等关键词来修饰成员函数和成员变量. 在python中定义私有变量只需要在变 ...
- Python私有变量与私有方法
python的私有化是为了规划私有属性,避免非相关的访问[假如!我有老婆,你不能直接知道我老婆是谁,你只有问我才会知道,即我的私有属性只有我知道] 在python中定义私有变量和私有方法只需要在变量名 ...
- python中不被定义_一日一技:在Python中双下划线私有方法不能被调用的原理
一日一技:在Python中双下划线私有方法不能被调用的原理 在使用Python编写面向对象的代码时,我们会常常使用"继承"这种开发方式.例如下面这一段代码: class Info: ...
- java中私有变量和方法_Java 私有变量和私有方法
作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com) 内容索引 访问私有变量 访问私有方法 在通常的观点中从对象的外部访问私有变量以及方法是不允许的,但是 Java ...
- python中none算变量吗_在python中对变量判断是否为None的三种方法总结
三种主要的写法有: 第一种:if X is None; 第二种:if not X: 当X为None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这 ...
- Object-C 有私有变量?私有方法?
从object-c 动态编译机制上讲是不存在私有变量和私有方法的.但是如果你不在.h中声明变量和方法在其它地方无法访问这些变量和方法,那么就成了私有的了.私有变量也可以使用@prviter进行修饰. ...
最新文章
- 【Groovy】自定义 Xml 生成器 BuilderSupport ( 构造 Xml 节点类 | 封装节点名称、节点值、节点属性、子节点 | 将封装的节点数据转为 Xml 字符串 )
- NJ4X源码阅读分析笔记系列(三)—— nj4x-ts深入分析
- python对应的岗位_隐式相对导入如何在Python中工作?
- 《Spring源码深度解析》 PDF
- Baby‘s first attempt on CPU(贪心+模拟)
- java如何开根号?
- Ubuntu下c语言IDE学习
- Visio实现箭头反向
- 表格相对引用和绝对引用及相互切换(复制单元格函数公式保持不变)
- 记录Notepad软件保护眼睛的颜色怎么设置
- 用程序实现:给一个不多于4位的正整数,求出它是几位数,逆序输出各位数字?
- ai为什么要栅格化_AI 效果-栅格化的具体用途是什么
- 网站 xjjdog.cn,敬请惠存
- AWS 中文入门开发教学 35- MySQL@RDS - 建立MySQL数据库服务
- 学习PCB之pcb器件的绘制
- ORACLE的统计分析
- 极路由 openwrt 使用 SyncY 实现百度云同步
- 宋宝华- KVM最初的2小时(KVM从入门到入不了门)
- 请详细的描述PBR角色只做流程,用分解步奏一步步的详细描述出来
- 记录一次详细在线加密PDF解密过程