Python函数如何确定是否(以及如何)显式传递了kwarg缺省值?

2024-04-23 18:58:17 发布

您现在位置:Python中文网/ 问答频道 /正文

假设函数spam有签名spam(ham=None)。以下三个调用都将导致spam命名空间中的局部变量ham具有值None

spam()
spam(None)
spam(ham=None)

如何spam找出这三个备选方案中的哪一个是实际使用的?你知道吗


Tags: 函数none方案空间spam命名ham局部变量
1条回答
网友
1楼 · 发布于 2024-04-23 18:58:17

它不能。This question描述了一种使用修饰符包装函数并将传递的参数设置为其属性的方法。但是如果没有外界的帮助,就无法从内部找到答案。您必须用一个接受**kwargs的函数截获调用,并用它来存储信息。你知道吗

不过,你应该谨慎行事。传递参数的不同方式应该是相同的。如果你做了一些使他们工作方式不同的事情,你会让很多试图使用你的功能的人感到困惑。你知道吗

相关问题 更多 >