Python调试记录

本文介绍了在Python调试中遇到的常见问题,如ViewasArray显示问题的解决、Pycharm设置断点条件、代码区字体调整、变量名替换、防止Figure图像自动关闭和高效查看变量值的方法,以及多行代码的注释和移除技巧。
摘要由CSDN通过智能技术生成

1.  “View as Array”时值不显示的问题

Python调试中,当参数为一个ndarray时,选择“View as Array”想完整地查看参数值时,发现只显示行标和列标,值并不显示。

此时在打开界面的左下角,不要再选择“colored cells”选项,即可看到完整的参数值。

2. Pycharm调试只在特定条件触发断点的方法

在断点所在行右键单击,出现对话框,在“Condition”选项框中输入触发断点的条件,如

interaction_steps % num_new_data == 0

但这里需要注意,设置断点条件时,通常情况下不能使用局部变量,因为这些变量只在循环内部的作用域中定义,如

for step in range(num_steps):

不能用step设置断点条件,此时应该定义一个全局变量来触发断点,如

global_step = 0  
for step in range(num_steps):
    global_step += 1

此时可以设置断点条件为

global_step == 你希望迭代停止的次数

3. 字号调整

代码区字号调整:在“File”——“Settings”——“Editor”——“Font”界面选择字体和字号。

工作区字号调整:在“File”——“Settings”——“Appearance & Behavior”——“Appearance”界面中勾选最上侧的“Use custom font”选项框,然后选择字体和字号。

4. 变量名的一键替换

先选中要替换的变量名,然后使用快捷键“Shift+F6”,在弹出的“Rename”对话框的第一个输入框内键入变量的新命名,再选择“Refactor”即可完成一键替换。

5. Figure图像设为手动关闭的方法

在神经网络训练完成后,会画出图像。但若不小心点击别的地方,图像会自动关闭。为了避免这一情况,可在画图代码后添加一行代码

......
plt.show()

# 防止代码执行需要等待输入的input()函数而被阻塞,从而导致“Figure”界面“未响应”
# 解决方法:将 input() 函数调用放在一个单独的线程中来避免阻塞
plot_thread = threading.Thread()
plot_thread.start()
input("Press Enter to close the plot...")  # 保证不会不小心点到别的地方而导致图像自动关闭
plot_thread.join()  # 等待绘图线程结束

6. 调试时在代码区完整显示变量值的方案

当调试来观察变量值时,变量值有时候会折叠,每次都需手动点开,无疑降低了调试效率。所以可在“Variables”面板中选择要查看的变量,右键后在弹出的菜单中选择“Add to Watches”,这样就可以在代码区完整地显示变量值。

7. 多条语句的一键注释和移除

快捷键“ Ctrl + / ”(Windows)可一键注释多条语句并可一键移除所有注释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值