1、返回一个值
2、终止一个函数的继续
复制代码
def my_len(): # 函数名的定义
s1='hello world'
length=0
for i in s1:
length=length+1
return length # 函数的返回值
str_len=my_len() #函数的调用以及返回值的接收
print(str_len)
11
复制代码
在没有返回值的时候:
1、不写return与写入return None的效果相同,返回的只都是None
2、只写一个return后面不加任何东西的时候与写return None的效果一样
返回多个值:
1、当用一个变量接收返回值的时候,收到的是一个元组。这是因为在python中把用逗号分割的 多个值认为是一个元组。
2、当返回值有多个变量接收,那么返回值的个数应该和接收变量的个数完全一致。
return还有一个特殊的用途,一旦执行到return,后面的语句就不在执行了(结束一个函数)。(和break类似但有区别,break是跳出循环,如果循环后有代码则继续执行。return是结束整个函数)
4.如果在函数中有多个return,只执行第一个return。
复制代码
###########
def func():
return "a" , "b" #返回多个值时接收到的是一个元组
c = func() # c接收的是一个元组
print(c)
('a', 'b')
复制代码
复制代码
返回多个值,用多个变量接收(接收的变量数与返回值的个数要一致)
def func():
return "a" , "b" , "c"
d , e , f = func()
print(d , e , f)
a b c
def func():
return [1,2,3]
a , b , c = func() #列表和元组是可以解包的
print(a,b,c)
1 2 3
返回的字典类型有点意外:
def func():
return {"name":"span"}
dic = func() #需要字典类型来接收,而不能直接用k,v,字典解包解出来的只是键
print(dic)
{'name': 'span'}
复制代码
复制代码
return扩展
def f(L): #L为形式参数,接收参数
if len(L)>4:
return True
else:
return False
s=[1,2,3,4]
dic={5,6,7,8,9}
print(f(s)) #s为实际参数,给参数的过程就是传参(argument)
print(f(dic))
False
True