随笔- 310  文章- 1  评论- 0  阅读- 85668 

__import__() 函数用于动态加载类和函数 。

如果一个模块经常变化就可以使用 __import__() 来动态载入。

语法

__import__ 语法:

__import__(name[, globals[, locals[, fromlist[, level]]]])

参数说明:

name -- 模块名

英文文档:

__import__(name, globals=None, locals=None, fromlist=(), level=0)

getattr() 是 Python 内置的一个函数,可以用来获取一个对象的属性值或方法。

其基本语法为:getattr(object, name[, default])

其中,object 是要获取属性值或方法的对象;name 是要获取的属性名或方法名;default 是可选参数,当指定的属性或方法不存在时,会返回 default 的值。

getattr() 可以通过对象实例或类名来获取属性值或方法,也可以获取内置函数、内置类型和标准库中的属性和方法。

Example1

1
2
3
package_name = "sens.modules.app.{}".format(self.protocol)
package = __import__(package_name, fromlist=[self.protocol])
package.check(rule, self.data)

  

 

Example2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#index.py
print ('index')
  
def sayHello():
  print('sayHello ...')
   
  
class Cat():
    def __init__(self):
        print('cat init')
         
    def run(self,name):
        print("cat:{} , running".format(name))
 
 
#test.py
 
# coding:utf-8
 
mod = __import__("index")
mod.sayHello()
 
CatClass = getattr(mod,"Cat")
cat = CatClass()
 
methodRun = getattr(cat,'run')
methodRun("Tom")
 
__index__
sayHello ...
cat init
cat:Tom , running

  

 posted on   boye169  阅读(165)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示