亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

松潘县| 牡丹江市| 云林县| 莲花县| 云安县| 舞钢市| 闽侯县| 任丘市| 卓资县| 淳化县| 澄江县| 通城县| 开鲁县| 苍溪县| 苏尼特左旗| 于田县| 秭归县| 泸西县| 开鲁县| 利辛县| 孟津县| 文山县| 平山县| 新沂市| 博爱县| 新丰县| 镇雄县| 大邑县| 高陵县| 潞西市| 旬邑县| 什邡市| 大理市| 洛宁县| 嵊州市| 鄂托克旗| 吉林市| 涞水县| 张家口市| 页游| 陆丰市|