python类里的私有变量如何定义

如题所述

python没有私有变量,任何定义的变量都是可以直接调用的,但是一般来说,在定义的变量前后加上两个下划线,把这样的变量当成是私有变量,如下代码所示:

class person:
    def __init__(self):
        self.__private__ = 100
p = person()
print('__private__:', p.__private__)
print('p包含的变量: ',dir(p))

输出:

__private__: 100
p包含的变量:  ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__private__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-09-29
Python使用下划线_作为变量前缀和后缀来指定特殊变量,规则如下:
__xxx__表示系统定义名字
__xxx表示类中的私有变量名
类的成员变量分两类:公有变量和私有变量。公有变量可在类的外部访问,是类与用户交流的接口。私有变量不可在类的外部被访问,这保证了类的设计思想和内部结构并不完全对外公开。

在Python中除了__xxx格式的成员变量外,其他的成员变量都是公有变量。

python定义私有变量的方法为
在Python中,定义私有变量的方法是在变量名前面加上两个下划线。例如,在一个类中,如果你想定义一个私有变量名为`private_var`,你可以这样写:`__private_var`。这样,这个变量就被定义为私有变量。三、私有变量的访问和修改 虽然私有变量在类的外部不能直接访问,但在类的内部,可以直接通过实例来...

在python中什么是私有变量域
(2)__xxx 类中的私有变量\/方法名 (Python的函数也是对象,所以成员方法称为成员变量也行得通。)," 双下划线 " 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。(3)__xxx__ 系统定义名字,前后均有一个“双下划线” 代表python里特殊方法专用的标识,如 ...

python中私有属性和公共属性的区别?
一、定义方式:在Python中,公共属性通常是类的成员变量,直接定义在类中,没有使用特定的标识符进行标识。而私有属性则是在类中使用双下划线前缀来标识的变量,例如`__private_attribute`。私有属性只能在类内部访问和操作。此外,Python的动态特性允许程序员在运行时改变属性的访问权限。然而,即使使用了双...

Python私有属性与私有方法
在 Python 面向对象编程中,私有属性和私有方法起到了隐藏对象内部信息的作用。私有属性是对象内部不希望外部直接访问的变量,如用 "__salary" 进行定义。同样,私有方法是仅限于对象内部使用的函数,如 "__secret(self)"。Python 的语法规定,私有属性和方法以双下划线 "__" 开头。例如,对象的初始化...

python关于私有变量的问题?
classname__spam,其中classname为当前类名去除前导下划线。关键在于,此类替换仅在类定义内部有效,与标识符的实际位置无关。而你的代码中,__score作为一个运行时添加的变量,并未在类定义内出现,因此其名称并未被替换为上述形式。实际上,Python中并不存在真正的私有成员变量,这仅是一种命名约定。

Python类的公共、私有和保护变量及方法
在实际应用中,Python并未在编译层面对类的Public、Protected及Private变量及方法进行严格的访问权限控制。对于变量而言,Public和Protected变量都可以被外部访问,而Private变量虽然通过外部访问时会提示错误,实际上它们的内部名称已被解释器修改,从而实现隐藏。具体访问示例如下:定义一个类:python class My...

Python的 私有化属性
1.1 __ 私有属性 1.2 __str__1.3 私有属性也不能被继承 1.4 类属性和实例化属性 2. 私有化方法 3. 单下划线、双下划线,头尾双下划线 单下划线 _xxx前面加一个下划线,以单下划线开头的表示的是 protected类型的变量,即保护类型只能允许其本身与子类进行访问,不能使用from xxx import * 的...

python 类中的私有属性有哪些
类的方法:在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数 类的私有方法 :__private_method:两个下划线开头,声明该方法为私有方法,不能在类地外部调用。在类的内部调用 self.__private_methods 实例:!\/usr\/bin\/python -*- coding:...

python怎么定义变量
变量就是代表某个数据(值)的名称。python变量赋值如何定义操作变量定义方法很简单:>>> x = 5这个操作过程就是赋值,意思把整型数字5赋值给了变量x,用等号来连接变量名和值。之后就可以在表达式中使用这个新变量了。>>> x * 315注意:在赋值时,值是什么数据类型,就决定了这个变量的类型,变量名...

python中的dim是什么意思?
Dim为Dimension的缩写,后面加上所需变量的名字。与关键字Private(私有的)相当,另外还有一个Public(公有的)关键字,定义变量方法为Dim 变量 As 变量类型 。定义变量可以使用显式或隐式两种方式定义:1、显式定义:Dim 变量名 As 类型 2、隐式定义:使用类型说明符 ...

相似回答