當前位置:成語大全網 - 新華字典 - 學生必看Python實用其它語句

學生必看Python實用其它語句

Python中那些實用的其它語句

妳知道嗎?

Python中那些實用的其它語句

Python中的其它語句

除了if、while、for等超級語句外, Python中還有那

麽壹些不太出名,但也非常實用的語句。今天咱們就挑選

其中的三類介紹壹下, 分別是pass(什麽都不做) 、del

(刪除) 、exec和eval執行語句。

1.pass語句

pass語句是壹個空(null) 操作, 既然什麽都不做, 那為什

麽要寫pass語句呢?因為長城不是壹天建成的, 寫代碼壹

樣。當我們在編寫壹個程序時,執行語句部分思路還有完

成, 這時就可以使用pass語句來占位, 也可以當做是壹個標

記,等後續再把這部分代碼補充完整。

示例:還沒想好當輸入的名稱和想要的不壹致時該如何處

理, 這個時候就可以先用pass語句做個占位, 當輸入名字為

“小明”時,代碼什麽都不做。

2.del語句

del語句只能刪除變量, 而不能刪除數據。事實上, 在

Python中, 根本就沒有辦法刪除值, 而且也不需要這樣

做, 因為對於不再使用的值, Python的垃圾收集機制會

立即將其刪除。

示例,雖然x和y指向同壹個列表,但刪除x對y沒有任何

影響, 因為Python只刪除名稱x, 而沒有刪除列表本身

(值)。

3.使用exec和eval執行字符串及計算其結果

正有時候, 我們可能想動態地編寫Python代碼, 允許用

戶輸入,並將其作為語句進行執行或作為表達式進行計

算。這個時候就需要使用函數exec和eval。

exec函數

函數exec將字符串作為代碼執行, 返回值為None。

函數定義:exec(object[, globals[, locals] ] )

參數說明:object:必選參數, 表示需要被指定的

Python代碼。它必須是字符串或code對象。如果

object是壹個字符串, 該字符串會先被解析為壹組

Python語句, 然後再執行(除非發生語法錯誤) 。如果

object是壹個code對象, 那麽它只是被簡單地執行。

globals:可選參數, 表示全局命名空間(存放全局變

量),如果被提供,則必須是壹個字典對象。

locals:可選參數, 表示當前局部命名空間(存放局部

變量),如果被提供,可以是任何映射對象。如果該參

數被忽略, 那麽它將會取與globals相同的值。

3.使用exec和eval執行字符串及計算其結果

雖然globals和locals是可選參數, 但強烈建議使用。因

為像當用戶輸入“exec("z=x+y") ”時, 會把代碼中的z

變量修改掉。

4.eval函數

函數eval計算用字符串表示的Python表達式的值, 與exec什

麽都不返回不同, 函數eval返回結果。

函數定義:eval(expression, globals=None, locals=None)

參數說明:expression:必選參數, 可以是字符串, 也可以

是任意壹個code對象實例。如果它是壹個字符串, 它會被當

做壹個(使用globals和locals參數作為全局和本地命名空間

的) Python表達式進行分析和解釋。

globals:可選參數, 表示全局命名空間(存放全局變

量),如果被提供,則必須是壹個字典對象。

locals:可選參數, 表示當前局部命名空間(存放局部

變量),如果被提供,可以是任何映射對象。如果該參

數被忽略, 那麽它將會取與globals相同的值。

5.函數eval和exec的區別

函數eval只能計算單個表達式的值, 而exec函數可以動態運

行代碼段;

函數eval會返回計算的結果值, 而exec返回值永遠為None。