返回时在函数中导入模块
Importing module in a function when returning
我一直在寻找如何做到这一点,但我找不到是否有解决方案。我以为__import__
?但我还是想不通。
例如:
>>> def combs(s = []):
... from itertools import combinations
... return [list(combinations(s, 2))]
...
>>> lst = ["A","B",'C']
>>> print(combs(lst))
[[('A', 'B'), ('A', 'C'), ('B', 'C')]]
>>>
我很好奇是否可以做这样的事情?
def combs(s = []):
return [list(combinations(s, 2))]__import__(itertools, list)
以下是如何在您的示例中实现动态导入:
def combs(s = []):
return list(__import__('itertools').combinations(s, 2))
注意:__import__
的 python 文档声明:
This is an advanced function that is not needed in everyday Python programming
许多 Pythonista 更喜欢显式导入(如在您的原始示例中),并且可能会认为过度使用 __import__
有点代码味道。
我一直在寻找如何做到这一点,但我找不到是否有解决方案。我以为__import__
?但我还是想不通。
例如:
>>> def combs(s = []):
... from itertools import combinations
... return [list(combinations(s, 2))]
...
>>> lst = ["A","B",'C']
>>> print(combs(lst))
[[('A', 'B'), ('A', 'C'), ('B', 'C')]]
>>>
我很好奇是否可以做这样的事情?
def combs(s = []):
return [list(combinations(s, 2))]__import__(itertools, list)
以下是如何在您的示例中实现动态导入:
def combs(s = []):
return list(__import__('itertools').combinations(s, 2))
注意:__import__
的 python 文档声明:
This is an advanced function that is not needed in everyday Python programming
许多 Pythonista 更喜欢显式导入(如在您的原始示例中),并且可能会认为过度使用 __import__
有点代码味道。