Python知识5 类与对象 self和实例【多测师】

一、类
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是类的实例的变量和属性
原文地址:https://www.cnblogs.com/xiaoshubass/p/13113918.html