Pycharm Debug调试

作者 : 郭然 本文共1922个字,预计阅读时间需要5分钟 发布时间: 2022-09-28 共159人阅读

一、打断点二、代码调试三、界面小图标介绍四、控制台介绍

# 数字转换为大写人民币
import sys
import io


sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
numberList = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
integralUnit = ['元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟']
fractionUnit = ['角', '分']
def solveF(f, res):
    # print(res)
    if int(f) == 0:
        res.append("整")
    else:
        for i in range(len(f)):
            if int(f[i]) != 0:
                res.append(numberList[int(f[i])])
                res.append(fractionUnit[int(i)])
    return res
while True:
    try:
        a = input()
        if '.' in a:
            a = a.split('.')
        else:
            a = (a + '.00').split('.')
        y = a[0]
        f = a[1]
        res = ['人民币']
        y = y[::-1]  # 反过来
        for i in range(len(y))[::-1]:  # 从i=len(y)-1开始,一直到0
            if int(y[i]) == 0:
                res.append(numberList[0])
            else:
                res.append(numberList[int(y[i])])
                res.append(integralUnit[i])
        res = solveF(f, res)


        res = ''.join(res)
        while ('零零' in res):
            res = res.replace('零零', '零')
        res = res.replace('壹拾', '拾')
        res = res.replace('人民币零', '人民币')
        print(res)
    except:
        break

一、打断点

一个断点标记了一个代码行,当Pycharm运行到该行代码时会将程序暂时挂起。
注意断点会将对应的代码行标记为红色,取消断点的操作也很简单,在同样位置再次单击即可。 如图所示,打了三个断点

badb52239e2bbc58632c803edba7f9a3.png

        当你将鼠标指针悬停在断点上方时,Pycharm会显示断点的关键信息,行号以及脚本属性,如果你希望更改该断点的属性,右击断点:

bd05828db47bb30c9c03a3f77f4154d6.png

二、代码调试

第一种:通过鼠标右击代码处,可以来debug程序

c60999bbeb19b6208e54e0cda25dfd6d.png

第二种:可以通过点击pycharm右上角这个小虫子的图标来进行debug 

6d71870e5d4ee4532a118324d32e2852.png

执行上述操作后,Pycharm会执行以下动作:

(1)PyCharm开始运行,并在断点处暂停

(2)断点所在代码行变蓝,意味着Pycharm程序进程已经到达断点处,但尚未执行断点所标记的代码。

(3)Debug tool window窗口出现,显示当前重要调试信息,并允许用户对调试进程进行更改。

dbf529e5ae05e171a3940c84f241b5c7.png

三、debug窗口几个图标分别代表的意思

这里一排七个坐标的意思分别是

1.show execution point (F10)

显示当前所有断点

2.step over(F8)

单步调试。若函数A内存在子函数a时,不会进入子函数a内执行单步调试,而是把子函数a当作一个整体,一步执行

3.step into(F7) 单步调试。

若函数A内存在子函数a时,会进入子函数a内执行单步调试。

4.step into my code(Alt + Shift +F7)

执行下一行但忽略libraries(导入库的语句)

5.force step into(Alt + Shift +F7)

执行下一行忽略lib和构造对象等

6.step out(Shift+F8)

当目前执行在子函数a中时,选择该调试操作可以直接跳出子函数a,而不用继续执行子函数a中的剩余代码。并返回上一层函数。

7.run to cursor(Alt +F9)

直接跳到下一个断点,然后接着来看变量查看器

ccaf893949b7bc5c10f2ed54ab672618.png

        在调试过程中观察变量的状态。我们需要对其设置一个查看器。在Watches窗口中,单击加号,输入期望查看的变量名称,例如这里输入delay,然后回车。我试了三个变量,这里我们看到这三个变量目前都是没被定义的,我们可以在控制台里给它定义,也可以通过执行下一步,利用代码中的赋值来定义。

ae203a4a81bba3ac5021ab486ed1de53.png

可以通过点击这个眼睛图标,将这两个窗口连在一起查看

950634bcc45664b410b9eded948049cc.png

        一般操作步骤就是,设置好断点,debug运行,然后 F8 单步调试,遇到想进入的函数 F7 进去,想出来在 shift + F8,跳过不想看的地方,直接设置下一个断点,然后 F9 过去。

四、控制台窗口

如果要是忘记中文意思的话,没有关系,鼠标指到按钮处,悬浮一会儿,会有英文提示的。

1dde99540eb1e232a6300c9bd0ce7135.png

 

赞赏

微信赞赏支付宝赞赏

VIP部落提供编程技术、教育培训、优惠购物以及各类软件和网站源码、模板等资源下载。
VIP部落 » Pycharm Debug调试

常见问题FAQ

提供最优质的资源集合

立即查看 了解详情