python基础知识总结--调试

一、用print()函数直接把结果打出来调试

def say_hi(who):
    print(who)
    who = range(10)
    print(who)
    who.extend(range(10,20))
    print(who)

who = 'you'
say_hi(who)

二、借助pdb模块调试

#编码一个python模块保存为debug_test.py
def add(a,b):
    return a + b

a = 1 
b = 1 
c = add(a,b)

#pdb调试常用命令:
'''
1.b 8 : 在第8行打上断点
2.p a : 查看变量a的值
3.c :让代码运行,直到遇到断点停下来
4.n :运行下一行代码
5.l :查看当前运行的代码
5.h :查看pdb中支持的命令
6.q :退出pdb调式
'''

#pdb调试实例
'''
D:\>python -m pdb debug_test.py
> d:\test_wxx.py(3)<module>()
-> def add(a,b):
(Pdb) b 8
Breakpoint 1 at d:\test_wxx.py:8
(Pdb) p a
*** NameError: NameError("name 'a' is not defined",)
(Pdb) c
> d:\test_wxx.py(8)<module>()
-> c = add(a,b)
(Pdb) p a
1
(Pdb) p b
1
(Pdb) p c
*** NameError: NameError("name 'c' is not defined",)
(Pdb) c
The program finished and will be restarted
> d:\test_wxx.py(3)<module>()
-> def add(a,b):
(Pdb) p c
*** NameError: NameError("name 'c' is not defined",)
(Pdb) l
  1     #-*- coding:gbk -*-
  2
  3  -> def add(a,b):
  4         return a + b
  5
  6     a = 1
  7     b = 1
  8 B   c = add(a,b)
[EOF]
(Pdb) c
> d:\test_wxx.py(8)<module>()
-> c = add(a,b)
(Pdb) n
--Return--
> d:\test_wxx.py(8)<module>()->None
-> c = add(a,b)
(Pdb) b
Num Type         Disp Enb   Where
1   breakpoint   keep yes   at d:\test_wxx.py:8
        breakpoint already hit 2 times
(Pdb) p c
2
(Pdb)
'''


三、在IDE编辑工具中调试

转载于:https://my.oschina.net/u/3323607/blog/2051601

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值