作者TuCH (謬客)
看板Python
標題Re: [問題]關於移植 code from python 2.7 to 3.6
時間Wed Jul 4 15:10:16 2018
※ 引述《wayne670225 (北極熊在英國)》之銘言:
: 請問一下於python 2.7 中
: self.currentini = {'debug' : 'on'}
: def verify_currentlyini(self,(key,value)):
: self.currentini[str(key).split('$')[1]]=str(value)
: 但是更改python 3.6
: self.currentini = {'debug' : 'on'}
: def verify_currentlyini(self,key,value):
: self.currentini[str(key).split('$')[1]]=str(value)
: TypeError: modify_currentlyini() missing 1 required positional argument:
: 'value'
: 請問大家該如何更改我的程式 ?
self.currentint = {'debug' : 'on'}
def varify_currentlyini(self, key_value):
key, value = key_value
self.currentini[str(key).split('$')[1]] =str(value)
主要是傳入的時候不能直接宣告他是一個tuple
所以把tuple設成一個變數
讀進來的時候再拆開
以下是範例
def demo(c):
a,b = c
print(b)
demo(('Hello','world'))
-------------------
result: world
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.38.10.187
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1530688219.A.F78.html
※ 編輯: TuCH (114.38.10.187), 07/04/2018 15:11:23
→ pmove: lib2to3的確就是這樣轉的沒錯,可是如果是用lib2to3轉的應 07/04 21:45
→ pmove: 該不會有這個問題才對,有點懷疑原發問者故意製造這問題的 07/04 21:47
推 HenryLiKing: 學到了!原來不行一開始就宣告為tuple!!!!!!!!!! 07/04 22:51
推 wayne670225: 多謝大家, python 3.7 傳進去的東西就不能是tuple 07/12 08:46
→ wayne670225: 多謝 TuCH demo的範例, 問題已解決 07/12 08:47