欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中的單下劃線與雙下劃線以及絕對(duì)導(dǎo)入與相對(duì)導(dǎo)入

 更新時(shí)間:2022年11月02日 14:05:37   作者:打工人小飛  
這篇文章主要介紹了python中的單下劃線與雙下劃線以及絕對(duì)導(dǎo)入與相對(duì)導(dǎo)入說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

單下劃線與雙下劃線

在 python 中,會(huì)看到 _xx, xx 以及 __xx 這樣的變量或者函數(shù)名,在這里做一個(gè)簡(jiǎn)要的總結(jié)。

  • _xx:保護(hù)(protected)變量或函數(shù),意思是只有類對(duì)象和子類對(duì)象能夠訪問到這些變量,不能用 ‘from module import *’ 導(dǎo)入。當(dāng)變量或函數(shù)是私有的時(shí)候,用 _xx 來表示是很好的習(xí)慣。;
  • __xx:私有成員,意思是只有類對(duì)象自己能訪問,連子類對(duì)象也不能訪問到這個(gè)數(shù)據(jù);
  • _xx_:代表 python 里特殊方法專用的標(biāo)識(shí),如 _init_() 代表類的構(gòu)造函數(shù)。變量名 _xx_ 對(duì) python 來說有特殊含義,對(duì)于普通的變量應(yīng)當(dāng)避免這種命名風(fēng)格。

下劃線對(duì)解釋器有特殊的意義,而且是內(nèi)建標(biāo)識(shí)符所使用的符號(hào),應(yīng)避免用下劃線作為變量名的開始。

絕對(duì)導(dǎo)入與相對(duì)導(dǎo)入

既然上文說到了包的導(dǎo)入,就順便把 python 的包內(nèi)導(dǎo)入規(guī)則說一下,分為絕對(duì)導(dǎo)入與相對(duì)導(dǎo)入。

  • 相對(duì)導(dǎo)入:在不指明 package 名的情況下導(dǎo)入自己這個(gè) package 的模塊,比如一個(gè) package 下有 a.py 和 b.py 兩個(gè)文件,在 a.py 里 from . import b 即是相對(duì)導(dǎo)入 b.py;
  • 絕對(duì)導(dǎo)入:指明頂層 package 名。比如 import a,python 會(huì)在 sys.path 里尋找所有名為 a 的頂層模塊。

在 3.0 以前的舊版本中啟用相對(duì)導(dǎo)入等特性所必須的 _future_ 語句:

from __future__ import absolute_import

python 包的概念:包含 _init_.py 文件的目錄,該文件在包導(dǎo)入時(shí)會(huì)被首先執(zhí)行,該文件可以為空,也可以在其中加入任意合法的 python 代碼。

相對(duì)導(dǎo)入的特點(diǎn):可以避免硬編碼帶來的維護(hù)問題,例如我們改了某一頂層包的名,那么其子包所有的導(dǎo)入就都不能用了。

但是 存在相對(duì)導(dǎo)入語句的模塊,不能直接運(yùn)行,否則會(huì)有異常:

ValueError: Attempted relative import in non-package

盡管使用相對(duì)導(dǎo)入看起來像是瀏覽文件系統(tǒng),但是不能到定義包的目錄之外。也就是說,使用點(diǎn)的這種模式從不是包的目錄中導(dǎo)入將會(huì)引發(fā)錯(cuò)誤。

絕對(duì)導(dǎo)入的特點(diǎn):可以避免與標(biāo)準(zhǔn)庫(kù)命名的沖突,實(shí)際上也不推薦自定義模塊與標(biāo)準(zhǔn)庫(kù)命令相同。

硬編碼的概念

與軟編碼的區(qū)別是,軟編碼可以在運(yùn)行時(shí)確定,修改;而硬編碼是不能夠改變的。

舉個(gè)例子:

例如求圓的面積問題,那么 3.14*r*r 就是硬編碼,而 PI*r*r 就不是硬編碼。

把數(shù)值寫成常數(shù)而不是變量即硬編碼。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中使用雙下劃線防止類屬性被覆蓋問題

    Python中使用雙下劃線防止類屬性被覆蓋問題

    這篇文章主要介紹了Python中使用雙下劃線防止類屬性被覆蓋,需要的朋友可以參考下
    2019-06-06
  • Python繪制多因子柱狀圖的實(shí)現(xiàn)示例

    Python繪制多因子柱狀圖的實(shí)現(xiàn)示例

    本文主要介紹了Python繪制多因子柱狀圖的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • PyQt5超詳細(xì)入門級(jí)教程(推薦!)

    PyQt5超詳細(xì)入門級(jí)教程(推薦!)

    PyQt5是Python編程語言的一個(gè)模塊,它提供了一種在Python中使用Qt庫(kù)的方式,下面這篇文章主要給大家介紹了關(guān)于PyQt5超詳細(xì)入門級(jí)教程的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • python第三方庫(kù)easydict的使用實(shí)例詳解

    python第三方庫(kù)easydict的使用實(shí)例詳解

    在?Python?中當(dāng)我們需要訪問字典中的元素的時(shí)候,我們需要使用類似?a['example']?的形式來進(jìn)行使用,這個(gè)時(shí)候就可以使用 easydict 這個(gè)模塊了,今天通過本文給大家講解python第三方庫(kù)easydict的使用,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • Python利用folium實(shí)現(xiàn)地圖可視化

    Python利用folium實(shí)現(xiàn)地圖可視化

    Folium是建立在Python生態(tài)系統(tǒng)的數(shù)據(jù)整理(Datawrangling)能力和Leaflet.js庫(kù)的映射能力之上的開源庫(kù)。這篇文章主要給大家介紹了關(guān)于如何Python利用folium實(shí)現(xiàn)地圖可視化的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • 如何利用python正確地為圖像添加高斯噪聲

    如何利用python正確地為圖像添加高斯噪聲

    這篇文章主要給大家介紹了關(guān)于如何利用python正確地為圖像添加高斯噪聲的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python中figure與axies繪圖有哪些不同

    Python中figure與axies繪圖有哪些不同

    這篇文章主要介紹了Python中figure與axies繪圖有哪些不同,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-02-02
  • python 匿名函數(shù)與三元運(yùn)算學(xué)習(xí)筆記

    python 匿名函數(shù)與三元運(yùn)算學(xué)習(xí)筆記

    這篇文章主要介紹了python 匿名函數(shù)與三元運(yùn)算的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python 編程,感興趣的朋友可以了解下
    2020-10-10
  • django框架如何集成celery進(jìn)行開發(fā)

    django框架如何集成celery進(jìn)行開發(fā)

    本文給大家詳細(xì)講解了在django框架中如何集成celery進(jìn)行開發(fā),步驟非常詳細(xì),有需要的小伙伴可以參考下
    2017-05-05
  • python實(shí)現(xiàn)網(wǎng)頁自動(dòng)簽到功能

    python實(shí)現(xiàn)網(wǎng)頁自動(dòng)簽到功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)網(wǎng)頁自動(dòng)簽到功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評(píng)論