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进行修饰. ...
最新文章
- IO复用之epoll系列
- centos6.5下部署用于生产的hadoop,并使用C语言API连接hadoop
- 超维计算让AI有记忆和反应,还能解决自动驾驶难题
- [产品设计]为什么目前的运动手表的产品设计是错的?
- wxWidgets:wxSpinDoubleEvent类用法
- 使用html5+的plus调起相机拍照,使用canvas压缩图片,转成base64传到后台
- php的cms是什么意思,phpcms是什么系统
- Office 365系列之八:配置和体验Exchange和Lync
- 【Scratch】《零基础入门学习Scratch》(小甲鱼)笔记一
- python获取管理员权限
- 比特大陆60天 :夺权、立威下的疯狂裁员
- 演化模型(evolutionary model) 需求不明确+两次开发(实验开发+产品开发)
- Redis搭建及使用
- 光学字符识别 OCR (Optical Character Recognition)是什么?
- Detours库APIHook演示抓取微信界面绘制文字函数
- 微信小程序的wxml实现复杂运算或者数据处理
- python 正整数因数分解_Python正整数分解质因数
- 谷歌Project Glass:最新情报盘点
- 计算构成三角形的个数
- edge如何玩4399小游戏
热门文章
- DropWizard的AOP扩展点最佳实践
- 在大学之中,大部分学生都学不好C语言,是C语言越来越难学了吗?
- win7一直卡在正在启动windows
- java记忆纸牌 计分功能,怎样用数字编码记忆法记忆扑克牌
- Jmeter安装教程(windows)
- 一个关于laragon环境下多个laravel项目部署问题
- Ubuntu 20.04 服务器安装 R / RStudio / RStudio Server
- 突发!OpenAI 重磅发布 ChatGPT iOS 客户端!无须手续费,直接开通Plus。
- 【技术分享】无线通信LoRa扩频技术
- SCCB协议与IIC协议的对比