return 语句在函数内的 if 语句中的位置

时间:2021-07-13 03:12:11

标签: python

我正在一个需要“返回”的函数中编写一个 if/else 语句。我想知道在哪里写'return'语句

def fun(flo, seg_len, interval):
    data = []
    if seg_len==int(seg_len):
        new_ = [flo[i:i+segm_len] for i in range(0, len(flo)-len(flo) % seg_len , seg_len)]
        for i in range(len(new)):
            data.append(True)
            print(data)
 
    else:
            print('False')

fun(flo , seg, interval )

2 个答案:

答案 0 :(得分:1)

这取决于您希望函数的行为,但在这种情况下,返回值可能会放置在 if/else 级别(在函数执行应该执行的操作之后)。

def flow_rate_to_disorder_status(flow_rate, segment_len, interval, threshold):
    disorder_status3 = []
    if segment_len==int(segment_len):
        new_flow_rate = [flow_rate[i:i+segment_len] for i in range(0, len(flow_rate)-len(flow_rate) % segment_len , segment_len)]
        for i in range(len(new_flow_rate)):
            disorder_status3.append(sym.has_symptom(new_flow_rate[i], interval, threshold))
            print(disorder_status3)
 
    else:
            print('Corrupted input')
    return

flow_rate_to_disorder_status(flow_rate, segment_len, interval, threshold)

答案 1 :(得分:1)

在您迭代并将所有值添加到disorder_status3 后只需返回。您可以放心地忽略 else,因为如果代码已经返回某些内容,则不会命中打印损坏的代码行。

if segment_len==int(segment_len):
    new_flow_rate = [flow_rate... 
    for i in range(len(new_flow_rate)):
       disorder_status3.append(sym.has_sym
    return disorder_status3;
print('Corrupted input')
相关问题