P51--61

  1. 函数介绍
  2. 函数的定义
  3. 函数的参数
  4. 函数的返回值
  5. 函数说明文档
  6. 函数的嵌套
  7. 调用变量的作用域综合案例

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



  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值