- 函数介绍
- 函数的定义
- 函数的参数
- 函数的返回值
- 函数说明文档
- 函数的嵌套
- 调用变量的作用域综合案例
1.函数的介绍
(1)函数的使用
函数:是组织好的,可以重复使用,用来实现特定的功能的代码段
(2)函数的作用
为了得到一个针对特定需求、可供重复利用的代码段
提高程序的复用性,减少重复性代码,提高开发效率
2.函数的定义
(1).掌握函数的基础定义语法
def 函数名 (传入参数):
函数体
return 返回值
#调用函数才会有函数的使用,不然不显示,那么调用函数的语法就是
调用函数的格式:函数名(参数)
"""
演示函数的定又语法
"""
#定义一个函数,输出相关信息
def say_hi():
print("我是凯旋来学PYTHON")
#调用函数才会有函数的使用,不然不显示,那么调用函数的语法
say_hi()
参数如不需要可以省略
返回值如不需要,可以省略
函数必须先定义后使用
3.函数的参数
(1)掌握函数传入参数的使用
就是定义函数def 函数名(传入参数):
这里面的传入参数,里面几个参数都可以但是要用逗号隔开
"""
演示函数传参
"""
#定义2数相加的函数,通过参数接收被计算的2个数宇
def add(x,y):
result=x+y
print(f"{x}+{y}的结果是:{result}")
# 调用函数,传入被计算的2个数字
add(1,2)
函数定义中,提供的x和y,称之为:形式参数(形参),表示函数声明将要使用2个参数参数之间使用逗号进行分隔
函数调用中,提供的1和2,称之为:实际参数(实参),表示函数执行时真正使用的参数值传入的时候,按照顺序传入数据,使用逗号分隔
"""
定义一个函数,名称任意,并接受一个参数传入(数字类型,表示体温)在函数内进行体温判断(正常范围:小于等于37.5度),
并输出如下内容欢迎来到黑马程序员!请出示您的健康码以及72小时核酸证明,并配合测量体温!体温测量中,您的体温是:37.3度,体温正常请进!
欢迎来到黑马程序员!请出示您的健康码以及72小时核酸证明,并配合测量体温!
体温测量中,您的体温是:39.3度,需要隔离!
"""
def Temp(x):
print("欢迎来到黑马程序员!请出示您的健康码以及72小时核酸证明,并配合测量体温!")
if x<=37.5:
print(f"您的体温测量中,您的体温是{x}度,体温正常请进")
else:
print(f"您的体温测量中,您的体温是{x}度,体温不正常隔离")
Temp(40)
4.函数的返回值
(1)函数返回值的定义
掌握函数返回值的作用
掌握函数返回值的定义语法
什么是返回值:就是我叫你你去买什么东西,你把买回来的东西(返回值)给我;所谓“返回值”,就是程序中函数完成事情后,最后给调用者的结果
、
"""
函数返回值的语法格式
、
"""
def kx_l(a,b):
result=a+b
return result
r=kx_l(5,6)
print(r)
一旦有Return就是结束了,不要吧其他的语句写在Return后面。
(2)None类型
Python中有一个特殊的字面量:None,其类型是:<class'woneType)>无返回值的函数,实际上就是返回了:None这个字面量
None表示:空的、无实际意义的意思
函数返回的None,就表示,这个函数没有返回什么有意义的内容。也就是返回了空的意思
"""
演示特殊字面量:None
"""
#无return语句的函数返回值
def kx_l():
print("hello")
result=kx_l()
print(f"无返回值的函数返回的内容是:{result}")
print(f"无返回值的函数返回的类型是:{type(result)}")
#主动返回None的函数
def kx2_l():
print("hello")
return None
result=kx2_l()
print(f"无返回值的函数返回的内容是:{result}")
print(f"无返回值的函数返回的类型是:{type(result)}")
#None用于if判断
def check_age(age):
if age>18:
return "SUCCESS"
else:
return None
result=check_age(16)
if not result:
print("你未成年")
#None用于声明无初始内容的变量
name= None
5.函数说明文档
1.掌握通过注释对函数进行解释说明
"""
演示对说明文档
"""
#定义函数,进行说明文档
def add(a,b):
"""
add可以接收两个参数可以实现两束相加的功能
:param a:形参a表示相加的其中一个数
:param b:形参b表示相加的其中一个数
:return:两数相加的其中一个数
"""
result=a+b
print(f"两数相加的结果是{result}")
return result
add(5,6)
6.函数的嵌套
1.掌握函数的嵌套调用
函数A中执行到调用函数B的语句,会将函数B全部执行
完成后,继续执行函数A的剩余内容
"""
演示函数嵌套使用
"""
def fun_b():
print("--------2")
def fun_a():
print("--------1")
fun_b()
print("--------3")
fun_a()
所谓函数嵌套调用指的是一个函数里面又调用了另外一个函数
2.理解嵌套调用的执行流程
7.调用变量的作用域
知道什么是局部变量:所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效
知道什么是全局变量:指的是在函数体内、外都能生效的变量
global 变量:可以把函数内把局部变成全局变量
# """
# 演示局部变量使用
#
# """
# def kx_l():
# num=100
# print(num)
#
# kx_l()
# #出了函数体无法使用print(num)
# """
# 定义一个全局变量
# """
# num=200
# def kx_ll()
# print(f"testa:{num}")
#
# def kx_l1l()
# print(f"testa:{num}")
# kx_ll()
# kx_l1l()
# print(num)
#在函数里面修改全局变量
# num=200
# def kx_ll():
# print(f"testa:{num}")
#
# def kx_l1l():
# # globa] 关键字声明a是全局变量
# global num
# num=500#这个是局部变量
# print(f"testa:{num}")
# kx_ll()
# kx_l1l()
# print(num)
# globa] 关键字声明a是全局变量
num=200
def kx_ll():
print(f"testa:{num}")
def kx_l1l():
# globa] 关键字声明a是全局变量
global num
num=500#这个是局部变量
print(f"testa:{num}")
kx_ll()
kx_l1l()
print(num)
8.综合案例
"""
定义一个全局变量:money,用来记录银行卡余额(默认5000000)定义一个全局变量:name,用来记录客户姓名(启动程序时输入)
定义如下的函数:
查询余额函数
存款函数
取款函数
主菜单函数
要求:
程序启动后要求输入客户姓名
查询余额、存款、取款后都会返回主菜单
存款、取款后,都应显示一下当前余额
客户选择退出或输入错误,程序会退出,否则一直运行
"""
money=5000000
name=None
name=input("请输入您的姓名:")
def query(shou_head):
if shou_head:
print("——————————————查询余额——————————————")
else:print(f"{name},您的余额剩余:{money}元")
def saving(num):
global money
money+=num
print("——————————————存款金额——————————————")
print(f"{name},您的存款金额为:{num}元成功")
query(False)
def get_money(num):
global money
money-=num
print("——————————————取款金额——————————————")
print(f"{name},您的取款金额为:{num}元成功")
query(False)
def main():
print("——————————————主菜单——————————————")
print(f"您好{name},欢迎进入ATMgungun选择您的操作")
print("查询余额输入\t\t[1]")
print("查询存款输入\t\t[2]")
print("查询取款输入\t\t[3]")
print("quit\t\t\t[4]")
return input()
while True:
Keyboard_input=main()
if Keyboard_input=="1":
query(True)
continue
elif Keyboard_input=="2":
num=int(input("您想要存多少钱?请输入:"))
saving(num)
continue
elif Keyboard_input == "3":
num = int(input("您想要取多少钱?请输入:"))
get_money(num)
continue
else:
print("退出")
break