第14章 執行環境 1

2021-06-01 02:34:44 字數 1193 閱讀 4468

14.1 可呼叫物件

python有4種可呼叫物件:函式、方法、類以及一些類的例項。記住這些物件的任何引用或者別名都是可呼叫的。

14.1.1 函式

內建函式(bif)使用c/c++寫的,編譯過後放入python直譯器,然後把它們作為第一(內建)命名空間的一部分載入進系統。這些函式在_builtin_模組裡,並作為_builtins_模組匯入到直譯器中。

使用者定義的函式(udf)通常是用python寫的,定義在模組的最高端,因此會作為全域性命名空間的一部分(一旦建立好內建命名空間)裝載到系統中。

從內部機制看,使用者定義的函式是「函式」型別的。

>>> def myfunc():

... pass

...

>>> type(myfunc)

>>>

通過lambda來建立函式的物件除了沒有命名之外,享有和使用者定義函式相同的屬性。

14.1.2 方法

內建方法(bim)只有內建型別(built-in type,bit)有內建方法(built-in method,bim).

使用者定義的方法(udm)包含在類定義之中,只是擁有標準函式的包裝,僅有定義他們的類可以使用。udm與類物件是關聯的(非繫結方法),但是只能通過類的例項來呼叫(繫結方法)。無論udm是否繫結,所有的udm都是相同的型別——「例項方法」。

14.1.3 類

我們可以利用類的可呼叫性來建立例項。「呼叫」類的結果就是建立了例項,即大家所知道的例項化。程式設計師可以通過__init__()方法來自定義例項化過程。例項化呼叫的任何引數都會傳入到構造器中。

14.1.4 類的例項

python給類提供了名為__call__的特別方法,該方法允許程式設計師建立可呼叫的物件(例項)。

>>> class class1(object):

... def __call__(self):

... print "current is __call__ method"

...

>>> c = class1()

>>> callable(c)

true

>>> c()

current is __call__ method

>>>

只有定義類的時候實現了__call__方法,類的例項才能成為可呼叫的。

第14章 執行環境 4

14.5 執行其他 非python 程式 14.5.1 os.system import os result os.system ipconfig print result 0system 是乙個非常簡單的函式,接收字串形式的系統命令並執行它。當執行命令的時候,python的執行是掛起的。當我們執行...

第14章 執行環境 5

14.6 受限執行 rexec 第乙個模組允許沙盒 sandbox 中的執行 修改內建物件。bastion 第二個模組用來過濾屬性和包裝你的類。14.7 結束執行 14.7.1 sys.exit and systemexit sys.exit 的語法為 當呼叫sys.exit 時,就會引發syste...

第1章 002搭建環境

詳見 python開發環境的搭建.docx文件 有3種辦法執行python 寫了python 可以直接執行,可以進行測試,但是不能進行儲存 使用 python 互動式解析器 python interpreter 直接執行 python 使用 python window 或 python3 mac l...