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.pswp.cn/news/537265.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537265.shtml
英文地址,請注明出處:http://en.pswp.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)} }對象的構造器在對象第一次被使用時…