这些返回在Python中是什么意思?

2024-04-25 23:05:17 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一本书里的问题,但是return把我弄糊涂了。
它有一个包含三个变量的函数,并返回以下内容:

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

有人能把它分成正常的方式让我更清楚吗? 带+的括号把我弄糊涂了。你知道吗


Tags: or函数returnif方式else括号str
2条回答

语句返回一个字符串。你知道吗

如果b为0或a不是1,则第一部分的计算结果为str(a)。如果该语句为false,则其计算结果为”。你知道吗

第二部分计算为“如果b为0。如果该语句为false,则如果b不是1,则其计算结果为c++str(b)。如果该语句为false,则其计算结果为”。你知道吗

所以你要么得到“,str(a) + "str(a) + str(c) + '+'(str(b)),要么" + str(c) + '+'(str(b))。你知道吗

下面是代码的作用:

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

相关问题 更多 >