pdb 調(diào)試
pdb是基于命令行的調(diào)試工具,非常類似gnu的gdb(調(diào)試c/c++)。
命令 簡寫命令 作用
break b 設(shè)置斷點(diǎn)
continue c 繼續(xù)執(zhí)行程序
list l 查看當(dāng)前行的代碼段
step s 進(jìn)入函數(shù)
return r 執(zhí)行代碼直到從當(dāng)前函數(shù)返回
quit q 中止并退出
next n 執(zhí)行下一行
print p 打印變量的值
help h 幫助
args a 查看傳入?yún)?shù)
回車 重復(fù)上一條命令
break b 顯示所有斷點(diǎn)
break lineno b lineno 在指定行設(shè)置斷點(diǎn)
break file:lineno b file:lineno 在指定文件的行設(shè)置斷點(diǎn)
clear num 刪除指定斷點(diǎn)
bt 查看函數(shù)調(diào)用棧幀
執(zhí)行時(shí)調(diào)試
程序啟動(dòng),停止在第一行等待單步調(diào)試。
python -m pdb some.py
all(),any()
>>> all([True,False,True])
False
>>> any([True,False,True])
True
>>>
- 內(nèi)部函數(shù)可以修改外部list中的元素
- 對于createCounter來說i是局部變量,對于counter來說i是非全局的外部變量。內(nèi)部函數(shù)若想修改外部函數(shù)中的外部變量,可以用nonlocal聲明。而如果只是使用外部函數(shù)的外部變量,是不會(huì)報(bào)錯(cuò)的