bre*_*nce 5 python maintainability arguments
我一直在查看我正在使用的开源软件包的源代码.几乎每个函数都使用*args而不是命名参数.我发现很难遵循和使用代码,因为每次我想调用一个函数我都要回去,选择源代码,并确定参数应该是什么,以及它们应该在什么顺序.我的问题是:有没有令人信服的理由在每个函数中使用*args,或者这是对这个概念的滥用?谢谢,-b
这可能是个人推理,但当我有很多可选字段(其中某些字段仅在特定上下文中使用)时,我仅使用 *args 和 **kwargs。
我唯一使用 args 的其他场合是当我为云 API 构建 XML RPC 客户端时。由于我只是将参数传递给底层,而且函数是动态生成的,所以我别无选择,只能使用 *args,因为我无法提前知道所有参数。
在大多数情况下,您甚至不需要它。我认为这主要是因为懒惰。
一些来自 Java 和 C# 的人可能会用它来代替“params”,但在 python 中传递可选参数的方法有很多。
我同意即使你使用 *args,你也应该有一个非常好的文档。