使用Python 3和括号定义函数

2024-09-27 09:27:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的教程

c = (x, y)

def addVectors((angle1, length1), (angle2, length2)):
     do something
     return

然后调用addVectors

addVector((a, b), c)

但是python3在(angle1, lenght1)的圆括号中给出了一个语法错误

谢谢


Tags: returndef教程dosomethingpython3语法错误圆括号
2条回答

这在python2中曾经是可能的,但是在python3中通过PEP-3113被删除了

解决方案是在函数中解包参数:

def addVectors(angle1_length1, angle2_length2):
    angle_1, length1 = angle1_length1
    angle_2, length2 = angle2_length2
    do something
    return

what's new in Python3

PEP 3113: Tuple parameter unpacking removed. You can no longer write def foo(a, (b, c)): .... Use def foo(a, b_c): b, c = b_c instead.

相关问题 更多 >

    热门问题