Я хочу быть уверен, что vars().keys()
и vars().values()
возвращают имена и значения входных аргументов в точном порядке, в котором они передаются функции.
Я выполнил следующий тест , который показывает, что ответ «да»:
def testKeys(a,c,b):
print(vars().keys(),vars().values())
def testVals(a,b,c):
print(vars().keys(),vars().values())
testKeys(1,2,3) # should print a,c,b,1,2,3
testKeys(1,3,2) # should print a,c,b,1,3,2
testVals(1,2,3) # should print a,b,c,1,2,3
testVals(1,3,2) # should print a,b,c,1,3,2
Но я не уверен на 100% в этом, потому что vars()
возвращает словарь, в котором порядок не гарантирован, я полагаю.