Python中如何使用函數(shù)對象

本篇文章為大家展示了Python中如何使用函數(shù)對象,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、安福ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的安福網(wǎng)站制作公司

Python是如何工作的?

我們將從高層開始了解python的內(nèi)部工作。你在你的python REPL里執(zhí)行一行代碼之后,它是如何工作的呢?

~ $ python Python 2.7.2 (default, Jun 20 2012, 16:23:33) [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> a = "hello"

當(dāng)你敲下return鍵的時(shí)候,python完成了以下四步:詞法分析、句法分析、編譯、解釋。詞法分析的工作就是將你剛才輸入的那行代碼分解為一些符號token(譯者注:包括標(biāo)示符,關(guān)鍵字,數(shù)字, 操作符等)。句法分析程序再接收這些符號,并用一種結(jié)構(gòu)來展現(xiàn)它們之間的關(guān)系(在這種情況下使用的抽象語法樹)。然后編譯器接收這棵抽象語法樹,并將它轉(zhuǎn)化為一個(gè)(或多個(gè))代碼對象。***,解釋器逐個(gè)接收這些代碼對象,并執(zhí)行它們所代表的代碼。

主要是因?yàn)槲椰F(xiàn)在對這些步驟一竅不通,所以我并不打算詳解詞法分析、句法分析和編譯。但是,我們假設(shè)這些步驟都正常運(yùn)行,并且能夠提供給解釋器一個(gè)合適的python代碼對象來完成解釋工作。

在我們談?wù)摯a對象之前,我想先解答一些常見的疑惑。我們將在這個(gè)系列文章中講解函數(shù)對象、代碼對象以及字節(jié)碼。它們是 完全不同的概念。我們就從函數(shù)對象談起吧。雖然我們不需要了解函數(shù)對象到達(dá)解釋器的過程,但是我想強(qiáng)調(diào)函數(shù)對象和代碼對象是截然不同的(另外,函數(shù)對象超 棒!)。

函數(shù)對象

你也許對“函數(shù)對象”早有耳聞。當(dāng)談到“函數(shù)是***的對象”或者“Python有著最棒的函數(shù)”時(shí),人們總會提起它。那我們就來看一個(gè)函數(shù)對象吧。

>>> def foo(a): ...     x = 3 ...     return x + a ... >>> foo <function foo at 0x107ef7aa0>

“函數(shù)是***的對象”說明函數(shù)是一種對象。它就如同一個(gè)列表或者舉個(gè)例子來說 :MyObject 就是一個(gè)對象。既然   foo 是一個(gè)對象,那么我們就能在不調(diào)用它的情況下使用它(也就是說,foo 和 foo() 是大相徑庭的)。我們能夠?qū)?nbsp;foo 當(dāng)作一個(gè)參數(shù)傳遞 給另一個(gè)函數(shù)或者賦值給一個(gè)新函數(shù)名( other_function = foo )。有了如此棒的函數(shù),一切皆為可能!

在第二部分,我們將著眼于下一層次&mdash;&mdash;代碼對象。

上述內(nèi)容就是Python中如何使用函數(shù)對象,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁名稱:Python中如何使用函數(shù)對象
標(biāo)題來源:http://muchs.cn/article8/pdjjip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司面包屑導(dǎo)航、網(wǎng)站導(dǎo)航網(wǎng)站維護(hù)、品牌網(wǎng)站設(shè)計(jì)用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)