真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么使Python中的自定義函數(shù)可以全局使用

本文小編為大家詳細(xì)介紹“怎么使Python中的自定義函數(shù)可以全局使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“怎么使Python中的自定義函數(shù)可以全局使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

成都創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè)|企業(yè)網(wǎng)站維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計服務(wù),案例作品覆蓋成都服務(wù)器租用等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身設(shè)計品質(zhì)網(wǎng)站。

我們在開發(fā)Python項(xiàng)目的時候,經(jīng)常會寫一些工具函數(shù)。為了在項(xiàng)目里面多個.py文件中使用這個工具函數(shù),就不得不在多個地方都導(dǎo)入它,非常麻煩。

例如下面這個例子:

怎么使Python中的自定義函數(shù)可以全局使用

在A.py和C.py文件都要使用clean_msg這個工具函數(shù),那么他們就都要從util.py中導(dǎo)入clean_msg。這似乎理所當(dāng)然。

但今天我在看icecream/builtins.py[1]源代碼的時候,突然發(fā)現(xiàn)了一個高級用法,可以讓我們使用工具函數(shù)的時候,就像使用Python的print函數(shù)一樣,不用導(dǎo)入,而是直接使用。

我們先來看看效果:

怎么使Python中的自定義函數(shù)可以全局使用

大家注意A.py和C.py,我并沒有導(dǎo)入clean_msg而是直接使用了這個函數(shù)。并且運(yùn)行完全正常。

關(guān)鍵原理就在入口文件main.py,被我框住的3行:

import builtins

from util import clean_msg
setattr(builtins, 'clean_msg', clean_msg)

在Python里面,所有內(nèi)置的函數(shù)或者類都在builtins模塊中,因此在代碼里面可以直接使用而不用導(dǎo)入?,F(xiàn)在只需要把我們自定義的工具函數(shù)注冊到builtins模塊中,就能讓它跟內(nèi)置函數(shù)有相同的效果。

如果想把一個工具函數(shù)注冊成為內(nèi)置函數(shù),只需要在入口文件中導(dǎo)入它,然后使用setattr把它設(shè)置成builtins模塊的一個屬性。第二個參數(shù)是你想全局調(diào)用的時候的名字,第三個參數(shù)就是你需要注冊的工具函數(shù)。名字可以跟工具函數(shù)的名字不相同,只要不跟已有的內(nèi)置函數(shù)重復(fù)就好了。

注冊完成以后,在這個項(xiàng)目的整個運(yùn)行時中,任何.py文件里面都可以直接通過注冊的名字調(diào)用這個工具函數(shù),就跟調(diào)用內(nèi)置函數(shù)一樣。

讀到這里,這篇“怎么使Python中的自定義函數(shù)可以全局使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞名稱:怎么使Python中的自定義函數(shù)可以全局使用
標(biāo)題來源:http://weahome.cn/article/jepdch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部