如何"返回"适用于Python 2.7用户定义函数

时间:2015-05-26 08:32:47

标签: function python-2.7

使用命令" return"自从我一个月前开始学习Python以来一直困扰着我(完全没有编程背景) 功能" double()"似乎工作正常,没有我必须重新分配用作函数的参数的列表的值,并且函数处理的元素的值将按计划加倍。无需在函数外部分配它。

但是,函数" only_upper()"会要求我通过函数分配作为参数传递的列表,以便查看函数的效果。我必须在函数外指定t = only_upper(t)才能看到效果。

所以我的问题是:为什么这两个看似相同的函数会产生与使用return不同的结果?

由于编程技巧不足,请尽可能简单地解释。感谢您的投入。

def double(x):
    for i in range(len(x)):
        x[i] = int(x[i])*2
    return x

x = [1, 2, 3]
print double(x)

def only_upper(t):
    res = [] 
    for s in t: 
        if s.isupper(): 
            res.append(s) 
    t = res  
    return t 

t = ['a', 'B', 'C']
t = only_upper(t)
print t

1 个答案:

答案 0 :(得分:0)

我假设这是你的第一个编程语言,因此理解函数中找到的return语句存在问题。

我们函数中的return是我们从给定的公式'字面上返回我们想要的值的一种方法。 AKA功能。例如,

def calculate(x,y):
    multiply = x * y
    return multiply

print calculate(5,5)

函数calculate定义了要在块中执行的步骤。然后你会问自己,你想从这一大块步骤中获得什么价值。在我的例子中,我的函数是从2个值计算乘法值,因此返回乘法值。这可以缩短到以下

def calculate(x,y):
    return x * y
print calculate(5,5)