重新导入功能定义中的模块或使用Try-除外?

时间:2018-08-23 15:17:45

标签: python python-import python-module

这两个中哪个更优雅:

仍要导入模块:

def shuffle_sequence(seq):
    import random
    seq = list(seq)
    random.shuffle(seq)
    return ''.join(seq)

或使用Try块来做到这一点:

def shuffle_sequence(seq):
    seq = list(seq)
    try:
        random.shuffle(seq)
    except NameError:
        import random
        random.shuffle(seq)
    return ''.join(seq)

1 个答案:

答案 0 :(得分:4)

都不是。

始终按照python style guide中的描述将其导入模块的顶部!我无法想象需要重新加载模块的任何情况,如果需要,请查看importlib

import random

# other code

def shuffle_sequence(seq):
    seq = list(seq)
    random.shuffle(seq)
    return ''.join(seq)