Spyder中是否存在为选中代码快速包裹print()的快捷键
Python快速打印调试的快捷键方案
针对Python3中需要手动给调试内容加print()括号的问题,不同编辑器/控制台的实用解决方法如下:
Spyder 环境
- 自定义快捷键绑定:Spyder支持自定义环绕代码的快捷键,打开设置路径
Tools > Preferences > Keyboard Shortcuts,新建一个环绕操作,将包裹内容设置为print($SELECTION),再绑定一个顺手的无冲突快捷键(比如Ctrl+Alt+P)。之后只要选中要调试的代码行(比如例子里的do_thing(stuff)),按一下绑定的快捷键,就能直接生成print(do_thing(stuff)),全程不用手动加括号、移动光标。 - 控制台快捷操作:如果是在Spyder的IPython交互控制台里跑代码,根本不用回去改原代码加print——运行完目标行之后,直接输入
print(_)回车就行,Python交互环境里的_变量会自动保存上一行代码的运行返回值。
其他主流Python IDE/编辑器通用方法
- PyCharm、VS Code这类工具都自带环绕代码模板功能:PyCharm默认按
Ctrl+Alt+T就能唤起环绕选项,提前把print加入模板列表,选中代码点选就能自动包裹;VS Code可以通过自定义用户代码片段实现一样的效果,绑定快捷键后操作逻辑和Spyder完全一致。 - 零配置小技巧:几乎所有带自动补全括号功能的编辑器,都支持「选中内容后输入成对符号自动包裹」的逻辑——你只要先把要打印的代码选中,直接敲
print(,编辑器会自动补全右括号,同时把你选中的代码整个放到括号中间,整个操作只需要敲6个字符,比Python2时代打print加空格的效率差不了多少。
额外提个省事儿的调试习惯:临时校验逻辑的时候,不管用什么交互控制台,跑完目标代码直接敲
_就能看上次返回结果,连print都不用打,比反复改源码加print、删print要方便很多。
内容的提问来源于stack exchange,提问作者Necarion
相关产品推荐
相关产品推荐

