例如,考虑3个模块,即“苹果”,“橙色”和“水果”。模块“apple”导入“orange”和“fruit”。模块“橙”仅导入“水果”。既然“水果”对两者都很常见,那么这可以用不同的方式来完成吗?这在内存使用和速度方面效率低下吗?
我想知道这是如何在专业分发的包中完成的。比如,如果在具有GUI代码和其他复杂内容的各种模块中需要标准库模块(即httplib)。在每个GUI文件中导入此模块都是不切实际的,不是吗?
答案 0 :(得分:1)
导入多个模块通常只会初始化一次,并且命名空间会被引入模块的范围。因此,在上面的示例中,有一个类水果和从它继承的两个类,如果您要引入3种苹果,那么仍然只有一个基础水果类。
专业套餐是如何做到的。在其他语言如C / C ++中,你需要使用病毒来防止python为你做多次导入。