我必须提供一个pythonsdk,现在我在如何设计该方法的问题上左右为难。在
只是说,函数名是func
,func
必须接受大约10个参数。我知道我们可以这样定义函数:
def func(para0, para1, para2, para3, para4, para5, para6, para7, para8, para9)
或者
^{pr2}$并且obj_param
被设计为一个类实例,其中包含
para0
~para9
。在
那么哪种是Python的方式?或者两者都可以?在
基于@deceze的问题,我添加了一些限制:para0
~para9
名字是字面意思(不能改成其他名字),而{param6
是必需的,左边是可选的。在
你几乎没有选择。
你可以使用
或者
^{pr2}$或者
在我看来,这取决于参数和你想用它们做什么。在
例如,假设您的函数需要10个参数来创建和保存一个包含10个字段的模型,那么正确的方法应该是例如:
假设第一个参数实际上是模型的类,那么它将是:
^{pr2}$现在假设所有参数都是模型的实例,并且您希望返回一些组合,那么最合理的逻辑是:
现在假设参数是构建请求的参数,而函数的目的是返回请求的散列值(例如,在没有适当的身份验证系统的情况下粗略地标识用户),那么分离关注点将使在函数之外构建请求对象成为逻辑,并使函数只返回散列,这样您就可以从代码的其他部分构建请求,从而可以拥有不同种类的请求对象。则函数如下:
您可以使用
kwargs
来提取字典的参数。我发现这比定义一个对象更好def func(**kwargs)
相关问题 更多 >
编程相关推荐