All is well 3 idiots

AC小小常

【Python面向对象】(1)实例化对象

注意:以“__”开头的变量默认为私有变量,不能直接访问

验证实例:isinstance

class Cat(object):
    """猫科动物类"""
    tag = "我是家猫"

    def __init__(self, name, age):
        """以双下划线开头的属性默认为私有变量,是无法直接对其进行操作的"""
        self.name = name
        self.__age = age

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

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

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

    def catch(self):
        """"""
        print("猫抓老鼠")


if __name__ == "__main__":
    # 实例化对象
    cat_black = Cat("小黑", 6)
    cat_black.catch()  # 输出:猫抓老鼠
    cat_black.show_info()  # 输出:我叫小黑,今年6岁了
    print(cat_black.name)  # 输出:小黑
    # print(cat_black.__age)  # 私有变量无法直接进行访问
    print(cat_black.tag)  # 输出:我是家猫

    # 类的实例判断
    print(isinstance(cat_black, Cat))  # 输出:True

 

posted on 2020-04-14 17:42  AC小小常  阅读(280)  评论(0编辑  收藏  举报

导航