Man*_*ngo 1 python function python-3.x
该函数包含一个不适合我的pprint参数。sort_dicts=True
我知道这样的事情:
\nfrom pprint import pprint\nthing = pprint\nRun Code Online (Sandbox Code Playgroud)\n将有效地创建该函数的别名pprint。
如何定义一个函数作为函数的pprint别名sort_dicts=False?像这样的东西:
# I know this is wrong\nnewpp = pprint(\xe2\x80\xa6, sort_dicts=False)\nRun Code Online (Sandbox Code Playgroud)\n
您正在寻找函数的部分应用。在 Python 中,有一个名为 的标准库函数functools.partial可以为您完成此操作。
from functools import partial
newpp = partial(pprint, sort_dicts=False)
Run Code Online (Sandbox Code Playgroud)
您也可以在 Python 中手动完成此操作。如果您有兴趣了解其背后的机制,可以查看上面的链接,其中有一个示例实现。
请注意,使用partial,某人仍然可以显式覆盖您的关键字参数。如果我跟注newpp(x, sort_dicts=True),那么我的sort_dicts胜过你的。但是如果调用者很合作并且不提供关键字参数,那么你的就会被占用。