从模块导入多个类的语法

2024-06-23

我正在阅读一些包含以下导入语句的代码:

from threading import local as thread_local, Event, Thread

起初这个语法让我很困惑,但我认为它相当于:

from threading import local as thread_local
from threading import Event
from threading import Thread

谁能确认是否是这种情况?


您可以在官方文档上查看这一点。这是的文档import syntax https://docs.python.org/3/reference/simple_stmts.html#import:

import_stmt     ::=  "import" module ["as" name] ( "," module ["as" name] )*
                     | "from" relative_module "import" identifier ["as" name]
                     ( "," identifier ["as" name] )*
                     | "from" relative_module "import" "(" identifier ["as" name]
                     ( "," identifier ["as" name] )* [","] ")"
                     | "from" module "import" "*"
module          ::=  (identifier ".")* identifier
relative_module ::=  "."* module | "."+
name            ::=  identifier

请注意您如何始终拥有import module ["as" name] and identifier ["as" name],包括在列表定义中:

( "," identifier ["as" name] )* 

这意味着一个逗号,后跟一个标识符,可以选择分配as到一个名字和)*意味着“该组可以重复零次或多次,其中包括您提供的示例。

稍后在同一页面上也对此进行了解释:

The fromform 使用稍微复杂的过程:

  1. 找到指定的模块from子句,必要时加载并初始化它;
  2. for each of the identifiers specified in the import clauses:
    1. 检查导入的模块是否具有该名称的属性
    2. 如果没有,请尝试导入具有该名称的子模块,然后再次检查导入的模块的该属性
    3. 如果没有找到该属性,ImportError被提出。
    4. 否则,对该值的引用存储在本地命名空间中,使用as子句(如果存在),否则 使用属性名称
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从模块导入多个类的语法 的相关文章

随机推荐

  • 双“for”在列表理解中如何工作?

    因此 有关此问题出现的问题背景 请参阅此link https stackoverflow com questions 48049006 matching states and cities with possibly multiple wo
  • 通过 apache 服务器内的服务器端过滤动态包含 piwik 代码

    经过几个小时的无果尝试后 我想请求大家通过简单的设置提供一点帮助 对于我使用的 apache2 http 服务器运行的一堆 Web 应用程序和站点Piwik http piwik org 进行简单的统计概述 效果很好 让我烦恼的是 对于每个
  • SwiftUI Switch 语句转换行为不符合预期

    我越来越出乎意料 transition使用时的行为switch更新视图的语句与使用两个语句时的比较if声明 他们俩if语句正在按预期将视图滑入和滑出 但是 相同的转换switch语句导致视图从一侧滑入并从另一侧退出 我正在寻找使用switc
  • 使用 CMake 设置 SystemC 项目:对 `sc_core 的未定义引用

    我正在尝试使用 CMake 在 SystemC 中构建一个简单的 hello world 这是SystemC文件main cpp include
  • 如何以编程方式隐藏桌面图标?

    如何使用 C 以编程方式显示 隐藏桌面图标 我正在尝试创建一个使用小部件的替代桌面 并且我需要隐藏旧图标 您可以使用 Windows API 来执行此操作 以下是 C 示例代码 用于切换桌面图标 DllImport user32 dll S
  • 在 Rails 中生成 slugs(人类可读的 ID)的最佳方法

    你知道 比如 myblog com posts donald e knuth 我是不是该使用内置的parameterize method https stackoverflow com questions 1252506 rails slu
  • Math.random() 与 Random.nextInt(int)

    有什么区别Math random n and Random nextInt n where n是一个整数 Here is 详细解释 https community oracle com message 6596485 thread mess
  • 如何通过 iMessage ios 8 发送音频文件

    正如我们所知 随着 ios 8 的推出 苹果允许自定义键盘扩展 在键盘扩展中 我们可以使用 将图像复制到剪贴板 在短信中发送图像 gif 等 代码 UIPasteboard pasteboard UIPasteboard generalPa
  • 设置代理隐藏我的IP地址以使用scrapy抓取网页

    我正在使用 scrapy 抓取网站 现在我需要设置代理处理已发送的请求 谁能帮我解决scrapy应用程序中设置的代理问题 如果有的话 也请提供任何示例链接 我需要解决这个请求来自哪个 IP 的问题 您可以通过下面找到的代码来做到这一点her
  • Python / Pyspark - 计数 NULL、空和 NaN

    我想计算列中的 NULL 空和 NaN 值 我尝试过这样的 df filter df ID df ID isNull df ID isnan count 但我总是收到此错误消息 TypeError Column object is not
  • R Shiny Handling - 处理空数据帧的错误

    我正在编写我的第一个 Shiny 应用程序 到目前为止我很享受它 我的应用程序在一个数据框架上运行 其中包含许多衡量膳食方面的变量 它允许用户使用滑块选择六个连续变量的范围 这些输入用于对数据帧进行子集化 然后ggplot是基于数据子集创建
  • 避免 Mono Cryptic GC 错误消息

    我目前正在 mono Mac OSX 中运行一个程序 该程序读取一个非常大的数据文件并在聚合后创建摘要统计信息 奇怪的是 我在程序中的某个时刻收到以下错误消息 Garbage collector could not allocate 163
  • 通过对变量进行分组来绘制均值比较的 pvalue 信息

    我已经整理了一个图来单独查看组 但现在希望在图中包含平均成对比较的显着性水平 虽然我可以在绘图之外进行比较 但我想知道将比较包含在绘图中的最有效方法是什么 目前的地块 library tidyverse dsub lt diamonds s
  • 测试期权价值的更好方法?

    我经常发现自己Option T 对于某些类型T并希望根据某个值来测试期权的价值 例如 val opt Some oxbow if opt isDefined opt get lakes do something 以下代码是等效的 并且不需要
  • PowerShell 脚本将双引号内的逗号替换为空

    我有一个逗号分隔的 CSV 文件 我打算将双引号中的逗号替换为空 并将双引号替换为空 Editor s note The original form of this question asked to change the delimite
  • C# 代码中的 JsonArrayAttribute 用法 (Json.Net)

    查找将 JsonArrayAttribute 与 C 类一起使用或作为 JSON 反序列化属性的语法示例 我想删除当前代码中的显式列表 并查看 JsonArrayAttribute 在实际代码中的实际工作原理 这是我真正的问题 你不能用谷歌
  • C++ 读取音频文件

    我想使用 C 读取音频 wav 文件 到目前为止我已经阅读了 wav 文件的标题 如何循环进入 wav 文件的数据部分并将其转换为 1 and 1然后将其写入txt文件 我已完成以下操作 但当我使用 MATLAB 绘制生成的 txt 文件时
  • 如何对调查中问题的自由形式答案进行分类和表格化?

    我想分析网络调查的答案 2008 年 Git 用户调查 http git or cz gitwiki GitSurvey2008如果有人感兴趣的话 其中一些问题是自由形式的问题 例如 您是如何听说 Git 的 由于回复数量超过 3 000
  • Keras 中 Adam 优化器的衰减参数

    我认为 Adam 优化器的设计可以自动调整学习率 但是 Keras 中有一个选项可以明确提及 Adam 参数选项中的衰减 我想澄清衰减对 Keras 中 Adam 优化器的影响 如果我们在 lr 0 001 上使用衰减 例如 0 01 编译
  • 从模块导入多个类的语法

    我正在阅读一些包含以下导入语句的代码 from threading import local as thread local Event Thread 起初这个语法让我很困惑 但我认为它相当于 from threading import l