在 Python 中使用 importlib 和 getattr 动态调用函数
Python 是一种动态编程语言。在编写 Python 代码时利用 importlib 能够动态的导入需要的模块,利用 getattr 能够获取模块的属性或方法,返回属性值和函数。本篇对它们进行介绍,并给出一个例子展示如何使用它们。
importlib
importlib 是一个模块,使用时需要首先导入该模块。
1 | import importlib |
在代码中动态导入其他模块的方法
1 | expr_module = importlib.import_module("mymodule.test") |
getattr
getattr 是内置函数,用于返回一个对象的属性值。
如,编写一个类:
1 | class Test: |
获取实例的属性值
1 | t = Test() |
结果
1 | 'test' |
一个例子
编写模块 primes.py
,放到当前目录的 pyscripts
文件夹下
1 | from numba import jit |
动态调用模块,使用模块的方法(在 notebook 中演示)
1 | import importlib |
结果如下
1 | ('158963不是素数,是合数', '158863是素数') |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 J. Xu!
评论