zoukankan      html  css  js  c++  java
  • [转载]Jupyter notebook调试

    原文来自:https://blog.csdn.net/dlhlsc/article/details/84309410
    jupyter的调试是通过python自带的pdb库来实现的。

    下面讲一下在notebook中如何进行调试

    1.首先需要import pdb

    2.然后在import后写入语句:

    pdb.set_trace()

    这个的作用是输入调试器。

    3. 下面以一段简单的代码为例展示几个功能:

    打开jupyter的home页面新建一个文件输入以下语句

    import pdb
    pdb.set_trace()
    def sum(a,b):
        c=a+b
        return c
    a=1
    b=2
    c=sum(a,b)
    print (c)

    4. 按cntrl+enter运行

    进入到如下界面:

    1. 然后在此处输入一系列调试命令,下面先展示所有的命令:

    a:打印当前函数的参数

    b(break):设置断点

    cl(clear):清除断点

    c或者cont(continue):继续运行,直到遇到断点或者脚本结束

    disable:禁用断点

    enable:启用断点

    h(help):查看pdb帮助

    ignore:忽略断点

    j(jump):跳转到指定行数运行

    l(list):列出脚本清单

    n(next):执行下条语句,遇到函数不进入其内部

    p:打印变量值,也可以用print

    q(quit):退出 pdb

    r(return):一直运行到函数返回

    tbreak:设置临时断点,断点只中断一次

    s(step):执行下一条语句,遇到函数进入其内部

    w(where):查看所在的位置

    !:在pdb中执行语句

    1. 断点:

    输入:b 6

    即在第6行打入断点。

    再次输入:b 8,在第8行打入断点。

    在打入断点后输入b可以查看当前程序的断点状态:

    Num为断点的序号,Where为断点的位置。

    1. continue

    输入c后程序会继续执行直到结束或遇到下一个断点:

    1. 查看某些变量的值

    输入:p a

    可以看到变量a的值为1

    9. 执行下一步(n):

    输入n执行下一步,但是若下一步会进入函数内部则不进入。

    10. 执行下一步(s):

    step与next的区别在于他可以执行下一步是函数的语句,进入到函数内部。

    8

    11.执行打印函数参数(a):

    至此在jupyter的一些简单调试便讲完了,欢迎大家一起分享jupyter的经验。
    ————————————————
    版权声明:本文为CSDN博主「upDiff」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/dlhlsc/article/details/84309410

  • 相关阅读:
    ps图像渐变
    QPaintDevice: Cannot destroy paint device that is being painted
    QWidget::paintEngine: Should no longer be called
    权谋 — 朱元璋
    TL(简单)
    Access“输入的表达式中含有一个无效日期值”
    Qt label加边框
    Guardian of Decency(二分图)
    匈牙利算法的小总结
    Simple Molecules(简单)
  • 原文地址:https://www.cnblogs.com/jiading/p/11621932.html
Copyright © 2011-2022 走看看