那些回归在Python中意味着什么?

时间:2014-11-03 03:42:29

标签: python return

这是一本书中的问题,但return让我感到困惑 它有一个带有三个变量的函数,并返回以下内容:

return (str(a) if b == 0 or a != 1  else '') + ('' if b == 0 else c +('+'+str(b) if b != 1 else ''))

有人能将它分成正常的方式让我更清楚吗? 带括号的括号让我很困惑。

2 个答案:

答案 0 :(得分:4)

这是代码正在做的事情:

def someFunc(a,b,p):
    if b==0 or a!=1:
        part1 = str(a)
    else:
        part1 = ''
    if p==0:
        part2 = ''
    else:
        if b!=1:
            part2 = c + '+'+str(b)
        else:
            part2 = ''
    return part1 + part2

答案 1 :(得分:0)

该语句返回一个字符串。

如果b为0或a不为1,则第一部分求值为str(a)。如果该语句为false,则求值为"。

第二部分评估为"如果b为0.如果该语句为假,则评估为c +' +' str(b)如果b不是1.如果 语句为false,则计算结果为"。

所以你得到"",str(a) + "str(a) + str(c) + '+'(str(b))" + str(c) + '+'(str(b))