【问题标题】:Syntax Error in Python3 [duplicate]Python3中的语法错误[重复]
【发布时间】:2014-05-19 15:16:14
【问题描述】:

我刚开始学习 Python,我决定从 3.2 开始

我正在尝试一些套接字管理代码,但出现语法错误。 (这条线在 2.7 中工作得很好)

有什么想法吗?

        def __init__(self, (socket, address)):
  File "./main.py", line 16
    def __init__(self, (socket, address)):
                       ^
SyntaxError: invalid syntax

【问题讨论】:

    标签: python python-3.x syntax


    【解决方案1】:

    您不能在 Python 3 中定义带有元组参数的方法。这在 Python 2 中是可能的,但已被删除。见PEP 3113 Removal of Tuple Parameter Unpacking

    语法使自省变得困难,(对于 IronPython 来说甚至不可能),与其他新的参数语法(注释和仅关键字参数)不兼容,产生无用的错误消息,并且是最不为人知和最少使用的功能之一语言。

    您必须在方法中进行解包:

    def __init__(self, socket_address):
        socket, address = socket_address
    

    【讨论】:

    • 这很有趣——他们为什么要这么做?
    • @MattDMo:还有其他新的参数功能(仅关键字参数、注释)使这种情况难以维护,并且很少使用非常
    猜你喜欢
    • 2022-01-21
    • 2023-03-24
    • 1970-01-01
    • 2019-01-27
    • 2015-09-09
    • 1970-01-01
    • 2015-12-17
    • 2015-02-02
    • 2011-03-03
    相关资源
    最近更新 更多