Python 为什么我在第一个冒号上有语法错误,但仅在某些设备上(所有windows 10)

Python 为什么我在第一个冒号上有语法错误,但仅在某些设备上(所有windows 10),python,Python,我是python新手,必须运行不执行的代码 class CImport_Object(): def __init__(self): self.ticket = {} self.actions = [] self.tasks = [] self.memo:CMemo = None self.attachments = [] 它在self处得到一个错误。备注:CMemo行 File ".\01_r

我是python新手,必须运行不执行的代码

class CImport_Object():
    def __init__(self):
        self.ticket = {}
        self.actions = []
        self.tasks = []
        self.memo:CMemo = None
        self.attachments = []
它在self处得到一个错误。备注:CMemo行

  File ".\01_requ_table.py", line 49
self.memo:CMemo = None
         ^
SyntaxError: invalid syntax
这段代码在其他系统上也能用,但我不知道。
我用执行此代码的系统检查了python版本(3.8.3)和windows版本。

可能您使用不同版本的python运行代码。这是一个类型提示,从3.5开始,语法是有效的,但在例如2.7中,它不会给出语法错误。因此,当您出现该错误时,您没有使用3.8

您可以通过将其添加到代码中来验证正在运行的版本,该版本适用于3和2:

import sys
print(sys.version)

如果安装了多个Python版本,Windows会将其中一个与.py文件关联,因此您可以修复该问题。。删除2并重新安装3可能是最简单、最清晰的方法。

我无法重现此错误。您确定正在运行python 3.8吗?
sys.version\u info
的输出是什么?
print(sys.version)
也适用于Python2,并提供与
print sys.version
完全相同的输出。啊,好的一点,至少对于2.7来说,我认为它在2.6及更老版本中不起作用,但可能没有更多的地方具有这种功能,它也适用于更老的版本。普通的
(x)
就是
x
。不同之处在于,例如,
打印(“版本是”,sys.version)
,它将在Py2上使用并输出一个
元组
;它仍然可以工作,只是看起来不太好。我很确定打印('x')在2.6中是一个错误,因为没有内置的打印功能。。要计算('x'),打印和打印之间不需要有空格吗(?…没有找到2.6版的在线repl,也没有安装在手边,由于参考了3.5版,gtg现在已经解决了。我安装了3.8版,这是windows显示的唯一版本,但安装Veloview时附带了Python的3.5版,windows默认使用该版本。