2014-01-23 40 views
1

我有這樣的教程,這是否定義功能在Python 3和括號

c = (x, y) 

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

,然後調用addVectors有:

但是Python 3只是給了我一個語法錯誤的括號周圍(angle1, lenght1)

感謝

回答

3

本u的sed在Python 2是可能的,但通過PEP-3113

解決方案是將解壓函數內部的參數在Python 3除去:

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

非常棒,我無法找到這個2小時 – fatty

+0

@ user1933393,是啊這是特別難找到這樣的問題找到正確的搜索條件:) – mhlester

3

what's new in Python3

PEP 3113:元組參數拆包被刪除。您不能再寫def foo(a, (b, c)):....請改爲使用def foo(a, b_c): b, c = b_c