类的实现 class Cat: """猫科动物类""" tag='我是家猫 ' def __init__ (self,name,age=0): #没有默认值必须要传,且写在前面 self.name=name self.__age=age #私有变量,外部不能引用设置更改 def set_age(self,age): self.__age=age return self.__age def show_info(self): rest="我叫:{0},今年{1}岁".format(self.name,self.__age) print(rest) return rest def eat(self): print('喜欢吃鱼') def catch(self): print('喜欢抓老鼠') 实例化 if __name__=='__main__': cat_black=cat('小黑',2) cat_black.eat() cat_black.show_info() 类的实例判断 :isinstance(cat_black,Cat) 类的继承 判断是否为其子类: issubclass(dog,Animal) 调用父类的方法: def eat(self): super(Cat,slef).eat() 类的多重继承 一个类继承于多个类 如果两个父类有相同重名的方法,调用前一个 大括号的转义字符是两个{{ 多态 每天无需知道对象是什么样的就能对其执行操作时,都是多态起作用。 super().eat() 直接调用父类 类的高级特性 1、@property:将类的方法当做属性来使用 def __str__(self): return showing_info() @property 写在方法的前面(描述符) 2、__slots__: 为指定的类设置一个静态属性列表 为属性很少的类节约内存空间 使用后不能给实例添加属性和方法。 3、类的静态方法和实例方法 @staticmethod 表示静态方法 不需要对类实例化调用,可以直接通过类名调用 @classmethod 表示类的方法 def show_info(cls) cls代表类 self代表实例 |
|
来自: 千锋Python学堂 > 《Python基础教程分享》