这个问题(对我来说)没有任何实际意义。我只是偶然发现了这一点,我很好奇其背后的机制。我得到了以下示例脚本:
#!/usr/bin/env python
"""
just an example
"""
class exampleClass():
'this is just an example'
if __name__ == '__main__':
print(__doc__)
在 eclipse 中运行此打印“只是一个示例”。但是,当我尝试在终端中运行它时,出现以下错误:
File "./temp.py", line 6
class exampleClass():
^
SyntaxError: invalid syntax
现在,当我将示例脚本中的类更改为从 dict 继承时
class exampleClass(dict):
并从命令行运行它,它还会打印“只是一个示例”。 那么为什么类必须继承某些东西才能从命令行工作,而不是从 Eclipse 继承呢?
最佳答案
根据Python 2.7.2 grammar ,以下语法不正确:
class exampleClass():
'this is just an example'
应该是
class exampleClass:
'this is just an example'
或
class exampleClass(object): # or `dict' etc
'this is just an example'
很可能您正在使用两个不同版本的 Python 解释器,并且由于某种原因,其中一个解释器允许无效语法,而另一个则不允许。
关于python - 当类没有继承任何内容时,从命令行调用 python 脚本会出现语法错误,这是为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9363830/