返回时在函数中导入模块

2024-05-14 02:59:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在寻找如何做到这一点,但我找不到如果有一个解决办法。我想__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)

Tags: fromimportreturndeflistprintitertoolslst
1条回答
网友
1楼 · 发布于 2024-05-14 02:59:06

下面是如何在您的示例中实现动态导入:

def combs(s = []):
    return list(__import__('itertools').combinations(s, 2))

注意:^{}的python文档声明:

This is an advanced function that is not needed in everyday Python programming

许多Pythonistas更喜欢显式导入(如您最初的示例中所示),并且可能会认为过度使用__import__有点代码味道。你知道吗

相关问题 更多 >