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']
posted @ 2018-09-29 17:27  luoganttcc  阅读(67)  评论(0编辑  收藏  举报