python3.12答案_编程常见问题

通常,不要使用 from modulename import * 。这样做会使导入器的命名空间变得混乱,并且使得连接器更难以检测未定义的名称。

在文件的顶部导入模块。这样做可以清楚地了解代码所需的其他模块,并避免了模块名称是否在范围内的问题。每行导入一个模块可以轻松添加和删除导入的模块,但每行导入多个模块会占用更少的屏幕空间。

如果按以下顺序导入模块,这是一种很好的做法:

标准库模块 – 例如: sys, os, getopt, re

第三方库模块(安装在Python的site-packages目录中的任何内容) – 例如mx.DateTime,ZODB,PIL.Image等

本地开发的模块

有时需要将模块导入语句移动到函数或类里面,以避免循环导入问题。Gordon McMillan 说:

当两个模块都使用 “import ” 的导入形式时,循环导入就可以了。但是当第 2 个模块想从第 1 个模块中获取一个名称 (“from module import name”) 并且导入位于顶层时,就会出错。 这是因为第 1 个模块中的名称还不可用,因为第 1 个模块正在忙着导入第 2 个模块。

在这种情况下,如果第二个模块仅用于一个函数,则可以轻松地将模块导入语句移动到该函数中。调用导入时,第一个模块将完成初始化,第二个模块可以进行导入。

如果某些模块是特定于平台的,则可能还需要将模块导入语句移出顶级代码。在这种情况下,甚至可能无法导入文件顶部的所有模块。在这种情况下,在相应的特定于平台的代码中导入正确的模块是一个很好的选择。

只有当需要解决诸如避免循环导入或试图减少模块初始化时间的问题时,才可以将导入移动到本地范围,例如在函数定义中。如果根据程序的执行方式,许多导入是不必要的,这种技术尤其有用。如果仅在某个函数中使用模块,您还可能希望将导入移到该函数中。请注意,第一次加载模块可能会因为模块的一次初始化而代价高昂,但多次加载模块实际上是免费的,只需进行几次字典查找。即使模块名称超出了作用域,模块也可能在 sys.modules 中可用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何根据视频的宽屏与竖屏来排序?

原理 宽屏与竖屏是根据 帧高度 与 帧宽度 来区分的 帧高度就是图片高度(纵向的像素尺寸),帧宽度就是图片宽度(横向的像素尺寸),分辨率就是(高度x宽度)。 windows11的文件排序&…

HashiCorp Vault 1.0开源自动解封特性,新增Batch令牌

HashiCorp发布了其秘密管理工具Vault 的1.0版本,并开源了在发生故障或重启后继续使用Vault服务器所需的“自动解封(auto-unseal)”特性。这个版本提供了一种可以用于临时工作负载的新令牌batch。另一个新特性是,Kubernetes auth现…

sap模块介绍_小迈说|SAP究竟有多少模块?

SAP究竟有哪些模块继上一期小迈说SAP!SPA?的区别,相信大部分读者明白了我们与水浴按摩行业的分别,可是仅仅区分名字还不够,SAP还有众多的模块,这些又该怎么去了解呢?这就轮到肩负爱与责任的小迈…

360 再次开源管理平台 Wayne:基于企业级 Kubernetes 集群

2019独角兽企业重金招聘Python工程师标准>>> 奇虎 360 宣布正式开源 Wayne ,这是一个由 360 搜索云平台团队开发的通用的、基于 Web 的 Kubernetes 多集群一站式可视化管理平台。内置了丰富多样的功能,满足企业的通用需求,同时插件…

python setup.py install 出错_python setup.py install 失败

python setup.py install 报错ImportError: No module named setuptools学习光荣之路python课程时,使用python setup.py install安装其他模块时,第一次安装某模块成功了.安装另一模块却报错ImportError: No module named s ...对于python setup&perio…

Node.js 根本没有这样搞性能优化的?

1、使用最新版本的 Node.js 仅仅是简单的升级 Node.js 版本就可以轻松地获得性能提升,因为几乎任何新版本的 Node.js 都会比老版本性能更好,为什么? Node.js 每个版本的性能提升主要来自于两个方面: V8 的版本更新;Nod…

可交付成果、核实的可交付成果、验收的可交付成果?

