python mixin的用法类似java的反射:通过传入的 字符串,返回具有 字符串对应功能的 对象:如:
import mixins
def staff():
people = People():
bases = []
for i in config.checked();
bases.append(getattr(mixins, i))
people.__bases__ += tuple(bases)
return people
1. mixins.py里面定义好各种功能的类;
2. config文件里面指定需要那种功能,功能名和mixins.py的类名相同;
3. people.__bases__ += tuple(bases) 使people这个对象继承config指定的mixins.py里面的类,所以返回的people对象就具有的config里面指定的类
4. 好处:只需要更改config,不需要改python代码,就可以得到不同功能的对象
<<编写高质量代码改善python程序的91个建议>> P134