为了账号安全,请及时绑定邮箱和手机立即绑定

Python面向对象学习2

标签:
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)

类的继承

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




点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消