使用命令" 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
答案 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)