没有合适的资源?快使用搜索试试~ 我知道了~
基于Python __dict__与dir()的区别详解
1 下载量 111 浏览量
2020-12-23
16:35:35
上传
评论
收藏 49KB PDF 举报
温馨提示
试读
2页
Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。 __dict__与dir()的区别: dir()是一个函数,返回的是list; __dict__是一个字典,键为属性名,值为属性值; dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集; 并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来列出对象的所有属性。 __dict__属性 __dict__是用来存储对象属性的一个字典,其键为属性名,值为属性的值。 #!/
资源详情
资源评论
资源推荐
基于基于Python __dict__与与dir()的区别详解的区别详解
Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。
__dict__与与dir()的区别:的区别:
dir()是一个函数,返回的是list;
__dict__是一个字典,键为属性名,值为属性值;
dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;
并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来列出对象的所有属性。
__dict__属性属性
__dict__是用来存储对象属性的一个字典,其键为属性名,值为属性的值。
#!/usr/bin/python
# -*- coding: utf-8 -*-
class A(object):
class_var = 1
def __init__(self):
self.name = 'xy'
self.age = 2
@property
def num(self):
return self.age + 10
def fun(self):pass
def static_f():pass
def class_f(cls):pass
if __name__ == '__main__':#主程序
a = A()
print a.__dict__ #{'age': 2, 'name': 'xy'} 实例中的__dict__属性
print A.__dict__
'''
类A的__dict__属性
{
'__dict__': <attribute '__dict__' of 'A' objects>, #这里如果想深究的话查看参考链接5
'__module__': '__main__', #所处模块
'num': <property object>, #特性对象
'class_f': <function class_f>, #类方法
'static_f': <function static_f>, #静态方法
'class_var': 1, 'fun': <function fun >, #类变量
'__weakref__': <attribute '__weakref__' of 'A' objects>,
'__doc__': None, #class说明字符串
'__init__': <function __init__ at 0x0000000003451AC8>}
'''
a.level1 = 3
a.fun = lambda :x
print a.__dict__ #{'level1': 3, 'age': 2, 'name': 'xy','fun': <function <lambda> at 0x>}
print A.__dict__ #与上述结果相同
A.level2 = 4
print a.__dict__ #{'level1': 3, 'age': 2, 'name': 'xy'}
print A.__dict__ #增加了level2属性
print object.__dict__
'''
{'__setattr__': <slot wrapper '__setattr__' of 'object' objects>,
'__reduce_ex__': <method '__reduce_ex__' of 'object' objects>,
'__new__': <built-in method __new__ of type object at>,
等.....
'''
从上述代码可知,
weixin_38742291
- 粉丝: 5
- 资源: 915
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0