因此,我分析這段代碼,我有理由相信這是用python 2.X編碼的,但我使用3.2並想將其轉換所以它會工作。Python 3與def函數的語法錯誤((x,y))
我遇到的第一個錯誤是用語法
def function((x,y))
的功能爲什麼沒有它PY3工作,有什麼辦法呢?
因此,我分析這段代碼,我有理由相信這是用python 2.X編碼的,但我使用3.2並想將其轉換所以它會工作。Python 3與def函數的語法錯誤((x,y))
我遇到的第一個錯誤是用語法
def function((x,y))
的功能爲什麼沒有它PY3工作,有什麼辦法呢?
正如E先生在評論中已經說過的那樣,這個特性在Python 3中被刪除了PEP 3113。另一種方法很簡單,你只需要你手動解壓一個參數:
def func (xy):
x, y = xy
# ...
或者你定義有兩個參數的功能,使功能的用戶解開他們的價值觀本身:
def func (x, y):
# ...
t = (1, 2)
func(*t)
Btw。運行Python的2to3
工具來轉換現有的Python 2代碼以匹配Python 3的語法和庫更改是一個好主意。
http://www.python.org/dev/peps/pep-3113/ – YXD