__dict__

class.__dict__:一个字典,里面是该类所有属性

object.__dict__:一个字典,里面是该对象所有属性

两者的__dict__是完全不一样的东西

class a:
    ab = 1
    def __init__(ab):
        self.ab = ab
        self.ccccccccccccccccccccaaaaaa = 1
print (a.__dict__)

#结果:
{‘__init__‘: <function a.__init__ at 0x000000000371EB70>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘a‘ objects>, ‘ab‘: 1, ‘__dict__‘: <attribute ‘__dict__‘ of ‘a‘ objects>, ‘__doc__‘: None, ‘__module__‘: ‘__main__‘}

#说明类的dict类属性

abc = a(2)
print (abc.__dict__)
#输出:{‘ccccccccccccccccccccaaaaaa‘: 1, ‘ab‘: 2}
#说明对象属性只包含self.属性

self.属性:python现在对象dict里面找该属性,如果找不到,就跳去类属性里面找

 

时间: 2024-10-01 03:59:26

__dict__的相关文章

openstacksdk resource2 打印__dict__

在一个继承resource2的实体里,打印self.__dict__结果是: {'_body': <openstack.resource2._ComponentManager object at 0x7f0e02a15550>, '_uri': <openstack.resource2._ComponentManager object at 0x7f0e02a159d0>, '_header': <openstack.resource2._ComponentManager o

python中__dict__和dir()

转自:http://www.cnblogs.com/ifantastic/p/3768415.html 首先需要知道的是,dir() 是 Python 提供的一个 API 函数,dir() 函数会自动寻找一个对象的所有属性,包括搜索 __dict__ 中列出的属性. 不是所有的对象都有 __dict__ 属性.例如,如果你在一个类中添加了 __slots__ 属性,那么这个类的实例将不会拥有 __dict__ 属性,但是 dir() 仍然可以找到并列出它的实例所有有效属性. >>> cl

python __dict__

test_\@.py #!/usr/bin/env python2#-*- coding: utf-8 -*- def args(*args, **kwargs): def _decorator(func): print "befor ", func.__dict__ func.__dict__.setdefault('options', []).insert(0, (args, kwargs)) print 'end ', func.__dict__ return func retu

python中dir(),__dict__

dir()是python的一个函数, dir()函数如果接受的参数是一个类,则返回这个类所有的类变量和方法 dir()函数如果接收的参数是一个类的实例,则返回这个实例所有的实例变量,对应的类的类变量,以及方法 __dict__是类以及类的实例默认都有的属性, __dict__是一个字典,保存了两种内容,一是属性与对应的值,二是方法与对应的内存地址, 对于类来说,dict保存了类中的类变量和方法, 对于类的实例来说,dict保存了这个实例的实例变量 参考python之dir()和__dict__的

Python __dict__与dir()区别

Python __dict__与dir() Python __dict__与dir __dict__属性 dir函数 结论 转载请标明出处(http://blog.csdn.net/lis_12/article/details/53521554). Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案. __dict__与dir()的区别: dir()是一个函数,返回的是list: __dict__是一个字典,键为属性名,值为属性值: di

python 面向对象 __dict__

打印 类或对象中的所有成员 类的构造函数属性 属于对象:类中的公有属性和方法等属于类 打印信息 class schoolMember(object): '''学校成员分类''' member = 0 def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex self.enroll() # 实例化时候 自动注册 def enroll(self): '''注册''' print("just e

Python __dict__属性详解

我们都知道Python一切皆对象,那么Python究竟是怎么管理对象的呢? 1.无处不在的__dict__ 首先看一下类的__dict__属性和类对象的__dict__属性 # -*- coding: utf-8 -*- class A(object): """ Class A. """ a = 0 b = 1 def __init__(self): self.a = 2 self.b = 3 def test(self): print 'a n

浅谈__dict__

类的 __dict__ 先看一个例子: > class A(object): pass > ... > A.__dict__ dict_proxy({'__dict__': <attribute '__dict__' of 'A' objects>, '__module__': '__main__', '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None}) 发现 dict

__dict__(字典的另一种用法)

class Foo(): def __init__(self): self.name=None self.age=19 self.addr='上海' @property def dict(self): #传过来的self是对象,Foo,直接__dict__就是打印出字典的形式 return self.__dict__ obj=Foo()# print(obj.__dict__)# print(obj.dict)class Foo2(): def fun(self): obj.name='yunx