一、类 class Person: pass def __init__(self,name): self.name=name def get_name(self): return self.name def color(self,color): d={} d[self.name] = color return d if __name__ == '__main__': girl = Person("liili") print(girl.name) name=girl.get_name() print(name) her_color=girl.color("white") print(her_color) girl=Person("heheh") 解释: 1.self.name = name 的含义就是要建立实例的一个属性 b = B() //上面的self就和这个小b一样 b.xx xx就是这个b这个对象的属性 2.创建实例就是调用类Person() 首先执行初始化函数,初始化函数有俩个参数 即self和name self是默认参数不需要传值 name需要给他传值 所以Person("lili")就是为初始化函数中的name传值 二、类属性 1.类名.变量名 //类中的变量不依赖别的实例 2.类属性可以删除和增加、修改 3.一个类建立的同时 就有一些默认的属性 可以用dir(Person)来查看类的所有属性 __dict__以双下划线开头的为特殊的属性 三、创建实例 1.类是实例的工厂 2.创建实例就是调用类 3.__init__ 构造方法 没有return语句这一点区别与普通的方法 四、实例属性 1.实例属性可以随意更改,类属性尽量不要进行修改 2.修改实例属性后,类属性不会因为修改实例属性而发生改变 类属性和类绑定 3.类属性的值改变会影响实例属性,这是因为实例就是通过调用类来建立的 4.如果类中变量引用的是可变对象 类属性和实例数量都能直接修改这个对象 而影响 另一方的值比如列表list=[1,2,3,4] 5.创建实例的时候,实例变量作为第一个参数,被Python传给了self,所以在初始化函数中的self.name就是实例的属性 6.self.name是类的实例的变量和属性