关于python:为什么实例变量不在__dict__中?

关于python:为什么实例变量不在__dict__中?

Why is my instance variable not in __dict__?

如果我按如下方式创建类A

1
2
3
class A:
    def __init__(self):
        self.name = 'A'

检查__dict__成员看起来像{'name': 'A'}

但是,如果我创建一个类B

1
2
class B:
    name = 'B'

__dict__为空。

两者之间有什么区别?为什么name没有显示在B__dict__中?


B.name是类属性,而不是实例属性。 它显示在B.__dict__中,而不显示在b = B(); b.__dict__中。

这种区别在某种程度上被掩盖了,因为当您访问实例上的属性时,类dict是一个后备。 因此,在上面的示例中,B.name将为您提供B.name的值。


1
2
3
4
class A:
    def _ _init_ _(self):
        self.name = 'A'
a = A()

在类型为A的对象实例a上创建一个属性,因此可以在以下位置找到它:a.__dict__

1
2
3
class B:
    name = 'B'
b = B()

在类B上创建一个属性,并且可以在B.__dict__中找到该属性;或者,如果您具有类型B的实例b,则可以在b.__class__.__dict__中看到类级别的属性


推荐阅读

    检查硬件linux命令?

    检查硬件linux命令?,信息,系统,第一,数据,设备,检测,命令,情况,灵活,实时,如

    linux下创建网络命令?

    linux下创建网络命令?,网络,地址,工作,系统,管理,命令,名字,最新,项目,设备,l

    linux命令创建项目组?

    linux命令创建项目组?,管理,密码,项目,命令,系统,位置,文件,用户组,用户,文

    linux的创建目录命令?

    linux的创建目录命令?,名字,地址,位置,密码,软件,系统,命令,目录,文件夹,文

    linux创建端口命令?

    linux创建端口命令?,系统,网络,服务,通讯,检测,工具,端口,电脑,命令,以下,Lin

    linux创建内容的命令?

    linux创建内容的命令?,名字,文件,命令,密码,时间,系统,文件名,终端,目录,文

    linux下文件创建命令?

    linux下文件创建命令?,名字,名称,首次,命令,文件,系统,密码,文件名,文件夹,

    检查路由命令linux?

    检查路由命令linux?,网络,地址,系统,信息,工具,电脑,时间,通信,服务,命令,lin

    linux创建vp命令?

    linux创建vp命令?,系统,工作,基础,设备,地址,命令,目录,环境,信息,工具,linux

    linux命令创建文件加?

    linux命令创建文件加?,名字,管理,系统,名称,密码,首次,命令,文件,文件夹,位

    linux数据库检查命令?

    linux数据库检查命令?,服务,状态,地址,位置,系统,信息,命令,工作,情况,密码,

    linux分区检查命令是?

    linux分区检查命令是?,系统,设备,工具,管理,情况,信息,检测,分区,密码,单位,

    linux按命令创建磁盘?

    linux按命令创建磁盘?,系统,信息,业务,号码,数据,情况,电脑,分区,较大,工具,

    linux命令中创建文本?

    linux命令中创建文本?,系统,时间,文件,终端,名字,名称,发行,命令,文件夹,文

    linux常用命令创建?

    linux常用命令创建?,地址,系统,工作,时间,命令,管理,文件,目录,路径,控制台,l

    文件创建linux命令?

    文件创建linux命令?,名字,时间,名称,系统,首次,文件,命令,密码,文件名,目录,L

    linux创建软链接命令?

    linux创建软链接命令?,工作,地址,位置,系统,信息,管理,服务,名字,链接,文件,

    linux检查流量的命令?

    linux检查流量的命令?,工具,系统,实时,状态,网络,信息,数据,密码,地址,流量,l

    linux创建数组命令?

    linux创建数组命令?,地址,工作,系统,信息,命令,代码,目录,情况,标准,文件,Lin

    linux创建dic命令?

    linux创建dic命令?,软件,系统,电脑,下来,中心,词典,分级,基础,权威,网络,如何