有些函数需要返回而其他函数不在Python中吗?

时间:2016-03-23 19:49:58

标签: python

我想弄清楚为什么有些陈述需要和RETURN而其他陈述不需要?像下面一样,我写了这个并且l1.append(val)不需要返回但是例如l1 [val]呢?

它只取决于变量吗?

L = [1,3,5,7,9,11, 2] 

print 'Original List =', L
def change_list(l1, val, decision):
    if decision == 'append':
        return l1[val]
    elif decision == 'ret':
        l1.append(val)
    elif decision == 'instance':
        return l1.count(val)
    elif decision == 'sort':
        l1.sort()
    return l1
res=change_list(L, 2, 'append')
print 'Output =', res

但是,如果我将其更改为以下(删除返回),它会中断!如果某些条件需要重新开始工作,有些情况不会发生吗?:

L = [1,3,5,7,9,11,2]

print 'Original List =', L
def change_list(l1, val, decision):
    if decision == 'append':
        l1[val]
    elif decision == 'ret':
        l1.append(val)
    elif decision == 'instance':
        return l1.count(val)
    elif decision == 'sort':
        l1.sort()
    return l1
res=change_list(L, 2, 'append')
print 'Output =', res

1 个答案:

答案 0 :(得分:0)

原因是l1.append(val)影响原始对象。同样,调用.append(val)会转到您传递给change_list函数的数组,并将其传递给原来的L数组。 l1[val]仅在原始L询问值的位置。所以必须返回