python一些用法

迭代器,生成器,

https://blog.mimvp.com/article/7388.html

https://foofish.net/magic-method.html

装饰器,

https://foofish.net/python-decorator.html

设计模式

__import__ 与动态加载 python module

http://wsfdl.com/python/2013/11/02/Python%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8A%A8%E6%80%81%E5%8A%A0%E8%BD%BD.html

本文介绍 python module 的动态加载,我们有时希望从配置文件等地获取要被动态加载的 module,但是所读取的配置项通常为字符串类型,无法用 import 加载。用__import__转化为module形式,可以在后续中进行调用。例如下面,net_module_name是一个字符串,用__import__把它变成后续可以加载的形式。

   net_module = __import__(net_module_name)
   parser_module = __import__(data_parser_module_name)

通过 getattr 获取对象引用

https://www.woodpecker.org.cn/diveintopython/power_of_introspection/getattr.html

如果不确信它是多么的有用,试试这个:getattr 的返回值 方法,然后你就可以调用它,就像直接使用 li.append("Moe") 一样。但是实际上你没有直接调用函数;只是以字符串形式指定了函数名称。

比如下面这个例子,parser_module是一个模块,传入了一个类名。这个类名里有不同的函数,比如train_reader_name,test_reader_name是两个不同的函数,通过getattr来调用类里面的不同函数。

net_func = getattr(net_module, net_func_name)
train_reader = getattr(parser_module, train_reader_name)
test_reader = getattr(parser_module, test_reader_name)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值