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

Python關(guān)于__name__屬性的含義和作用詳解

 更新時間:2020年02月19日 11:57:39   作者:xmp1669217327  
在本篇文章里小編給大家分享的是關(guān)于Python關(guān)于__name__屬性的含義和作用知識點,需要的朋友們可以參考下。

Python中的模塊(.py文件)在創(chuàng)建之初會自動加載一些內(nèi)建變量,__name__就是其中之一。Python模塊中通常會定義很多變量和函數(shù),這些變量和函數(shù)相當(dāng)于模塊中的一個功能,模塊被導(dǎo)入到別的文件中,可以調(diào)用這些變量和函數(shù)。那么這時 __name__ 的作用就彰顯了,它可以標(biāo)識模塊的名字,可以顯示一個模塊的某功能被自己執(zhí)行還是被別的文件調(diào)用執(zhí)行,假設(shè)模塊A、B,模塊A自己定義了功能C,模塊B調(diào)用模塊A,現(xiàn)在功能C被執(zhí)行了:

如果C被A自己執(zhí)行,也就是說模塊執(zhí)行了自己定義的功能,那么 __name__=='__main__'

如果C被B調(diào)用執(zhí)行,也就是說當(dāng)前模塊調(diào)用執(zhí)行了別的模塊的功能,那么__name__=='A'(被調(diào)用模塊的名字)

其實換一種說法也就是表示當(dāng)前程序運(yùn)行在哪一個模塊中

下面舉例說明:

首先自定義模塊Student,在模塊中定義功能Differ()

然后先自身執(zhí)行,結(jié)果如下, __name__=='__main__'

 

然后B調(diào)用執(zhí)行,結(jié)果 __name__=='Student'

 

 

上面出兩次結(jié)果,是因為python中導(dǎo)入模塊會先將文件執(zhí)行一遍,如下圖

到這兒可能有人已經(jīng)注意到,上面的 __main__ 在python中作可以為函數(shù)的入口,而實際工程常用 if __name__=='__main__'來表示整個工程開始運(yùn)行的入口。此外你如果不想讓功能的某部分被別的模塊調(diào)用執(zhí)行,比如我自定的模塊Student里的‘我的密碼是xxx',只有自己執(zhí)行才可以打印密碼。所有你可以把部分寫在if語句里,只有__name__=='__main__'的時候才能執(zhí)行。這個可以這么理解,在if語句之外代碼是最外層的,有點“全局變量”的意思,放入if里面就成了私有的了。

知識點擴(kuò)充

1.__name__

__name__ 是屬于 python 中的內(nèi)置類屬性,就是它會天生就存在與一個 python 程序中,代表對應(yīng)程序名稱。

也分兩種情況:

1)當(dāng)python程序自己執(zhí)行時,__name__變量的值就是:__main__

2) 當(dāng)python程序是作為模塊被導(dǎo)入時,那么__name__變量的值就是:程序的文件名,也就是.py前面的文件名稱。

2.使用場景

一般我們說使用場景,肯定會根據(jù)該知識點的功能來判斷。

情況一:比如有個功能模塊的程序test.py,在該程序里面有一部分是測試代碼,測試代碼塊會輸出內(nèi)容,驗證該程序是否能完成我們需求的功能。

但是我們在實際導(dǎo)入該模塊時,不需要輸出測試內(nèi)容。因此可以用if語句判斷__name__的值,進(jìn)而限制測試代碼是否執(zhí)行。

以上就是腳本之家結(jié)合多篇整理的相關(guān)內(nèi)容,感謝大家的支持。

相關(guān)文章

  • python?matplotlib繪圖過程中設(shè)置線條顏色實戰(zhàn)舉例

    python?matplotlib繪圖過程中設(shè)置線條顏色實戰(zhàn)舉例

    Matplotlib是一個用于數(shù)據(jù)可視化和創(chuàng)建交互式圖表的Python庫,下面這篇文章主要給大家介紹了關(guān)于python?matplotlib繪圖過程中設(shè)置線條顏色的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Python入門之基礎(chǔ)語法詳解

    Python入門之基礎(chǔ)語法詳解

    這篇文章主要介紹了Python入門之基礎(chǔ)語法詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很大的幫助喲,需要的朋友可以參考下
    2021-05-05
  • Python數(shù)組遍歷的簡單實現(xiàn)方法小結(jié)

    Python數(shù)組遍歷的簡單實現(xiàn)方法小結(jié)

    這篇文章主要介紹了Python數(shù)組遍歷的簡單實現(xiàn)方法,結(jié)合實例總結(jié)分析了Python針對數(shù)組的元素,索引常用遍歷技巧,需要的朋友可以參考下
    2016-04-04
  • Django框架的使用教程路由請求響應(yīng)的方法

    Django框架的使用教程路由請求響應(yīng)的方法

    這篇文章主要介紹了Django框架的使用教程路由請求響應(yīng)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Python學(xué)習(xí)筆記之While循環(huán)用法分析

    Python學(xué)習(xí)筆記之While循環(huán)用法分析

    這篇文章主要介紹了Python學(xué)習(xí)筆記之While循環(huán)用法,結(jié)合具體實例形式分析了while循環(huán)的原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-08-08
  • pandas的apply函數(shù)用法詳解

    pandas的apply函數(shù)用法詳解

    本文主要介紹了pandas的apply函數(shù)用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Python中py文件引用另一個py文件變量的方法

    Python中py文件引用另一個py文件變量的方法

    下面小編就為大家分享一篇Python中py文件引用另一個py文件變量的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python 內(nèi)置庫wsgiref的使用(WSGI基礎(chǔ)入門)

    python 內(nèi)置庫wsgiref的使用(WSGI基礎(chǔ)入門)

    WSGI(web服務(wù)器網(wǎng)關(guān)接口)主要規(guī)定了服務(wù)器端和應(yīng)用程序之間的接口,即規(guī)定了請求的URL到后臺處理函數(shù)之間的映射該如何實現(xiàn)。wsgiref是一個幫助開發(fā)者開發(fā)測試的Python內(nèi)置庫,程序員可以通過這個庫了解WSGI的基本運(yùn)行原理,但是不能把它用在生產(chǎn)環(huán)境上。
    2021-06-06
  • Python接口測試文件上傳實例解析

    Python接口測試文件上傳實例解析

    這篇文章主要介紹了Python接口測試文件上傳實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • 華為校園招聘上機(jī)筆試題 撲克牌大?。╬ython)

    華為校園招聘上機(jī)筆試題 撲克牌大?。╬ython)

    這篇文章主要為大家詳細(xì)介紹了華為校園招聘上機(jī)筆試題:撲克牌大小,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06

最新評論