重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
类的实现
专注于为中小企业提供成都网站建设、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业林芝免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
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代表实例