特别是当有这么多参数(10+ 20+)时。
强制执行required/optional函数参数的好方法是什么?
有哪些好书可以解决 Python 的这类问题?
(就像 C++ 的有效 C++)
** 编辑 **
我认为def foo(self, arg1, arg2, arg3, .. arg20, .....):在有这么多必需参数的情况下列出是非常不切实际的。
参数可以是必需的,也可以是可选的,具体取决于它们在函数定义中的显示方式:
def myfunction(p1, p2, p3=False, p4=5)
Run Code Online (Sandbox Code Playgroud)
在此定义中,参数p1和p2是必需的。 p3是可选的,False如果调用者未提供,将获取该值。 p4也是可选的,5如果未提供,将获取该值。
如果您确实需要将十个或更多参数传递给函数,最好将它们作为字典传递:
args = {'a': something, 'b': something_else, 'c': 5, 'd': 99.99, ... }
myfunc(args)
Run Code Online (Sandbox Code Playgroud)