Что определяет порядок в Python при итерации через kwargs?

В python я написал эту функцию, чтобы научить себя, как ** kwargs работает в Python:

def fxn(a1, **kwargs):
    print a1
    for k in kwargs:
        print k, " : ", kwargs[k]

Затем я вызвал эту функцию с помощью

fxn(3, a2=2, a3=3, a4=4)

Вот результат, который напечатал мой интерпретатор Python:

3
a3  :  3
a2  :  2
a4  :  4

Почему цикл for напечатал значение a3 перед значением a2, даже если я сначала ввел a2 в свою функцию?

12
задан dreftymac 6 April 2017 в 11:52
поделиться