①可交付成果。指的是在某一过程、阶段或项目完成时,产出的任何独特并可核实的产品、成果或服务。可交付成果可能是有形的,也可能是无形的。【研发完成】 ②核实的可交付成果。是指已经完成,并经过“控制质量”过程检查为正确的可交付成果。…

安装oracle到create inventory时卡住了怎么办_win10系统安装教程(官方工具)

Hi,大家好。对于小白用户,装系统是比较头疼的事,所以今天写一个简单易懂的装系统教程。使用微软官方提供的工具制作U盘启动盘,操作简单,系统纯净,强烈建议小白用户使用。缺点是该工具功能单一,并…

Microsoft Project 排计划的步骤

Microsoft Project 排计划的步骤: 第一步:设置项目信息,开始日期,选择日历; 第二步:编制WBS 第三步:设置前置任务 第四步:设置WBS每个工期 第五步:设置资源名称&#xff…

自建CDN Xnign产品指标

Xnign-X1 Xnign-X1 性能参数参考值L7 HTTP RPS (128并发请求)250W QPSL7 HTTP CPS (128并发请求)110W QPSL7 HTTP RPS (100W并发请求)180W QPSL7 HTTP CPS (100W并发请求)60W QPSL7 …

python表达式的值是 y 和n是什么意思_python中^是什么意思

展开全部在Python" // "表示整数除法。Python其它表达式e69da5e887aa3231313335323631343130323136353331333431353432:Python的表达式写法与C/C类似。只是在某些写法有所差别。主要的算术运算符与C/C类似。, -, *, /, //, **, ~, %分别表示加法或者取正、…

Linux的启动流程简析(以Debian为例)

Linux的启动流程简析(以Debian为例) 正文:前面的文章探讨BIOS和主引导记录的作用。那篇文章不涉及操作系统,只与主板的板载程序有关。今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流…

一阶电路中的时间常数_精确移相电路的设计举例

移相电路就是对输入信号(一般是正弦波)进行相位控制,而不改变其幅度,本推文以移相电路为例,展示模拟电路的反馈设计技巧与方法:一、全通滤波器实现移相以上是两种移相电路 的原理,其输出幅度保持不变,移动的…

工作绩效数据、工作绩效信息、工作绩效报告

目录 概念 举例 概念 工作绩效数据:观察,测量,采集到的原始数据 工作绩效信息:对“工作绩效数据”进行加工分析 工作绩效报告:对“工作绩效信息”进行白话 举例 以去健身房为例 1)工作绩效数据&…

tickcount()修改成小时分钟_银行核心系统24小时机制实现总结

本文共2268字 | 建议阅读时间:5分钟作者:张广在核心系统的设计实现中,24小时机制向来是一个重点难点。早期的银行只有柜面一个业务办理渠道,因此当时的综合业务系统,跟随网点的营业时间,分为日起&#xff0…

美国将尝试区块链领域和加密货币相结合

首期隐匿性研究综述有三篇涉及以太坊Casper缺陷问题的论文评论,比特币通用货币理想的内在限制存在两个问题:以太坊Casper的缺陷问题、比特币UTXO解决方案的发展。 美国新闻报道,加密货币与区块链跨领域研究同侪评论这项一项大胆尝试&#xff…

python 人气高的项目_给大家推荐:五个Python小项目,Github上的人气很高的

deepfake 的深度学习技术,这款工具本来的用途是用来识别和交换图片、视频中人物脸部图像的工具 。该项目有多个入口,你需要做的事:● 收集照片● 从原始照片中提取面部图像● 在照片上训练模型● 使用模型转换源代码3.神经网络库 kerashttps:…

WBS结果输出表

目录​​​​​​​ 概述 模板 案例 扩展阅读 概述 花了很大力气分解的WBS,要趁热打铁,把每个活动落实到人。 模板 推荐一个模板 1:修改成项目名 2:填写项目基本信息 3:WBS的最底层工作包 4:工作…

scala:对象object

Scala没有静态方法或字段,可以用对象object(首字母小写)结构完成类似的功能。 object M {var count 0;def inc {count 1; count}def main(args: Array[String]){println(M.count)M.incprintln(M.count)} }对象的构造器在对象第一次被使用时…