我有一个模块,它定义了一个类,它从两个(或更多)其他模块中的一个实例化一个类。以下是几个代码示例。在第一个示例中,导入了两个模块,但只使用了一个模块(每个MyIo实例一个)。在第二个示例中,仅导入所需的模块。在更高级别的模块中可能有一个或多个MyIo实例。Python体系结构 - 导入额外的模块,或在代码执行部分导入模块?
我喜欢第二个例子只导入使用的内容,但我并不喜欢import
发生在'代码执行'部分。
我的问题是:
- 其中的例子是一个更好的架构选择,为什么?
- 导入的模块最终是否使用了 是否有惩罚?
- Python中的代码执行节中的导入是否被认为是“不良格式?”
此示例导入两个模块,但仅使用一个...
''' MyIo.py '''
...
...
from DevSerial import Device as DeviceSerial
from DevUSB import Device as DeviceUSB
class MyIo:
def __init__(self, port)
if port.lower() == 'usb':
self.device=DeviceUSB()
else:
self.device=DeviceSerial(port)
...
...
以下仅导入正在使用的模块...
''' MyIo.py '''
...
...
class MyIo:
def __init__(self, port)
if port.lower() == 'usb':
from DevUSB import Device
self.device=Device()
else:
from DevSerial import Device
self.device=Device(port)
...
...
是否有加载未使用模块的资源损失(即内存)? –