您好,登錄后才能下訂單哦!
編輯器不等于IDE(集成開發(fā)環(huán)境),開發(fā)python
程序,不是只有一種print()
打印輸出調(diào)試。
術業(yè)有專攻,于人如此,于一個軟件也是如此。讓專業(yè)的軟件做專業(yè)的事。
以上兩點得出的結(jié)論:PyCharm
我們以如下的一種常見錯誤,來演示如何通過PyCharm斷點追蹤的方式發(fā)現(xiàn)程序中的錯誤:
def foo(bar=[]): bar.append('bar') return bar >>>foo() ['bar'] >>>foo() ['bar', 'bar'] >>>foo() ['bar', 'bar', 'bar']
這里存在一個常見的錯誤就是誤以為:函數(shù)在每次不提供可選形參時將參數(shù)設置為默認值,也就是本例中的[]
,一個空的list。
這里我們便可以通斷點調(diào)試的方式進行追蹤,在每次函數(shù)調(diào)用(不顯示傳遞形參)時,觀察形參值的變化。
如圖所示為:
下圖是以這段為例,來演示如何發(fā)現(xiàn)程序中的bug:
解決方案:
def foo(bar=None): if not bar: bar = [] bar.append('baz') return bar >>>foo() ['baz'] >>>foo() ['baz']
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。