在文件顶部导入函数是否更好/更pythonic如下:
from file import f1, f2
并致电
def do_something():
f1()
etc....
或者只是导入包并在必要时调用它们
import file
...
def do_something():
file.f1()
etc....
答案 0 :(得分:2)
根据PEP 8 -- Style Guide for Python Code:
导入总是放在文件的顶部,就在任何模块注释和文档字符串之后,以及模块全局变量和常量之前。
所以你的第一个例子更好,更“pythonic”。
答案 1 :(得分:2)
import
语句本身应该位于文件的顶部(当然),但是您使用import somemodule
还是from somemodule import f1, f2
取决于您。第二种形式涉及较少的输入,但第一种形式使代码更具可读性,因为它使得它明确地来自导入的名称,并且我想这使它更加Pythonic,特别是当你导入很多名字时来自各种不同的模块。
良好的妥协是import somemodule as
变体,例如
import numpy as np
import tkinter as tk
这对输入名称的长度产生的影响微乎其微,但仍然清楚显示每个导入名称的来源。
说了这么多,当from somemodule import f1, f2
是一个众所周知的标准模块somemodule
或itertools
时,random
的代码没有问题。您的代码应该熟悉这些名称。但我不太高兴看到这种形式用于更模糊的模块。