美文网首页
python根据类名动态生成类实例的方法的代码

python根据类名动态生成类实例的方法的代码

作者: giveyoume | 来源:发表于2022-02-21 15:07 被阅读0次

如下代码内容是关于python根据类名动态生成类实例的方法的代码,应该对码农也有好处。

#modulePath是模块文件的路径+模块的文件名。

aMod = sys.modules[modulePath]

当我们动态的加载了这个模块后,我们就可以从这个模块中取得你要的类了,感觉上这个方法有点像java中从类中反射出方法。下以的代码可以

aClass= getattr(aMod, className)

二、动态实例化类

得到了class对象之后,在python就可以很方便的得到他的对像,以下这代码

obj = new.instance(aClass)

三、得到对象、类或模块中的所有属性方法

在java的反射中我们可以得到对象中的所有属性和方法,在python中,因为是脚本语言,所以我们要得到这个些属性方法更加的方便,我们可以用以下的代码获得类,对象,模块中的所有的属性的名称

dir(aClass)

我们得到这些属性的名称后,可以用上面得到class的方法来获得这个对象里的所有属性

四、动态运行方法

动态的运行方法,我们也非常的方便,因为python是脚本语言,感觉起来很象javascript的方式来调用方法。

apply(objFunc,arrArgs)

代码中objFunc是用getAttr从实例化后的对象中取得到function,而arrArgs是我们的参数,和javascript一样,他是数组一样的对象。

有了这些方法,我们就可以做和java反射一样做的事了,我在网上找到了一个模块,小改了一下,使得用这个模块可以很方便的用类名实例化一个实例和运行这个实例中的方法,如果大家需要可以down下来看看

相关文章

  • python根据类名动态生成类实例的方法的代码

    如下代码内容是关于python根据类名动态生成类实例的方法的代码,应该对码农也有好处。 #modulePath是模...

  • python元类编程(4)

    1.如何在python中动态地创建类 方法一 :通过传入的参数进行判断生成类代码实例 运行结果 但该方法麻烦不灵活...

  • 【Poco笔记】根据名字动态生成类对象实例

    高级语言里如java有反射,可以根据类名动态生成类实例;也可以动态获取类成员变量和函数。 Poco里是否有类似功能...

  • #8 面向对象高级编程,python内部属性方法

    一.实例绑定方法和给类绑定方法 由于python动态语言的特性,在创建类之后,可以给实例或类再绑定方法。给实例绑定...

  • ABAP面相对象

    类 对象 方法 继承 接口 事件 类生成器 实例: 根据类创建过程中为实例化,且根据类的创建对象为实例,对象代表所...

  • python-实例属性与类属性

    由于Python是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通过sel...

  • 27. OOP-实例属性和类属性

    由于Python是动态语言,根据类创建的实例可以任意绑定属性。给实例绑定属性的方法是通过实例变量,或者通过self...

  • 实例属性和类属性

    实例属性和类属性: 由于Python是动态语言,根据类创建的实例可以任意绑定属性。 (1)给实例绑定属性的方法是通...

  • 第31节:实例属性和类属性

    由于Python是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通过sel...

  • Python动态绑定属性方法

    python是动态语言,可以为实例动态绑定属性、方法,也可以为类动态绑定方法。即在用到的时候定义。为实例动态绑定的...

网友评论

      本文标题:python根据类名动态生成类实例的方法的代码

      本文链接:https://www.haomeiwen.com/subject/nckilrtx.html