class student: __name = "xiaoming" __sex = "man" __age = "15" def getName(self): return self.__name def setName(self,name): self.__name = name s = student() s.setName("xiaohong") print(s.getName())
能够把它当作C++中类里面的this指针同样理解,就是对象自身的意思,在用某个对象调用该方法时,就将该对象做为第一个参数传递给self。this
init()构造方法,建立对象.net
class student: def __init__(self): self.__name = "xiaoming" self.__sex = "man" self.__age = 15 def getName(self): return self.__name def setName(self,name): self.__name = name s = student() s.setName("xiaohong") print(s.getName())
del()析构方法指针
删除实例化的对象code
class friend(): def __init__(self): self.__name = "putao" self.__location = "jiapali" def __del__(self): print("删除对象") def getName(self): return __name__ putao = friend() del putao print(putao.getName())
class 子类(父类)对象
class people: name = 'human' def sleep(self): print(self.name, "sleep") class chinese(people): def eat(self): print(self.name, "eat") c = chinese() c.sleep() #human sleep c.eat() #human eat c.name = "xiaoMing" c.sleep() #xiaoMing sleep c.eat() #xiaoMing eat
class 子类(父类A,父类B)继承
若是有父类有相同方法,A优先调用get
子类覆写父类方法,子类方法优先调用it
类方法传入类自己做为参数clsio
使用注解@classmethodclass
类方法能够动态配置
class Color(): __color = (0,0,0) @classmethod def getColor(cls): if cls.__name__ == 'Red': cls.__color = (255,0,0) elif cls.__name__ == 'Green': cls.__color = (0,255,0) return cls.__color class Red(Color): pass class Green(Color): pass print(Red.getColor()) # (255, 0, 0) print(Green.getColor()) # (0, 255, 0)
@staticmethod 注解在类的静态方法上, 静态方法只能用类对象访问