代码已出,可以参考一下

来源:3-4 Python面向对象-类的继承

艺术家派大星

2020-08-14 11:45

class Programer(object):
    hobby = 'Play Computer'

    def __init__(self, name, age, weight):
        self.name = name
        self._age = age
        self.__weight = weight

    @classmethod
    def get_hobby(cls):
        return cls.hobby

    @property
    def get_weight(self):
        return self.__weight

    def self_introduction(self):
        print("my name is %s \n i am %s years old" % (self.name, self._age))


class BcakendProgramer(Programer):

    def __init__(self, name, age, weight, language):  # 创建构造函数
        super(BcakendProgramer, self).__init__(name, age, weight)  # 调用父类构造函数
        self.language = language  # 再添加一个属性,进行赋值


if __name__ == '__main__':
    programer = BcakendProgramer('Albert', 21, 50, 'Chinese')
    print('dir()-----将属性打印:\n', dir(programer))
    print('programer.__dict__  ----- 是将这个对象在构造函数里面赋予值的属性打印出来\n', programer.__dict__)
    print('type(programer)是个啥东西:判断paogranmer的种类\n', type(programer))
    print('isinstance(programer,Programer)是个啥东西:-----判断后者是不是前者的父类\n', isinstance(programer, Programer))
    
    #输出结果
dir()-----将属性打印: ['_Programer__weight', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_age', 'get_hobby', 'get_weight', 'hobby', 'language', 'name', 'self_introduction']
programer.__dict__  ----- 是将这个对象在构造函数里面赋予值的属性打印出来 {'name': 'Albert', '_age': 21, '_Programer__weight': 50, 'language': 'Chinese'}
type(programer)是个啥东西:判断paogranmer的种类 <class '__main__.BcakendProgramer'>
isinstance(programer,Programer)是个啥东西:-----判断后者是不是前者的父类 True


写回答 关注

1回答

  • 艺术家派大星
    2020-08-14 11:51:29
    dir()-----将属性打印:
     ['_Programer__weight', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_age', 'get_hobby', 'get_weight', 'hobby', 'language', 'name', 'self_introduction']
     
    programer.__dict__  ----- 是将这个对象在构造函数里面赋予值的属性打印出来:
     {'name': 'Albert', '_age': 21, '_Programer__weight': 50, 'language': 'Chinese'}
     
    type(programer)是个啥东西:判断paogranmer的种类:
     <class '__main__.BcakendProgramer'>
    
    isinstance(programer,Programer)是个啥东西:-----判断后者是不是前者的父类:
     True


Python-面向对象

Python面向对象教程,带你深入了解python面向对象特性

71236 学习 · 81 问题

查看课程

相似问题