问题描述
例如,假设我有一个函数可以在列表,数据库等中创建一个条目,并且该函数返回该条目的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)