返回

西安博为峰教育

python私有变量怎么定义

python学习网更新时间:2023-01-10 浏览:282

python私有变量怎么定义

变量前加双下划线(只前缀双下划线),将被认为是私有变量,单下划线开头的成员变量和成员函数,其实就是public的,在类外不能访问,否则认为是公有的变量。
Python中默认的成员函数、成员变量都是公开的(public),而且python中没有类似public、private等关键词来修饰成员函数,成员变量。
在python中定义私有变量只需要在变量名或函数名前加上 "__" (两个下划线),那么这个函数或变量就会成为私有的了。
class aa:
'descript class aa'
__x = 12
def __init__(self):
print 'aa init....'
self._name = 'jeapedu'
@classmethod
def p(cls):
print 'class method?'
def getname(self):
return self._name
def setname(self, v):
self._name = v
name = property(getname, setname,fdel = None, doc = "propertyTest")
class bb(aa):
y = 13
def __init__(self):
print 'bb init....'
aa.__init__(self)
a = aa()
aa.p()
a.name = 'Jeapedu'
print a.name
print aa.__dict__
print a.__x
b = bb()
print "b.y, bb.y", b.y, bb.y
print bb.__dict__
#print b.__x, # 双下划线__x,是父类aa的私有变量,子类不可访问

运行结果
aa init....
class method?
Jeapedu
{'__module__': '__main__', '_aa__x': 12, 'name': <property object at 0x00BBAB40>, 'setname': <function setname at 0x00BBF830>, 'getname': <function getname at 0x00BBF7B0>, 'p': <classmethod object at 0x00BC7650>, '__doc__': 'descript class aa', '__init__': <function __init__ at 0x00BBF870>}
bb init....
aa init....
b.y, bb.y 13 13
{'y': 13, '__module__': '__main__', '__doc__': None, '__init__': <function __init__ at 0x00BBF8B0>}
<<< Process finished. (Exit code 0)
比较奇怪的是x前后有双下划线上边程序注释掉的语句可以执行,原因是前后双下划线的是给系统用的,用户一般不要定义这样的变量比较好!前后缀双下划线变量。
而前缀单下划线的变量是python普通变量。


相关资讯

Python操作Excel教程:average函数求平均值的算法
2021-10-30 926
Python操作Excel教程-average函数求平均值...
人工智能和创客教育有什么区别
2022-11-05 890
人工智能和创客教育有什么区别对于人工智能,教育工作者首先要了解和接触这些技术,然后在课堂上介绍给学生。在这个过程中,教师...
怎么用热力图实现Python数据可视化
2021-10-28 822
大数据可视化是计算机科学或深度学习新项目中十分特别的一环。一般,你需要在工程前期开展探究性的数据统计分析(EDA),进而对信息有一定的掌握,并且建立数据可视化的确能够使剖析的目的更清楚...
Python的基础语法
2021-11-03 514
编写Paython程序流程以前*对英语的语法有一定的掌握,才可以编写标准的Python程序流程...
人工智能在制造业的生产中可以发挥哪些作用
2021-06-12 490
人工智能在制造业的生产中可以发挥的作用共分为7项,分别是:1、预测性和预防性维护;2、提高机器人的效能;3、制造供应链;...
二维密度图实现Python可视化的方法
2021-10-28 481
二维密度图(2D Density Plot)是一维版本号密度图的形象化拓展,相对性于一维版本号,其特点是可以见到有关2个自变量的概率分布函数...
Python操作Excel教程:提取Excel工作表的名字并修改的方法
2021-10-30 410
Python操作Excel教程-提取Excel工作表的名字并修改...
怎么运行python
2023-01-10 402
怎么运行python1. 使用Python自带的IDLE在开始--程序--Python2.5(视你安装的版本而不同)中找到IDLE(Python GUI),点击后弹出如下...

相关课程

栏目导航