python
Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。
__dict__与dir()的区别:
dir()是一个函数,返回的是list;
__dict__是一个字典,键为属性名,值为属性值;
dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;
class Student():
#在类内部定义的属性属于类本身的,由操作系统只分配一块内存空间,大家公用这一块内存空间。
count = 0
def __init__(self,name,age):
self.name = name
self.age = age
Student.count +=1
if __name__ == '__main__':
student1 = Student("lidong",25)
print(student1.__dict__)
student2 = Student("wangwu",28)
print(student2.__dict__)
print(Student.count)
print(dir(Student))
{'name': 'lidong', 'age': 25}
{'name': 'wangwu', 'age': 28}
2
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'count']