在Python 3和括号中定义函数(Defining functions in Python 3 and Parenthesis)
我有这个教程这样做
c = (x, y) def addVectors((angle1, length1), (angle2, length2)): do something return然后用以下方式调用addVectors :
addVector((a, b), c)但python 3只是给了我一个括号上的语法错误(angle1, lenght1)
谢谢
I have this tutorial that does this
c = (x, y) def addVectors((angle1, length1), (angle2, length2)): do something returnand then calls addVectors with:
addVector((a, b), c)but python 3 just gives me a syntax error on the parenthesis around (angle1, lenght1)
Thanks
最满意答案
这在Python 2中是可行的,但是在Python 3中通过PEP-3113删除
解决方法是在函数内解压参数:
def addVectors(angle1_length1, angle2_length2): angle_1, length1 = angle1_length1 angle_2, length2 = angle2_length2 do something returnThis used to be possible in Python 2, but was removed in Python 3 via PEP-3113
The solution is to unpack the argument inside the function:
def addVectors(angle1_length1, angle2_length2): angle_1, length1 = angle1_length1 angle_2, length2 = angle2_length2 do something return更多推荐
发布评论