在Python中导入模块最具蟒蛇风格的方式是什么 [英] What is the most pythonic way to import modules in python
本文介绍了在Python中导入模块最具蟒蛇风格的方式是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有人能给我提个建议,用哪种方法在Python中导入模块最具蟒蛇气质? 让我解释一下-我已经阅读了大量的Python代码,并找到了如何导入模块的几种不同方法,或者更准确地说-何时导入:
- 使用一个模块/多个模块,其中包含了整个项目所需的所有导入(第三方模块),因此所有的导入集中在几个模块中,便于维护。当任何单个模块需要导入任何模块时,它会向引用模块请求它。 例如,在我们的项目中,我们分离了名为‘References’的级别,因此它包含诸如‘system.py’(包含对所有系统库的引用)、‘Platform.py’(包含对所有平台库的引用)、‘DevExpress.py’(包含对所有DevExpress库的引用)等模块。这些模块如下所示:
- 每个模块在模块的顶部导入所有必要的类和函数-例如,项目中的每个模块中都有一个包含导入的部分
- 每个函数/类在本地使用IMPORT,例如,在定义之后立即使用IMPORT,并且只导入它们真正需要的内容。
请查看下面的示例。
1个样例导入模块--仅‘IMPORT’和‘FROM...IMPORT...’语句(没有任何方法或类):
#references.py
import re
import clr
import math
import System
import System.Text.RegularExpressions
import System.Random
import System.Threading
import System.DateTime
# System assemblies
clr.AddReference("System.Core")
clr.AddReference("System.Data")
clr.AddReference("System.Drawing")
...
#test.py
from references.syslibs import (Array, DataTable, OleDbConnection, OleDbDataAdapter,
OleDbCommand, OleDbSchemaGuid)
def get_dict_from_data_table(dataTable):
pass
2个模块,带有‘IMPORT’和‘FORM...IMPORT...’以及方法和类:
from ... import ...
from ... import ...
def Generate(param, param1 ...):
pass
3带有‘IMPORT’和‘FROM...IMPORT...’的模块在方法和类中使用的语句:
import clr
clr.AddReference("assembly")
from ... import ...
...
def generate_(txt, param1, param2):
from ... import ...
from ... import ...
from ... import ...
if not cond(param1): res = "text"
if not cond(param2): name = "default"
那么,在Python中导入模块最具蟒蛇风格的方式是什么?
推荐答案
它真的没关系,只要您不from ... import *
。剩下的都是品味和绕过周期性进口问题。PEP 8说明您应该在脚本的顶部导入,但即使是这样也不是一成不变的。
这篇关于在Python中导入模块最具蟒蛇风格的方式是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文