DAY10函数

时间:2022-12-08 15:22:24

函数

函数就是可以重复利用的工具

函数可以完成指定代码块,函数就是是存放代码块的容器

函数的有点:

1.避免出现重复冗余的代码

2.让程序代码结构更清晰增加可读性

3

定义函数的语法

1. 函数名:使用该函数的依据
2. 函数体:完成功能的代码块
3. 返回值:功能完成的反馈结果
4. 参数:完成功能需要的条件信息

用def关键词来声明函数

def 函数名(参数):

  函数体

  return"返回值“

如何使用函数

函数名:拿到函数的地址
函数名(): 拿到函数的地址,并执行函数中存放的代码块(函数体)

函数名(参数):执行函数并传入参数

函数名(): 执行完毕后,会得到函数的返回值,返回值就跟普通变量一样,可以直接打印、使用、运算

def fn(num):
print("传入的num值:%s" % num)
return '收到了'

res = fn(10)

函数名一定要先定义,定义后才能被调用

函数的分类

根据参数列表划分

无参函数:不需外界资源

def start():
print('系统启动')
start()

不需要传入参数

有参函数:需要外键资源

def login(usr, pwd):
if usr == 'owen' and pwd == '123':
print('登录通过')
else:
print('登录失败')

login('owen', '123')

需要传入对应的参数来执行内部的代码块

1.根据函数体分类

空函数: pass来填充函数体的函数

优先明确函数名,暂不明确函数体(编程中就存在一些没有函数体的函数)

def login(): pass # 在开发初期,可以讲所有功能提前列出来,用pass占位着,后期再去填充功能体

非空函数:有函数体的函数

根据返回值划分:return是用来结束函数的

空返回:返回None

def demo(x, y):
print( x + y )

def demo(x, y):
print( x + y )
return            # 用来强行结束函数的(像break结束循环一样)

一值返回

def demo(x, y):
return x + y

多值返回

def demo(x, y):
return x + y, x - y, x * y, x / y     # 本质就是返回装有多个值的元组

函数的返回值

重点:函数名()
# 1)拿到函数地址 => 2)加()执行函数体 => 3)得到函数的执行结果

重点: 返回值的功能
# 1.结束函数;2.将函数的内部数据返回给外部

# 二、应用场景
# 1.不明确return关键词的函数:系统在函数最末尾自动添加了return,返回的是None
def fn1():
print('普通的函数执行')

res = fn1() # 一般不需要对这样的函数进行接收执行结果
print(res)

# 2.明确空return关键词的函数:为了结束函数而return
def print_msg():
while True:
msg = input("msg: ")
if msg == 'q':
# break
return # 在特定的位置需要直接结束函数,但不需要告诉外界某个结果,用空return处理

函数的嵌套调用

求两个数最大值
def max_2(n1, n2):
if n1 > n2:
return n1
return n2

求三个
def max_3(n1, n2, n3):
m2 = max_2(n1, n2)
return max_2(m2, n3)

求四个
def max_4(n1, n2, n3, n4):
m2 = max_2(n1, n2)
return max_3(m2, n3, n4)

可以在一个函数内部调用另一个函数