第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用IPython進(jìn)行分步調(diào)試

使用IPython進(jìn)行分步調(diào)試

達(dá)令說 2021-03-10 15:10:22
根據(jù)我的閱讀,有兩種方法可以在Python中調(diào)試代碼:使用傳統(tǒng)的調(diào)試器,例如pdb或ipdb。它支持諸如cfor continue,nfor step-over,sforstep-into等命令,但是您沒有直接訪問IPython shell的權(quán)限,這對(duì)于對(duì)象檢查非常有用。使用 IPython的通過嵌入代碼中的一個(gè)IPython的殼。您可以這樣做from IPython import embed,然后embed()在您的代碼中使用。當(dāng)您的程序/腳本命中一條embed()語(yǔ)句時(shí),您將進(jìn)入IPython Shell。這樣就可以使用所有IPython好東西對(duì)對(duì)象進(jìn)行全面檢查并測(cè)試Python代碼。但是,在使用時(shí),embed()您將無法通過便捷的鍵盤快捷鍵逐步完成代碼。有什么辦法可以將兩全其美相結(jié)合?IE能夠 一步一步的通過與得心應(yīng)手的pdb / IPDB鍵盤快捷鍵你的代碼。在任何這樣的步驟(例如,在給定的語(yǔ)句上),都可以訪問成熟的IPython shell。在MATLAB中進(jìn)行IPython調(diào)試:在MATLAB中可以找到這種“增強(qiáng)調(diào)試”類型的示例,在該示例中,用戶始終可以完全訪問MATLAB引擎/外殼,并且她仍可以逐步瀏覽代碼,定義條件斷點(diǎn)等。我已經(jīng)與其他用戶討論過,這是人們從MATLAB遷移到IPython時(shí)最想念的調(diào)試功能。在Emacs和其他編輯器中進(jìn)行IPython調(diào)試:我不想讓這個(gè)問題過于具體,但是我主要在Emacs中工作,所以我想知道是否有任何方法可以將此功能引入其中。理想情況下,Emacs(或編輯器)將允許程序員在代碼上的任意位置設(shè)置斷點(diǎn),并與解釋器或調(diào)試器進(jìn)行通信,以使其在您選擇的位置停止,并在該位置提供完整的IPython解釋器。
查看完整描述

3 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

ipdb.set_trace()呢?在您的代碼中:


import ipdb; ipdb.set_trace()


更新:現(xiàn)在在Python 3.7中,我們可以編寫breakpoint()。它的工作原理相同,但也遵守PYTHONBREAKPOINT環(huán)境變量。此功能來自此PEP。


這樣可以對(duì)代碼進(jìn)行全面檢查,并且您可以訪問諸如c(繼續(xù)),n(執(zhí)行下一行),s(進(jìn)入該點(diǎn)的方法)之類的命令。


請(qǐng)參閱ipdb repo和命令列表。IPython現(xiàn)在稱為Jupyter(的一部分)。


ps:請(qǐng)注意,ipdb命令優(yōu)先于python代碼。因此,要寫作,list(foo)您需要print(list(foo))或!list(foo)。


另外,如果您喜歡ipython提示符(它的emacs和vim模式,歷史記錄,完成情況等),由于它基于python提示符工具包,因此很容易為您的項(xiàng)目獲得相同的名稱。


查看完整回答
反對(duì) 回復(fù) 2021-03-29
  • 3 回答
  • 0 關(guān)注
  • 293 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)