編輯器不等于IDE(內建開發環境),開發python程式,不是隻有一種print()列印輸出調試。
術業有專攻,于人如此,于一個軟體也是如此。讓專業的軟體做專業的事。
以上兩點得出的結論:PyCharm
我們以如下的一種常見錯誤,來示範如何通過PyCharm斷點追蹤的方式發現程式中的錯誤:
def foo(bar=[]):
bar.append('bar')
return bar
>>>foo()
['bar']
>>>foo()
['bar', 'bar']
>>>foo()
['bar', 'bar', 'bar']
這裡存在一個常見的錯誤就是誤以為:函數在每次不提供可選形參時将參數設定為預設值,也就是本例中的[],一個空的list。
這裡我們便可以通斷點調試的方式進行追蹤,在每次函數調用(不顯示傳遞形參)時,觀察形參值的變化。
如圖所示為:

下圖是以這段為例,來示範如何發現程式中的bug:
解決方案:
def foo(bar=None):
if not bar:
bar = []
bar.append('baz')
return bar
>>>foo()
['baz']
>>>foo()
['baz']
以上就是本文的全部内容,希望對大家的學習有所幫助,也希望大家多多支援聚米學院。