一般的想法是先创建一个OrderedDict并将其传递给函数,但是这看起来很混乱。有很多关于对 kwargs 进行排序的建议,但这似乎是唯一的解决方案 - 在 Python 中,在迭代 kwargs 时,是什么决定了顺序?
但是,我想知道是否可以使用一些 python 功能来允许简单的输入?所以myFunction( a=5, c=2, b=3 ) 将保持顺序,而不必将内部值包装在 OrderedDict 中。
这是一些不起作用的代码,但这是我的想法,不知道如何实现
class testing:
def __init__( self, kwargs ):
print kwargs
testing2 = testing( OrderedDict( valueToInput ) )
testing2( a=5, c=2, b=3 )
可能吗?如果有这样的方法可以完成我对 testing2 值所做的工作,那对于其他目的也非常有用。
这(终于)在 python 3.6 中得到了解决,因为 dict 被订购了。
请参阅:PEP468 和新增功能。因此使