簡體   English   中英

在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)周圍的語法錯誤

謝謝

以前在Python 2中可以做到這一點,但在Python 3中通過PEP-3113刪除了

解決方案是在函數內部解壓縮參數:

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

通過Python3的新功能

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM