05-Python函数

函数介绍和定义

函数:是组织好的,可重复使用的,用来实现特定功能的代码段

使用函数的好处是:

  • 将功能封装在函数内,可供随时随地重复利用

  • 提高代码的复用性,减少重复代码,提高开发效率

函数的参数

定义函数时既可以传入参数也可以不传入参数

  1. 不传入参数:只能输出固定值

    def add():
        result=1+2
        print(f"add方法的结果是{result}")
  2. 传入参数:不会只输出固定值

    def add(x,y):
        result=x+y
        print(f"add方法的结果是{result}")

    注意事项

    • 函数定义中的参数,称之为形式参数

    • 函数调用中的参数,称之为实际参数

    • 函数的参数数量不限,使用逗号分隔开

    • 传入参数的时候,要和形式参数意义抵用,逗号隔开

函数的返回值

1.有返回值

def add(a.b):
    result=a+b
    return result
#调用add函数
r=add(1.6)
print(r)
#输出的结果是7

2.返回值:None类型

思考:如果函数没有使用return语句返回数据,那么函数有返回值吗?

答案:有的

Python中有一个特殊的字面量:None,其类型是:<class 'NoneType'> 无返回值的函数,实际上就是返回了:None这个字面量

演示如下:

  1. def say_hello():
        print("hello world")
    ​
    #使用变量接受say_hello()函数的返回值
    re=say_hello()
    #打印返回值
    print(re) #结果为None
    #打印返回值类型
    print(type(re)) #结果<class 'NoneType'>
    ​
    ​
    #None可以主动使用return返回,效果等同于不写return语句:
    def say_hello():
        print("hello world")
        return None

None的类型应用场景

  • if判断

  • 声明无内容的变量

函数的说明文档

掌握通过注释对函数进行解释说明

def add(a.b):
    
    """
    函数说明
    ;param a:形参a的说明
    :param y:形参y的说明
    :return: 返回值的说明
    """
    result=a+b
    return result

在PyCharm编写代码时,可以通过鼠标悬停,查看调用函数的说明文档

函数的嵌套调用

  1. 什么是嵌套调用 在一个函数中,调用另外一个函数

  2. 执行流程 函数A中执行到调用函数B的语句,会将函数B全部执行完成后,继续执行函数A的剩余内容

变量的作用域

1. 局部变量

所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效

def testA():
    num=100
    print(num)
 
testA() #输出100
print(num) #报错

2.全局变量

所谓全局变量,指的是在函数体内、外都能生效的变量

#定义全局变量
num=100
​
def testA():
    print(num)
    
def testB():
    num=200
    print(num)
 
testA()#输出100
testB()#输出200

3.global关键字

使用 global关键字 可以在函数内部声明变量为全局变量, 如下所示

#定义全局变量
num=100
​
def testA():
    print(num)
    
def testB():
    #global关键字声明num是全局变量
    global num
    num=200
    print(num)
 
testA()#输出100
testB()#输出200
print(num)#输出200,而不是100

综合案例讲解

要求如下

定义一个全局变量:money,用来记录银行卡余额(默认5000000) 定义一个全局变量:name,用来记录客户姓名(启动程序时输入) 定义如下的函数: 查询余额函数 存款函数 取款函数 主菜单函数 要求: 程序启动后要求输入客户姓名 查询余额、存款、取款后都会返回主菜单 存款、取款后,都应显示一下当前余额 客户选择退出或输入错误,程序会退出,否则一直运行

money=5000000
name=input("请输入您的姓名")
#定义函数
#查询余额函数
def query_money():
    print("-------------查询剩余--------------")
    print(f"{name},您好,您的余额:{money}元")
#存款函数
def deposit_money():
    x=int(input("请输入您要存款的金额"))
    global money
    money=x+money
    print("-------------存款--------------")
    print(f"{name},您好,您存款{x}元成功")
    print(f"{name},您好,您的余额生育:{money}元")
​
#取款函数
def withdraw_money():
    y=int(input("请输入您要取款的金额"))
    global money
    money=money-y
    print("-------------取款--------------")
    print(f"{name},您好,您取款{y}元成功")
    print(f"{name},您好,您的余额生育:{money}元")
​
#主菜单函数
def main_menu():
    print("-------------主菜单--------------")
    print(f"{name},您好,欢迎来到银行ATM,请选择操作")
    print("查询余额\t[输入1]")
    print("存款\t\t[输入2]")
    print("取款\t\t[输入3]")
    print("退出\t\t[输入4]")
    choice=input("请输入您的选择")
    if choice=="1":
        query_money()
        main_menu()
    elif choice=="2":
        deposit_money()
        main_menu()
    elif choice=="3":
        withdraw_money()
        main_menu()
    else:
        print("-------------已退出--------------")
​
main_menu()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值