我的 Python 代码可以在 Ubuntu 18.04 上成功使用 Python 3.6。但是,当我转移到 Ubuntu 14.04& Python 3.4 时,它给出了以下语法错误:
line 123
self.__last_packet: Packet = None
^
SyntaxError: invalid syntax
Python3.4 和 3.6 之间有什么变化吗?我还想知道冒号(:) 运算符在这种情况下的含义。我在有问题的行的前面添加了“if”,似乎语法问题已解决,但我不认为代码的作者意味着那里有一个“if”语句。
顺便说一句,该行取自 Python 类的构造函数部分。
Python 3.5 提供了类型提示(请参阅 Python 3.5 变更日志)。 所以,是的,你必须删除
: Packet
的东西。