我正在尝试在 Python REPL 上定义一个函数。每次尝试运行以下代码时,都会出现语法错误。
代码:
def hello():
print ("Hello!")
hello()
Run Code Online (Sandbox Code Playgroud)
错误:
C:\Users\~\Desktop>python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> def hello():
... print ("Hello!")
... hello()
File "<stdin>", line 3
hello()
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我在 stackoverflow 上遇到的一个可能的解释是这篇文章Python Error : File "<stdin>",它说我无法从 Python 解释器运行脚本。如果这是真的,为什么会这样?即,如果我能够在 cmd 窗口中运行 >>>2+2,为什么我不能运行“def”函数?希望在这一点上寻求澄清 - 谢谢!
编辑:将错误放在文本中,而不仅仅是图片。
这个问题基于 @ZaLiTHkA\ 对运行 cmd 命令顺序问题的接受答案的答复,如下所示。
\n\n\n\n\n只是为了清楚起见:您应该注意
\n&
此处的单个符号明确表示实时命令提示符。当通过传递要作为脚本执行的字符串(快捷方式、批处理文件等)来运行命令时,则&&
需要 double \xe2\x80\x93 ZaLiTHkA Apr 3 \'14 at 20:28
&&
运行脚本命令(即快捷方式或批处理文件)真的有必要吗?我发现我仍然能够运行一个简单的命令,例如:cmd /k echo foo & echo bar
在运行窗口中并执行同一目标/命令的快捷方式,没有问题。希望有任何澄清或文档明确说明为什么以及是否 &&
实际上是批处理脚本的推荐方法,因为它似乎也&
可以工作。
&&
注意:这不是一个区分和定义之间差异的问题&
,而是为什么需要 && 正如@ZaLiTHkA\'s 非常明显的赞成评论所指出的。
cmd ×2
batch-file ×1
command-line ×1
python ×1
python-3.x ×1
syntax-error ×1
windows ×1
windows-10 ×1