Python-类的特性

时间:2020-03-24
本文章向大家介绍Python-类的特性,主要包括Python-类的特性使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

------------恢复内容开始------------

类及类的定义

Cat类

类的特殊方法-构造函数、析构函数

class Cat:
  # 构造函数
  def __init__(self, name, *args, **kwargs):
    self.name = name
  def eat(self):
    pass
  # 析构函数
  def __del__(self):
    pass
  pass

其他类的特殊方法

  __doc__:文档信息

  __module__:模块信息

  tag:自定义的类属性

  catch:自定义的类方法

  __dict__:

类的实现

class Cat(object):
    """
    猫科动物类
    """

    tag = '我是家猫'

    def __init__(self, name, age, sex=None):
        self.name = name
        self.__age = age
        self.sex = sex

    def set_age(self, age):
        """
        改变猫的年龄
        :param age: int 年龄
        """
        self.__age = age
        # return self.__age

    def show_info(self):
        """
        显示猫的信息
        :return:
        """
        rest = '我叫:{0}, 今年{1}岁.'.format(self.name, self.__age)
        print('我的性别:{0}'.format(self.sex))
        print(rest)
        return rest

    def eat(self):
        """"""
        print('猫喜欢吃鱼')

    def catch(self):
        """ 猫捉老鼠 """
        print('我能捉老鼠')


class Tiger(object):
    pass


if __name__ == '__main__':
    # 实例化你家的小黑
    cat_black = Cat('小黑', 2, '公的')
    cat_black.eat()
    cat_black.show_info()
    print('------------')
    # print(cat_black.name)
    # print(cat_black.age)
    # print(cat_black.__age)  # 无法访问私有变量
    # 更改猫的名称
    cat_black.name = '黑黑'   # 可以直接改变
    cat_black.__age = 6       # 无法操作私有变量
    cat_black.show_info()

    print('-------------')
    cat_black.set_age(7)
    cat_black.show_info()

    print(Cat.tag)
    print(cat_black.tag)

    # 实例化我家的小白
    print('xxxxxxxxxxxxxxxxxxx')
    cat_white = Cat('小白', 3, '母的')
    cat_white.show_info()
    print(cat_white.tag)


    # 类的实例判断
    print(isinstance(cat_black, Cat))
    print(isinstance(cat_white, Cat))
    print(isinstance(cat_black, Tiger))
    print(isinstance(cat_white, Tiger))

  

 

------------恢复内容结束------------

原文地址:https://www.cnblogs.com/ZZBD/p/12559683.html