python的导入(import)使用建议

本文介绍了Python编程风格指南PEP0008中关于import语句的最佳实践,强调了单独一行、分组规则、绝对导入优先以及避免通配符导入的重要性,以保持代码清晰和一致性。
摘要由CSDN通过智能技术生成

https://peps.python.org/pep-0008/#imports

  • import通常占用单独的行。
    例如下面的是正确的:
    在这里插入图片描述

下面的是不正确的:
在这里插入图片描述

不过,这样是正确的:
在这里插入图片描述

  • import总是放在文件的顶部,紧跟在任何模块注释和文档字符串之后,以及模块全局变量和常量之前。

导入应按以下顺序分组:

  1. 标准库导入。
  2. 相关的第三方导入。
  3. 本地应用程序/库特定的导入。

每组导入之间应该留一个空行。

  • 建议使用绝对导入,因为它们通常更具可读性,并且如果导入系统配置不正确(例如,当包内部的目录最终出现在sys.path中时),它们通常会表现得更好(或至少给出更好的错误消息):
    在这里插入图片描述

但是,明确的相对导入是绝对导入的可接受替代方案,尤其是在处理复杂的包布局时,使用绝对导入会过于冗长:
在这里插入图片描述

标准库代码应避免复杂的包布局,并始终使用绝对导入。

  • 当从一个包含类的模块导入类时,通常可以这样拼写:
    在这里插入图片描述

如果这种拼写导致本地名称冲突,则明确拼写它们:
在这里插入图片描述
并使用myclass.MyClassfoo.bar.yourclass.YourClass

  • 应避免使用通配符导入(from <module> import *),因为它们会使命名空间中的哪些名称出现变得不明确,从而使读者和许多自动化工具感到困惑。通配符导入也有例外,那就是将内部接口作为公共API的一部分重新发布(例如,使用来自可选accelerator 模块的定义覆盖接口的纯Python实现,并且预先不知道将覆盖哪些定义)。
  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值