函数__annotations__ dict的位置仅关键字参数位于位置或关键字之后

问题描述

Python 3.8函数的参数按特定顺序定义:仅位置,混合,仅关键字

但是__annotations__以不同的顺序定义它们:混合,仅位置,仅关键字

>>> def func(b: int,a: str,/,c: bool,*,e: float,d: tuple):
...     pass
... 
>>> func.__annotations__
{'c': 'bool','b': 'int','a': 'str','e': 'float','d': 'tuple'}

这是故意的吗?还是只是实现细节,根本不能保证任何特定的顺序?

我希望匹配函数定义的参数的本机顺序。那样会使IMO变得容易得多...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)