C# 和 Python 都允许命名参数,因此您可以编写如下内容:foo(bar:1)
。这很棒,尤其是与可选参数结合使用时。
我的问题是:C# 和 Python 命名参数之间有什么区别(如果有的话)?我对哪个是“最佳”不感兴趣,但对是否存在差异以及这些差异背后的可能动机。
如果有人知道此功能与其他语言(可能是 Ruby 或 Objective-C)实现的差异,那也可能很有趣。
编辑为社区维基
最佳答案
Python 允许您将未指定的命名参数“捕获”到字典中,这非常方便
>>> def f(**kw):
... print kw
...
>>> f(size=3, sides=6, name="hexagon")
{'sides': 6, 'name': 'hexagon', 'size': 3}
关于c# - 命名参数 : C# vs Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2187921/