繁体   English   中英

Visual Studio“立即窗口”与“交互窗口”

[英]Visual Studio “Immediate Window” vs “Interactive Window”

在Visual Studio中,“立即窗口”和“交互窗口”又称为“ Python调试交互”之间有什么区别?

看来,在“即时窗口”中,我能够评估表达式,但无法分配它们。 但是,在“交互窗口”中,我可以同时执行两个操作。

这两个窗口之间到底有什么区别? 当我在“即时窗口”中计算表达式时,幕后发生了什么,为什么我不能为变量赋值?

立即窗口

# I can evaluate expressions, eg  
1 + 2    
3  
np.array([0, 1])  
array([0, 1])  

# But I cannot assign variables  
x = np.array([0, 1])  
SyntaxError('invalid syntax', ('<string>', 1, 3, 'x = np.array([0, 1])'))  

互动视窗

>>> 1 + 2
3
>>> np.array([0, 1])
array([0, 1])
>>> 
>>> x = np.array([0, 1])
>>> x
array([0, 1])
>>>

编辑:我正在使用Visual Studio Community 2019和Python 3.7

交互式窗口为您提供了完整的python命令行外壳,即,与从命令窗口运行python然后在该python窗口中运行相同。 基本上,将其用作用于快速原型设计,表达式求值或通常从python命令行执行的其他操作的沙箱。

立即窗口用于调试当前项目。 例如,在项目中的某个位置设置一个断点,然后当应用程序达到该断点时,您可以使用即时窗口在正在运行的项目的上下文中评估表达式。 您在即时窗口中编写的代码将有权访问所有范围内的变量/方法等。

根据使用的Visual Studio版本,立即窗口的行为有所不同。 在VS 2017之前的版本中,您几乎可以在立即窗口中执行任何操作,例如,分配在所有情况下均有效,但是从VS 2017开始,底层调试器已更改,现在立即窗口仅限于几乎所有表达式求值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM