一、类
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是类的实例的变量和属性