温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python学习教程:面向对象学习实力讲解

发布时间:2020-08-11 00:43:42 来源:ITPUB博客 阅读:114 作者:千锋Python唐小强 栏目:编程语言

类的实现

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)

Python学习教程:面向对象学习实力讲解

类的继承

判断是否为其子类: 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代表实例

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI