小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

能夠讓開(kāi)發(fā)人員節(jié)省時(shí)間的Python工具

 靜幻堂 2018-09-15
嬌兮心有之 2018-09-11 22:02:09

眾所周知Python含有非常豐富的庫(kù)以及一些開(kāi)發(fā)工具,這些都可以讓開(kāi)發(fā)人員更加舒適,今天小編就給大家介紹一個(gè)可以節(jié)省你的開(kāi)發(fā)時(shí)間的Python技能工具。

Python調(diào)試器

什么是Python調(diào)試器?

Python 標(biāo)準(zhǔn)庫(kù)提供了一個(gè)名為 pdb 的調(diào)試器。此調(diào)試器提供了調(diào)試所需的大多數(shù)功能,如斷點(diǎn)、單行步進(jìn)、堆棧幀的檢查等等。

如何運(yùn)行pdb看下面的代碼:

能夠讓開(kāi)發(fā)人員節(jié)省時(shí)間的Python工具

你可以從命令行運(yùn)行 pdb,如下所示:

能夠讓開(kāi)發(fā)人員節(jié)省時(shí)間的Python工具

使用 pdb 的另一種方法是在程序中設(shè)置斷點(diǎn)。為此,請(qǐng)導(dǎo)入 pdb 模塊并使用set_trace 函數(shù):

能夠讓開(kāi)發(fā)人員節(jié)省時(shí)間的Python工具

能夠讓開(kāi)發(fā)人員節(jié)省時(shí)間的Python工具

腳本在斷點(diǎn)處停止,pdb 顯示腳本中的下一行。 你也可以在失敗后執(zhí)行調(diào)試器。 這稱為事后調(diào)試postmortem debugging。

穿行于執(zhí)行堆棧

調(diào)試中的一個(gè)常見(jiàn)用例是在執(zhí)行堆棧中穿行。 Python 調(diào)試器運(yùn)行后,可以使用以下命令:

w(here):顯示當(dāng)前執(zhí)行的行以及執(zhí)行堆棧的位置。

能夠讓開(kāi)發(fā)人員節(jié)省時(shí)間的Python工具

l(ist):顯示當(dāng)前位置周圍更多的上下文(代碼)

能夠讓開(kāi)發(fā)人員節(jié)省時(shí)間的Python工具

u(p)/d(own):向上或向下穿行調(diào)用堆棧。

能夠讓開(kāi)發(fā)人員節(jié)省時(shí)間的Python工具

單步執(zhí)行程序

  • pdb提供以下命令來(lái)執(zhí)行和單步執(zhí)行代碼:
  • n(ext):繼續(xù)執(zhí)行,直到達(dá)到當(dāng)前函數(shù)中的下一行,或者返回
  • s(tep):執(zhí)行當(dāng)前行并在第一個(gè)可能的場(chǎng)合停止(在被調(diào)用的函數(shù)或當(dāng)前函數(shù)中)
  • c(ontinue):繼續(xù)執(zhí)行,僅在斷點(diǎn)處停止。
能夠讓開(kāi)發(fā)人員節(jié)省時(shí)間的Python工具

該示例顯示了 next 和 step 之間的區(qū)別。 實(shí)際上,當(dāng)使用 step 時(shí),調(diào)試器會(huì)進(jìn)入 pdb 模塊源代碼,而接下來(lái)就會(huì)執(zhí)行 set_trace 函數(shù)。

檢查變量?jī)?nèi)容

pdb 非常有用的地方是檢查執(zhí)行堆棧中存儲(chǔ)的變量的內(nèi)容。 例如,a(rgs) 命令打印當(dāng)前函數(shù)的變量,如下所示:

能夠讓開(kāi)發(fā)人員節(jié)省時(shí)間的Python工具

pdb 打印變量的值,在本例中是 10。

可用于打印變量值的另一個(gè)命令是 p(rint)。

能夠讓開(kāi)發(fā)人員節(jié)省時(shí)間的Python工具

增強(qiáng)的調(diào)試器

一些增強(qiáng)的調(diào)試器提供了更好的用戶體驗(yàn)。 大多數(shù)為 pdb 添加了有用的額外功能,例如語(yǔ)法突出高亮、更好的回溯和自省。 流行的增強(qiáng)調(diào)試器包括 IPython 的 ipdb 和 pdb++。

總結(jié)

學(xué)習(xí)如何使用 Python 調(diào)試器可以節(jié)省你在排查應(yīng)用程序問(wèn)題時(shí)的時(shí)間。 對(duì)于了解應(yīng)用程序或某些庫(kù)的復(fù)雜部分如何工作也是有用的,從而提高 Python 開(kāi)發(fā)人員的技能。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多