91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中為什么exec執行break語句會失敗

發布時間:2020-12-16 09:27:21 來源:億速云 閱讀:355 作者:小新 欄目:編程語言

這篇文章主要介紹了python中為什么exec執行break語句會失敗,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

如果我們想要執行代碼,有兩種函數可以選擇,但如果是復雜的語句塊就需要選擇exec函數。這里有小伙伴在使用exec函數執行break語句時出現了錯誤,在此我們先不說原因。有些小伙伴對于exec函數的基礎內容還不夠了解,這里我們先講講exec語法、作用、參數,再通過實例為大家分析break執行出錯的原因。

1.語法

exec(expression, globals=None, locals=None, /)

2.作用

動態執行Python代碼。也就是說exec可以執行復雜的Python代碼,而不像eval函數那么樣只能計算一個表達式的值。

3.參數

object:必選參數,表示需要被指定的Python代碼。它必須是字符串或code對象。如果object是一個字符串,該字符串會先被解析為一組Python語句,然后在執行(除非發生語法錯誤)。如果object是一個code對象,那么它只是被簡單的執行。

globals:可選參數,同eval函數

locals:可選參數,同eval函數

4.實例

>>> i = 5
>>> j = 7
>>> n = 0
>>> while n < i:
... print("looping")
... exec("""if j > 5:
... \n break""")
... n += 1
...
looping
Traceback (most recent call last):
File "", line 4, in
File "", line 3
SyntaxError: "break" outside loop

在這里,exec函數為什么失效了呢?

根據Python文檔,解釋器會在執行到break語句時,會跳出離該句最近的while、for循環,如果解釋器無法找到while、for循環,就會報錯。因此,此處報錯,說明了Python解釋器沒有找到exec之前的while循環。

實際上,仔細看文檔會發現,解釋器遇到exec函數時,會獨立執行字符串內的語句。如果還有傳參,那都是定義變量的字典。解釋器,不會尋找字符串外的語法結構。也就是說,在這個例子中,解釋器會獨立執行語句。

感謝你能夠認真閱讀完這篇文章,希望小編分享python中為什么exec執行break語句會失敗內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

封丘县| 革吉县| 新干县| 德江县| 万载县| 密山市| 清徐县| 莱阳市| 昔阳县| 天水市| 青浦区| 嘉定区| 永安市| 红河县| 河南省| 惠水县| 镇宁| 姜堰市| 茶陵县| 天柱县| 深水埗区| 南京市| 明光市| 肥城市| 岳阳市| 利川市| 天门市| 克山县| 通化县| 张北县| 西吉县| 蕉岭县| 元阳县| 太原市| 淮北市| 荃湾区| 德钦县| 温宿县| 隆回县| 安阳县| 三河市|