即使不使用变量,是否应该将函数的返回值分配给变量?

问题描述

例如,假设我有一个函数可以在列表,数据库等中创建一个条目,并且该函数返回该条目的ID。我应该始终为该函数的返回值分配一个变量以提高可读性,一致性或以后使用,还是应该因为未使用它而忽略它?下面包含一些可能证明我的观点的代码

def add_to_list(val,arr):
    arr.append(val)
    return len(arr) - 1


def weird_function(val,arr):
    # print the index of the new element if the element is an odd number
    if val % 2:
        idx = add_to_list(val,arr)
        print(idx)
    else:
        add_to_list(val,arr)
        # idx = add_to_list(val,arr)

出于一致性考虑,idx = 是否应包含在else语句中?

解决方法

如果您不打算在任何地方使用它,则无需将值存储在idx变量中。改善可读性的更好方法是-

def add_to_list(val,arr):
    arr.append(val)

def weird_function(val,arr):
    # print the index of the new element if the element is an odd number
    if val % 2:
        print(len(arr))
    add_to_list(val,arr)
,

出于一致性考虑,idx =是否应包含在else语句中?

这取决于您以后是否要使用idx。在您的示例中,您没有使用,因此不必将其包括在内。

在某些情况下,您可以获得有意义的返回值。例如,您可以具有文件更新功能,如果打开并成功写入文件,则该函数将返回true,否则将返回false。在这种情况下,您可能需要将返回的值存储到日志文件或其他内容中。

由于您已经提出了这个问题,所以我假设您对编程(或者至少对于Python)是一个新手,这意味着您现在可能还没有真正在“高端”上工作。因此,不必担心保存任何东西。

您编写的特定功能可以简化为

def weird_function(val,arr):
    if val % 2:
        print(add_to_list(val,arr))
    else:
        add_to_list(val,arr)