Python PyCharm如何進(jìn)行斷點(diǎn)調(diào)試
編輯器不等于IDE(集成開(kāi)發(fā)環(huán)境),開(kāi)發(fā)python程序,不是只有一種print()打印輸出調(diào)試。
術(shù)業(yè)有專攻,于人如此,于一個(gè)軟件也是如此。讓專業(yè)的軟件做專業(yè)的事。
以上兩點(diǎn)得出的結(jié)論:PyCharm
我們以如下的一種常見(jiàn)錯(cuò)誤,來(lái)演示如何通過(guò)PyCharm斷點(diǎn)追蹤的方式發(fā)現(xiàn)程序中的錯(cuò)誤:
def foo(bar=[]):
bar.append('bar')
return bar
>>>foo()
['bar']
>>>foo()
['bar', 'bar']
>>>foo()
['bar', 'bar', 'bar']
這里存在一個(gè)常見(jiàn)的錯(cuò)誤就是誤以為:函數(shù)在每次不提供可選形參時(shí)將參數(shù)設(shè)置為默認(rèn)值,也就是本例中的[],一個(gè)空的list。
這里我們便可以通斷點(diǎn)調(diào)試的方式進(jìn)行追蹤,在每次函數(shù)調(diào)用(不顯示傳遞形參)時(shí),觀察形參值的變化。
如圖所示為:
下圖是以這段為例,來(lái)演示如何發(fā)現(xiàn)程序中的bug:

解決方案:
def foo(bar=None):
if not bar:
bar = []
bar.append('baz')
return bar
>>>foo()
['baz']
>>>foo()
['baz']
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 使用Python實(shí)現(xiàn)大文件切片上傳及斷點(diǎn)續(xù)傳的方法
- 詳解Python中的斷點(diǎn)類型
- python實(shí)現(xiàn)斷點(diǎn)調(diào)試的方法
- 基于python實(shí)現(xiàn)Pycharm斷點(diǎn)調(diào)試
- python 文件下載之?dāng)帱c(diǎn)續(xù)傳的實(shí)現(xiàn)
- python3射線法判斷點(diǎn)是否在多邊形內(nèi)
- 利用Pycharm斷點(diǎn)調(diào)試Python程序的方法
- python實(shí)現(xiàn)可以斷點(diǎn)續(xù)傳和并發(fā)的ftp程序
- python支持?jǐn)帱c(diǎn)續(xù)傳的多線程下載示例
- python斷點(diǎn)測(cè)試的實(shí)現(xiàn)
相關(guān)文章
python數(shù)據(jù)分析之用sklearn預(yù)測(cè)糖尿病
這篇文章主要介紹了python數(shù)據(jù)分析之用sklearn預(yù)測(cè)糖尿病,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python數(shù)據(jù)分析的小伙伴們有很好地幫助,需要的朋友可以參考下2021-04-04
python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法
今天小編就為大家分享一篇python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
jupyter notebook插入本地圖片的實(shí)現(xiàn)
這篇文章主要介紹了jupyter notebook插入本地圖片的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
Pytest測(cè)試報(bào)告工具Allure的高級(jí)用法
這篇文章介紹了Pytest測(cè)試報(bào)告工具Allure的高級(jí)用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
python結(jié)合API實(shí)現(xiàn)即時(shí)天氣信息
這篇文章主要介紹了python結(jié)合API實(shí)現(xiàn)即時(shí)天氣信息的代碼,非常的實(shí)用,有需要的小伙伴可以參考下。2016-01-01

