专栏首页python3python中动态加载模块和类方法实现

python中动态加载模块和类方法实现

python中动态加载模块和类方法实现测试代码

文件名: mytest.py 具体代码如下:

注意:模块名,类名,方法名都是变量。

#coding=UTF-8


class TestClass:
    def sub(self,a,b):
        return a-b
    def add(self,a,b):
        return a+b
    def echo(self):
        print "test"

def main():
    class_name = "TestClass" #类名
    module_name = "mytest"   #模块名
    method = "echo"          #方法名

    module = __import__(module_name) # import module
    print "#module:",module
    c = getattr(module,class_name)  
    print "#c:",c
    obj = c() # new class
    print "#obj:",obj
    print(obj)
    obj.echo()
    mtd = getattr(obj,method)
    print "#mtd:",mtd
    mtd() # call def
    
    mtd_add = getattr(obj,"add")
    t=mtd_add(1,2)
    print "#t:",t

    mtd_sub = getattr(obj,"sub")
    print mtd_sub(2,1)
    
  
    

if __name__ == '__main__':
   main()

执行后输出如下:

> "D:\Python27\python.exe"  "D:\test\src\mytest.py" #module: <module 'mytest' from 'D:\test\src\mytest.py'> #c: mytest.TestClass #obj: <mytest.TestClass instance at 0x025F2AA8> <mytest.TestClass instance at 0x025F2AA8> test #mtd: <bound method TestClass.echo of <mytest.TestClass instance at 0x025F2AA8>> test #t: 3 1

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python3之鸭子类型

    一句话:“当看到一只鸟走起来像鸭子,游泳起来像鸭子,叫起来也想鸭子,那么这只鸟就可以被称为鸭子。”,也就是我并不关心对象什么类型,到底是不是鸭子,只关心行为。

    py3study
  • python 文本的读写功能整合

    py3study
  • python 随笔

    # -*- coding: cp936 -*- import os,sys,time,smtplib,poplib #python -m BaseHTT...

    py3study
  • python3.5程序设计

    Python语言的特点有: 易于学习:语法和结构简单,学习起来更加简单。 易于阅读:Python代码定义更清晰。 易于维护:源代码是相当容易维护的。 广泛的标准...

    py3study
  • SDWebImage源码阅读-第二篇

    王大锤
  • 根据分组信息做差异分析- 这个一文不够的

    通过前面的讲解,我们顺利的了解了GEO数据库以及如何下载其数据,得到我们想要的表达矩阵,也成功的使用了GSEA这个分析套路。 历史目录: 解读GEO数据存放规律...

    生信技能树
  • 马斯克宣布:半年后发布定制AI芯片,特斯拉车主免费升级Hardware 3

    伊隆·马斯克今天宣布,特斯拉的定制AI芯片还有6个月就要发布了。也就是说,半年之后特斯拉车主们就可以装上AI芯片了。

    量子位
  • 初学乍练redis:复制与哨兵

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1148526
  • 【深度】Peacock:大规模主题模型及其在腾讯业务中的应用

    如果用户最近搜索了“红酒木瓜汤”,那么应该展示什么样的广告呢?从字面上理解,可能应该返回酒水或者水果类广告。可是你知道吗?“红酒木瓜汤”其实是一个民间丰胸秘方。...

    机器学习AI算法工程
  • 活久见,为什么SHOW TABLE STATUS总是不更新

    前几天,QQ群里在讨论一个关于MySQL表统计信息迟迟不更新的问题。 这个问题我复现了,下面是详细过程:

    老叶茶馆

扫码关注云+社区

领取腾讯云代金券