Python核心編程:第十四章

14.1 可調用的對象python

許多python對象都是可調用的,即能經過函數操做符「()」來調用對象。程序員

Python有四種可調用的對象:函數,方法,類,以及一些類的實例shell

14.1.4類的實例函數

python給類提供了名爲__call__的特別方法,該方法容許程序員建立可調用的對象(實例)。對象

14.2 代碼對象字符串

通常說來,代碼對象能夠做爲函數或者方法調用的一部分來執行,也能夠用exec語句或eval()來執行input

14.3可執行的對象聲明和內建函數string

python提供了大量的BIF來支持可調用/可執行對象,其中包含exec語句。it

     callable(obj)  若是obj可調用,返回true,不然返回false。變量

     comoile(string,file,type) 從type類型中建立代碼對象,fie是代碼存放的地方,一般設爲「」)

14.3.1 callable()

布爾函數,判斷一個對象是否能夠經過函數操做符(())來調用。

14.3.2 compile()

compile()函數容許程序員在運行時刻迅速生成代碼對象,而後能夠用exec語句或者內建函數eval()來執行

eval 可求值的表達式[和eval()一塊兒使用]

single 單一可執行語句[和exec一塊兒使用]

exec    可執行語句組[和exec一塊兒使用]

input()  eval()和raw_input()的組合,等價於eval(raw_input)

14.4執行其餘pyhton程序

第一次導入模塊會執行模塊中最高級的代碼,這就是python導入的行爲只有屬於模塊最高級的代碼纔是全局變量、全局類、和全局函數聲明。

14.4.2 execfile()

如何經過文件對象,使用exec語句來讀取Python腳本的內容並執行

f=open(filename,'r')

exec f

f.close()

execfile(filename)

execfile(filename,glkobals=globals(),locals=local())

14.4.3 將模塊做爲腳本執行

經過shell或者DOS來執行

14.5執行其餘(非python)程序

os模塊函數

os.system():接收字符串的形式的系統命令並執行它,當執行命令的時候,python的運行是掛起的。當執行完成的時候,將會以system()的返回值的形式給出退出狀態,python的執行也會繼續。

os.popen():函數是文件對象和system()函數的結合。它工做方式和system()相同,但它能夠創建一個指向那個程序的單向鏈接,而後向訪問文件同樣訪問這個程序。

14.7結束執行

當程序運行完成,全部模塊最高級的語句執行完畢後退出,咱們便稱這是乾淨的執行,可能有不少的狀況,須要從python中提早退出。

sys.exit()當調用sys.exit()的時候,便會引起systemExit()異常。system exit是惟一不看做錯誤的異常。它僅僅表示要退出Python的願望。

14.10練習

14-1 可調用對象。 說出python 中的可調用對象。exec 語句和內建函數eval()有什麼不一樣?

函數、方法、類、實例。

exec語句執行的是代碼對象或字符串形式的代碼

eval語句執行的是表達式

14-2.input()和raw.input()。 內建函數raw_input()和input()有什麼不一樣?

input()返回用戶的輸入,並把輸入做爲Python的表達式進行求值。

raw_input()以字符串的形式返回用戶的輸入

14-3 執行環境。建立運行其餘python 腳本的python 腳本

excefile()

相關文章
相關標籤/搜索