Python 中的好或坏实践:在文件中间导入 [重复]

2023-12-15

假设我有一个相对较长的模块,但只需要一次外部模块或方法。

在模块中间导入该方法或模块是否被认为可以?

或者应该import仅位于该模块的第一部分。

Example:

import string, pythis, pythat
...
...
...
...
def func():
     blah
     blah 
     blah
     from pysomething import foo
     foo()
     etc
     etc 
     etc
...
...
...

请证明您的答案并添加链接PEP或相关来源


PEP 8权威地指出:

导入总是放在最前面 文件,紧接在任何模块之后 注释和文档字符串,以及模块全局变量和常量之前。

PEP 8 应该是任何“内部”风格指南的基础,因为它总结了核心 Python 团队发现的最有效的整体风格(当然,与任何其他语言一样,也存在个人异议,但共识并且 BDFL 同意 PEP 8)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的好或坏实践:在文件中间导入 [重复] 的相关文章

随机推荐

  • 具有刚性变量的数组

    好吧 我正在做一个问题 其中我使用的函数有一个刚性变量 我想到了使用数组来解决这个问题 所以我想到使用与我创建的函数具有相同刚性变量的数组 但我不知道如何使用刚性变量创建数组 我尝试了以下操作但没有效果 rearrange Int gt a
  • Exec 命令未按预期工作

    我正在尝试从 PHP 脚本启动 CLI 命令 特别是我想使用这个命令convert a png a tif将图像转换为 tiff 当我从 CLI 启动此命令时 它会按预期工作 但如果我使用以下代码从 PHP 脚本启动 它不会在我的文件夹中创
  • Javascript 全局变量没有更新

    我正在制作这个网站 我想从另一个函数更新全局变量 全局变量i初始化为 0 我创建了 2 个函数 第一个用于更新全局变量并通过警报显示新值 第二个函数仅警报更新后的全局变量的新值 现在的问题是 当我调用第一个函数时 它会提醒新的更新值 但是当
  • Wagtail 单元测试:添加子页面将它们转换为基本类型

    尝试为 Wagtail 创建一些单元测试并遇到以下问题 gt gt root FrontPage add root instance FrontPageFactory build gt gt root
  • 使用 LINQ 进行多重排序[重复]

    这个问题在这里已经有答案了 我从一个基本类开始 我想使用 LINQ 在列表中操作它 如下所示 public class FooBar public virtual int Id get set public virtual string F
  • Delphi 7 - 如何使用输入框

    我正在编写一个程序 您必须在输入框中输入密码才能访问该程序的最小功能 但是 如果您单击输入框中的 取消 我的程序会出现错误消息 所以我想知道是否有人知道我如何才能做到这一点 因为通过 Messagedlg 我知道你使用 IF 但是我怎样才能
  • 在 WCF 中实现 JSON-RPC

    我一直在四处寻找 但没有找到解决方案 我想用 WCF 实现一个 JSON RPC 服务器 我找到了这个http jsonrpc2 codeplex com 但它不使用 WCF 我知道如何集成它 有人可以给我一个关于如何将所有东西组合在一起的
  • 区分不同类型的 MIFARE Ultralight

    如何识别不同类型的MIFARE Ultralight标签 在文档中AN10834Ultralight 和 Ultralight C 的不同之处在于 Auth 的答案 这个 验证 是什么 芯片的datasheet中没有对该功能的描述 我注意到
  • AOSP - 错误:覆盖目标 (...) 的命令,先前在 (...) 定义

    我正在尝试为不支持的设备构建 AOSP surnia Moto E2 2015 LTE 我之前解决了很多问题 但现在我遇到了一个无法避免的问题 我看到很多人都有这个问题 但他们只是警告 我能做些什么 或者你能帮我找到 surnia 设备树
  • “char *var[3]”和“char var[3][15]”有什么区别?

    我对以下两种方式感到困惑 char var 3 15 Hello world good bad as known this is for an 2D array char var 3 Hello world good bad and thi
  • GData 静态库:使用 -fno-objc-arc 从 ARC 中排除文件?

    我在使用 ARC 的应用程序中使用 GData 静态库 谷歌的说明说将头文件从库链接到项目目标 问题是 当我这样做时 我会收到编译器错误 因为 GData 库与 ARC 不兼容 谷歌声明 弧兼容性 当库源文件直接编译到使用 ARC 的项目中
  • 如何使用正则表达式(递归?)匹配嵌套函数调用(括号对)

    我正在寻找一个正则表达式 来匹配未知数量的嵌套函数 所以 expression function expression function function expression function function function expr
  • 如何从 URL 中删除 index.php?

    我的 Magento 安装中的所有 URL 都需要包含 index php 例如 http example com index php admin http example com index php customer account lo
  • 我无法在 iOS 中从 Facebook 获取用户数据

    我是 iPhone 编程新手 使用下面的代码我登录 Facebook 并获取数据 但这里的问题是 如果单击 Loginwithfacebook 按钮 Facebook 对话框打开 之后 如果再次单击相同的内容 我将输入 Facebook 的
  • JPA 2.0:在 JPA 2.0 中使用 javax.validation.* 包的异常

    当我尝试使用 hibernate 使用 JPA 进行 bean 验证时 会发生以下异常 Exception in thread main javax persistence PersistenceException PersistenceU
  • 8086中的堆栈段和堆栈指针

    我对堆栈段 ss 和堆栈指针 sp 寄存器有点困惑 当堆栈为空时 sp值等于ss值吗 我读到 当我们将一个字 2字节 推入堆栈时 sp会减2 如果第一个语句为真 sp ss 那么我可以说 如果堆栈不为空 堆栈指针的值总是较小或等于堆栈段的值
  • Javascript 代码计算按钮的点击次数

    我有一个页面 我想计算按钮的点击次数 数字显示在该按钮的正下方 我尝试搜索并找到了这个 我认为这不会计算点击总数 跟踪按钮点击次数 我熟悉 javascript 代码 因此任何帮助都会很有用 HTML 代码
  • 如何从 Firebase 托管应用程序引用 Firebase Functions 配置变量?

    我正在将 Heroku 托管的 ReactJS NodeJS 应用程序转换为托管在 Firebase 上 由于 Firebase 仅处理静态页面 因此我需要重新配置开发 暂存 生产环境的私有环境特定变量的配置方式 例如 在我定义这些变量之前
  • 如何将 Managed Bean 字段设置为 ui:param 的值?

    我有一个 JSF 页面 它包含在其他 JSF 页面中 基本上是页面标题 包含公共信息 该公共页面有其自己的控制器 并且依赖于包含该公共页面的页面向其传递一些公共数据 具体来说 我目前正在尝试使用以下方法将此公共页面包含在其他页面上
  • Python 中的好或坏实践:在文件中间导入 [重复]

    这个问题在这里已经有答案了 假设我有一个相对较长的模块 但只需要一次外部模块或方法 在模块中间导入该方法或模块是否被认为可以 或者应该import仅位于该模块的第一部分 Example import string pythis pythat