from \xe2\x80\xa6 import我正在阅读 python 3.6与python 3.6 之间的差异import ...。\n经过多次搜索,我找不到我的具体问题的任何答案。
看下面的例子:
\n\nfrom urllib import request\n\nimport urllib\nRun Code Online (Sandbox Code Playgroud)\n\n1)它们相等吗?我认为从英语的基本含义来看,第一个仅导入request,第二个导入其中的所有内容urllib,包括request和许多其他内容。我对吗?
2)我1是真的,假设我的python程序仅使用request从urllib使用第一个而不是第二个是否有任何性能优势?
它几乎完全取决于上下文、样式指南(例如谷歌样式指南定义了这一点)和开发人员,但我个人遵循一些准则。
import module。例如,如果一个模块具有这样的名称,select()则可能意味着很多事情。如果它来自 sql 库,它可能是一个 select 语句,我也看到在接受用户输入等的库中使用了相同的名称。基本上遵循python 的禅宗
显式优于隐式
math和secrets模块中都有一个名为 choice 的函数,但模块中只有一个函数secrets被设计用于密码学,因此最好import secrets使用 和secrets.choice或math.choice来代替,这样您就知道您正在使用哪一个。from module import function as blah。只要该术语保持一致,这就是组织导入的好方法。例如,如果您的团队总是引用您可以做的事情random.randint(这是一个不好的例子,这只是我突然想到的),但这意味着您组织之外的任何人都不一定理解代码的作用。randyfrom random import randint as randyfrom module import *这总是一个糟糕的主意,因为它带来了一切,并且可能导致与文件内函数的名称冲突。from module import blah可以有效避免命名冲突。我可以继续说很长时间,但正如 @ Mayank提到的,这里已经发布了另一个很好的答案:使用“导入模块”或“从模块导入”?