我的职能是:
def names(N=None, p=None, gender=None, start=None, End=None, Interval=None):
这个函数的作用是接受参数并提供输出。但是如果N
是None
,但是p
是给定的,所有其他参数都是Non
,或者如果N
和P
是给定的,所有其他参数都没有给定,这样的映射继续下去,也就是说,如果一个参数是给定的,而另一个参数不是给定的,那么输出应该是不同的。目前我正在使用if语句和布尔值来检查它。但是因为有这么多的论点,所以它是一个很长的概率数。因此有没有更简单的方法?你知道吗
目前我正在尝试:
#assuming N argument is not given but p argument is given
if ((bool(N)==False) and (bool(p)==True))==True:
#then the operation is carried out.
我建议让
names
方法接受带有N
、p
、gender
等属性的对象,或者带有这些键的字典。然后可以测试是否设置了对象的属性或字典的键。你知道吗object
getattr()
方法或dictionary.get()
方法甚至允许您设置默认值,或者您可以在object的__init__()
方法中设置默认值。你知道吗您可以考虑将函数拆分为几个接受较少参数的函数(以“高内聚和松耦合”为目标,作为拆分参数的指南)。你知道吗
如果将所有参数转换为bool,则可以利用
True == 1
和False == 0
例如:您可以使用矩阵来选择要调用的函数,而不是选择字符串。你知道吗
相关问题 更多 >
编程相关推荐