[问题]关于移植 code from python 2.7 to 3.6

楼主: wayne670225 (北极熊在英国)   2018-07-03 21:26:03
请问一下于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'
请问大家该如何更改我的程式 ?
作者: HenryLiKing (HenryLiKing)   2018-07-03 21:33:00
参数改成 tuple吗?
作者: djshen (djshen)   2018-07-03 23:32:00
可以参考2to3怎么改
作者: adrianshum (Alien)   2018-07-04 09:14:00
和2 to 3 没关系吧,method signature 整个不一样了
作者: pmove (金疾柠檬)   2018-07-04 09:27:00
推1F,改成(key, value)
作者: djshen (djshen)   2018-07-04 11:18:00
不就是因为python3拿掉这种unpacking才要改吗不然他原本就是这样写阿
作者: pmove (金疾柠檬)   2018-07-04 13:16:00
传进去的东西就不能是tuple , 而要拆开来传
作者: djshen (djshen)   2018-07-04 14:26:00
改function容易还是改所有用到function的地方容易?哪有什么传进去的东西就不能是tuple
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2018-07-04 15:08:00
function用一个参数接 在function里面分别取出不就好了
作者: splasky (splasky)   2018-07-04 22:33:00
你可以用decorator
楼主: wayne670225 (北极熊在英国)   2018-07-12 08:42:00
多谢大家, python 3.7 传进去的东西就不能是tuple最后拆开来传,结果没有问题https://www.python.org/dev/peps/pep-3113/

Links booklink

Contact Us: admin [ a t ] ucptt.com