'''
# len
# 计算字符串的长度
# s = '金老板小护士'
# len(s)
# 不能用 len 怎么办
#low一点的方法
# count = 0
# for i in s:
# count += 1
# print(count)

s1 = '班主任阿娇'
# count = 0
# for i in s1:
# count += 1
# print(count)

#相当于把一段代码放到了一个地方
# 函数 可以多次的调用函数
def my_len(): # 定义函数(不执行,执行需要用到调用函数),my_len():函数名
count = 0
for i in s1:
count += 1
print(count)
my_len() # 调用函数

# 函数特点:定义了之后,可以在任何需要它的地方调用
# 上边的my_len()
# 1. 不能变,只能计算字符串的长度
# 2. 只是输出了结果
# 3. 没有返回长度,只是单纯的打印
# 返回的重要性
# len() 内置函数

def my_len(): # 自定义函数
count = 0
for i in s1:
count += 1
return count # 添加返回值
# length = my_len()
# print(length)

'''
# 返回值的三种情况
# 1. 没有返回值----返回None
'''
# (1) 不写return
def func():
l = ['金老师','KID']
for i in l:
print(i)
ret = func()
print(ret) # None

'''
# (2) 只写return,没有返回值(结束这个函数的继续)
'''
def func():
l = ['金老师','KID']
for i in l:
print(i)
return # 遇到return,所有内容全部结束
print('qwewghfge)
ret = func()
print(ret) # None
---------------------------------------------------------------------
def func():
l = ['金老师','KID']
for i in l:
print(i)
if i == '金老师':
return # 遇到return,所有内容全部结束(跳出当前函数)
# break,只是跳出当前循环,不跳出当前函数
print('qwewghfge)
ret = func()
print(ret) # None


'''
# (3) 写 return None-----最不常用的


# 2. 返回一个值(可以返回任何数据类型)
# 只要返回了,就可以直接接收
# 如果在一个程序中有多个return,那么只执行第一个
# 可以返回一个数(上面已经讲到),也可以返回一个列表,也可以返回一个字典
# 返回一个列表
def func():
return [1,2,3,4]
print(func())
# 返回一个字典
def func():
return {'k', 'v'}
print(func())


# 3. 返回多个值
# 多个返回值用多个变量接收,有多少个返回值就用多少变量接收
# 用一个变量接收,得到一个元组(好)
def func2():
return 1,2
# r1,r2 = func2()
# r1,r2,r3 = func2() #报错
r1 = func() # 多个返回值可以用一个变量接收,但返回的是元组(不可变)
print(r1)