c# - 命名参数 : C# vs Python

标签 c# python keyword-argument

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/

相关文章:

python - 从 python 脚本中删除文件

python - 类型错误 : XXXXX got an unexpected keyword argument 'XXXXXX'

python - 如何在 Python 中循环遍历 **kwargs?

c# - 如何在 ASP.NET MVC 应用程序中实现搜索框?

c# - 需要有关 C# LINQ 列表聚合表达式的建议

Python if 语句检索 "The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()."

python - 在简单的 dict 上使用 kwargs(或 args)有什么好处?

c# - 辅助角色 localstorage 的目录未找到异常

c# - 将 SCORM 类(class)导入我的 LMS

python - ImportError : No module named Crypto. 密码