*var在定义函数参数时,是可变个数参数的意思。在调用时,是要unpack tuple的意思,t = (1,2,3)直接带入是一个参数,但是*t后就是3个参数了。所以你的2个都不对。写的时候def restoreDataType(old_type, var):调用时:print restoreDataType(old_type='>f', var=(16435, 13107))