2016-12-28 32 views
3

我想知道是否有一种简单的方法来编写函数,当给出不同的数据时执行不同的操作。
例如,下面的函数将给剩余对于f =毫安简单的代码功能,可以通过不同的给定输入执行不同的步骤

def f_m_a(f,m,a): 
    if f is None: 
     return m*a 
    if m is None: 
     return f/a 
    if a is None: 
     return f/m 

制作单独的情况下,像上述久方程式需要时间和代码复杂未知的值。
有没有办法更有效地编写代码而无需编写单独的案例?

回答

0

通常没有办法做简化。

唯一的“优化”可以在这里做的是

def f_m_a(f,m,a): 
    if f is None: 
     return m*a 
    return f/(m or a) 

但可读性非常糟糕。这里是'm'的零值问题...