一个关于 Python 反射运用的问题
資深大佬 : dwadewyp 8
新建一个 python 的 package,在 package 中创建了一个 Animal.py 的文件,并在 Animal.py 文件中定义了一个 Animal 的类;
------Animal.py------- class Animal: def __init__(self, name=None): self.name = name def introduce(self): pass
与此同时在 package 下面,创建了 Dog.py,Cat.py,分别在文件中定义了 Dog,Cat 子类(均继承 Animal),并实现了 introduce 方法
-----Dog.py-------- from animal.animal import Animal class Dog(Animal): def introduce(self): print("i am a dog") ----Cat.py------ from animal.animal import Animal class Cat(Animal): def introduce(self): print("i am a cat")
- 问题:
- 当在 package 下面定了一个很多很多继承 Animal 的文件,并且分别在文件中定义了子类; 比如 dog,cat,panda,elephant,tiger,lion, monkey…….可能会有成百上千的子类 我想输出所有的子类的 introduce() 但!!! 不可以通过重复 import 的方式引入子类然后去实例化每个子类, 我想到的是通过反射的方式去输出,但是编码无力啊。。。 有老铁能否提供些思路或者伪代码???
大佬有話說 (15)