一、return的简介
return故名思意即返回的作用,返回什么呢?将函数运行结果——你想从相应函数中得到的结果返回到函数调用的位置。通俗的讲就是将调用函数的结果上传。 代码如下:
def plus(a, b):
c = a+b
print(c)
return c
result = plus(4, 5)
print(result)
print(type(result))
输出:
9
9
<class 'int'>
这里就是执行完函数plus( )之后,需要的值c通过return被上传出去,在调用的时候整个函数实质上就是指的c的值
二、return的用法
(一)一个return原则
程序运行时,当所遇到的第一个return即返回(退出def块),不会再运行第二个return 例如,代码如下:
def greet_users(names):
"""Print a simple greeting to each user in the list."""
for name in names:
msg = f"Hello, {name.title()}!"
return msg
"""第一次循环后由此上传即结束,得到一个return只起到一个作用"""
usernames = ['hannah', 'ty', 'margot']
a = greet_users(usernames)
print(a)
输出:
Hello, Hannah!
以上结果的原因是:
return语句放置在循环体内,循环一共执行了三次,相当于前前后后一共有3个return语句,根据上文对return语句用法介绍——遇到的第一个return即返回(退出def块),所以,当第一个return上传完毕后,直接退出def,自然也就不会输出ty和margot
(二)“不止一个”return的情况
1.同时返回多个值
上文已经说到一个def只能执行一个return语句,那么如果此时有两个或多个值需要返回(上传)时,则: 代码如下:
def fun():
str1 = "Happy"
str2 = "Coding"
return str1, str2
str1, str2= fun()
print(str1)
print(str2)
2.多个或其一
上文所述return语句在一个def中只能执行一次,但不代表return只能有一个,例: 代码如下:
def test_return(x):
if int(x) > 0:
return x
else:
return 0
a = test_return(input("输入:"))
print(a)
|