IPython是否有参数可实现变量赋值时自动打印?
在IPython中自动打印赋值变量的内置方案
嘿,你想要的这个功能IPython早就内置好了,完全不用自己动手写魔法函数!刚好能满足你像MATLAB那样,赋值变量后自动显示结果的需求,对新手来说确实超实用。
临时生效(单次IPython会话)
直接在IPython里运行这条配置命令就行:
%config InteractiveShell.ast_node_interactivity='last_expr_or_assign'
之后你赋值变量时,就会自动打印结果,效果如下:
In [1]: %config InteractiveShell.ast_node_interactivity='last_expr_or_assign' In [2]: a = 5 Out[2]: 5 In [3]: b = a + 1 Out[3]: 6
永久生效(每次启动IPython自动开启)
如果不想每次启动都手动输入命令,可以修改IPython的配置文件:
- 先生成配置文件(如果还没生成过):
ipython profile create
- 找到配置文件路径:
- macOS/Linux用户:
~/.ipython/profile_default/ipython_config.py - Windows用户:
C:\Users\<你的用户名>\.ipython\profile_default\ipython_config.py
- macOS/Linux用户:
- 打开文件,找到或添加这一行:
c.InteractiveShell.ast_node_interactivity = 'last_expr_or_assign'
保存后,下次启动IPython就会自动启用这个功能啦。
补充说明
这个配置的核心是ast_node_interactivity参数,它还有其他可选值适配不同需求:
'all':显示所有语句的结果'last':只显示最后一个语句的结果(IPython默认设置)'last_expr':只显示最后一个表达式的结果'none':不显示任何结果
你想要的类似MATLAB的行为,'last_expr_or_assign'刚好完美匹配——它会把赋值语句也当作表达式,自动输出变量的值。
内容的提问来源于stack exchange,提问作者Robert Vanden Eynde
相关产品推荐
相关产品推荐

