Случай 1:
"{arg1} {arg2}".format (10, 20)
Он даст KeyError: 'arg1'
, потому что я не передал именованные аргументы.
Случай 2:
"{arg1} {arg2}".format(arg1 = 10, arg2 = 20)
Теперь он будет работать правильно, потому что я передал именованные аргументы.
И он печатает '10 20'
Случай 3:
И, если я ошибаюсь, он покажет KeyError: 'arg1'
"{arg1} {arg2}".format(wrong = 10, arg2 = 20)
Но,
Случай 4:
Если я передаю именованные аргументы в неправильном порядке
"{arg1} {arg2}".format(arg2 = 10, arg1 = 20)
Он работает...
и он печатает '20 10'
Мой вопрос в том, почему он работает и что использует именованные аргументы в этом случае.