[英]Calling python script from commandline gives syntax error when class doesn't inherit anything, why is that?
這個問題(對我而言)沒有真正的含義。 我只是偶然發現了這一點,並對它背后的機制感到好奇。 我得到了以下示例腳本:
#!/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語法 ,以下語法不正確:
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解釋器,由於某種原因,其中一個解釋器允許使用無效語法,而另一個則不允許。
您不應該使用括號
class exampleClass:
pass
除非您想從另一個類繼承,例如:
class exampleClass(object):
pass
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.