>>foo()['bar']>>>foo()['bar','bar']>>>foo()['b" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python PyCharm如何進(jìn)行斷點(diǎn)調(diào)試

系統(tǒng) 2140 0

編輯器不等于IDE(集成開發(fā)環(huán)境),開發(fā) python 程序,不是只有一種 print() 打印輸出調(diào)試。

術(shù)業(yè)有專攻,于人如此,于一個(gè)軟件也是如此。讓專業(yè)的軟件做專業(yè)的事。

以上兩點(diǎn)得出的結(jié)論:PyCharm

我們以如下的一種常見錯(cuò)誤,來(lái)演示如何通過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è)常見的錯(cuò)誤就是誤以為:函數(shù)在每次不提供可選形參時(shí)將參數(shù)設(shè)置為默認(rèn)值,也就是本例中的 [] ,一個(gè)空的list。

這里我們便可以通斷點(diǎn)調(diào)試的方式進(jìn)行追蹤,在每次函數(shù)調(diào)用(不顯示傳遞形參)時(shí),觀察形參值的變化。
如圖所示為:

Python PyCharm如何進(jìn)行斷點(diǎn)調(diào)試_第1張圖片 ?

下圖是以這段為例,來(lái)演示如何發(fā)現(xiàn)程序中的bug:

Python PyCharm如何進(jìn)行斷點(diǎn)調(diào)試_第2張圖片

解決方案:

            
def foo(bar=None):
  if not bar:
    bar = []
    bar.append('baz')
  return bar
>>>foo()
['baz']
>>>foo()
['baz']
          

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 小金县| 无极县| 招远市| 沁源县| 漯河市| 闽清县| 桂东县| 甘泉县| 定远县| 乌兰浩特市| 天镇县| 富川| 长寿区| 恩施市| 西城区| 博罗县| 静乐县| 康乐县| 织金县| 茶陵县| 庆阳市| 盘锦市| 阳西县| 晋宁县| 麦盖提县| 凤台县| 上林县| 六枝特区| 荥经县| 水城县| 富顺县| 内乡县| 南召县| 湖口县| 苏尼特右旗| 定西市| 栖霞市| 隆尧县| 威远县| 夏津县| 蚌埠市|