python入门(5)函数

文章介绍了Python函数的基本概念,包括函数的定义、参数传递、返回值的使用,以及None的含义。讨论了函数的说明文档、嵌套调用,局部变量和全局变量的区别,并通过一个ATM机模拟案例展示了函数的实际应用。
摘要由CSDN通过智能技术生成

目录

1、初始函数

2、参数

3、返回值

4、None

5、函数的说明文档

 6、函数的嵌套调用

 7、局部变量和全局变量

 8、函数的综合案例


1、初始函数

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

为了得到一个针对特定需求,可供重复利用的代码段,减少重复性代码,将功能封装在一起方便重复使用,提高开发效率,在项目开发过程中会经常使用到函数。

函数的定义:

def 函数名(传入参数):

      函数体

      return 返回值

  • 参数如果不需要,可以省略
  • 返回值如果不需要,可以省略
  • 函数必须先定义再使用

2、参数

函数中,参数的作用是在函数运行的时候接受外部传入的数据

#函数实现两个数相加 
def add(x,y):
    z=x+y
    return z
print(add(4,5))

输出结果为9

其中,函数定义中的x和y称为形式参数(形参),表示函数使用时要从外部传入两个参数,参数之间使用逗号分隔。在函数的使用中的4和5称之为实际参数(实参)表示函数执行时使用的实际数值,在传入的时候按照顺序传入数据,也使用逗号分隔。

3、返回值

返回值是函数完成功能后反回给调用者的结果,使用关键字return来返回结果,值得注意的是函数体中return放在最后一行,函数中的代码执行到return时就会结束,函数中写在return后面的代码将不被执行。

4、None

上文提到,返回值如果不需要可以省略,但不使用return的函数依然会有返回值,返回值是None,这是一个特殊的字面量,类型是NoneType

#测试不使用return的函数的返回值是什么
def funtion():
    print("函数调用成功")
result=funtion()
print(f"函数的返回值是{result},返回值的类型是{type(result)}")

运行结果为:

None表示空的、无意义的,函数返回的None就表示这个函数没有返回什么有意义的数据,也就是返回了空值。None类型作为一个特殊的字面量有许多应用场景:

  • 用在函数无返回值上。
  • 用在if判断上。在if判断中,None等同于False,一般用于在函数中主动返回None配合if判断做相关处理。
  • 用于声明暂时没有内容的变量。当定义变量时但暂时不需要变量有具体的值的时候,可以定义变量为None。

5、函数的说明文档

因为函数是由纯代码组成的,想要了解函数的含义就需要阅读理解代码,效率比较低下,所以为了辅助理解函数我们可以给函数添加说明文档,一般在写在函数内部、函数体之前,采用多行注释的方式对函数进行说明解释。

在PyCharm、VScode等IDE中对于编写了函数说明文档的函数,当鼠标悬停在函数上方时会显示函数说明,例如:

 6、函数的嵌套调用

函数的嵌套调用就是在一个函数中调用另一个函数,例如在函数A中调用函数B,代码运行时函数A中的内容执行到调用函数B的语句时会将函数B全部执行,完成后再继续执行函数A的剩余内容。

#测试函数调用
def funtionB():
    print("2")

def funtionA():
    print("1")
    funtionB()
    print("3")

funtionA()

运行结果为:

 7、局部变量和全局变量

在函数内部定义的变量只在这个函数的内部起作用,在函数外部则无法被使用,这样的变量称为局部变量。相对的,在函数外部定义的变量在整个程序的范围内都可以访问,这种变量称为全局变量

运行成功,输出结果为100

运行失败,报错num没有被定义

而且全局变量和局部变量名字相同并不会提示错误,当全局变量和局部变量名字相同时,函数内部的代码访问变量会优先访问该函数内部的局部变量

输出结果为:

如果要将函数内部的变量声明为全局变量,可以使用关键字global,使用global关键字可以在函数内部声明变量为全局变量

运行结果为: 

 8、函数的综合案例

 例题:ATM机,要求使用函数实现主菜单余额查询、存钱、取钱、退出系统等功能,使用服务后会回到主菜单,只有选择退出函数才会结束运行,否则一直运行。

#函数实现简易ATM机
money=5000000
name=input("请输入您的姓名:")
flag=True
def cheak_money(money):
    print(f"您的账户余额为:{money}")

def deposit():
    """
    实现存钱功能的函数
    """
    global money
    num=int(input("请输入您要存入的金额:"))
    money+=num
    print(f"存钱成功,您的账户余额为:{money}")

def withdrawal():
    """
    实现取钱功能的函数
    """
    global money
    num=int(input("请输入您要取出的金额:"))
    if num>money:
        print(f"取钱失败,您的账户余额不足,为:{money}")
    else:
        money-=num
        print(f"取款成功,您的账户余额为:{money}")

def exit():
    """
    实现退出系统功能
    """
    global flag
    flag=False
    print("正在退出系统,感谢您的使用!")

def fun_menu(name):
    """
    主菜单函数
    """
    global money
    service=int(input(f"""{name},您好,欢迎使用智障牌ATM机
    查询余额\t【输入1】
    存款\t【输入2】
    取款\t【输入3】
    退出\t【输入4】
    请选择您需要的服务:"""))
    if service==1:
        cheak_money(money)
    elif service==2:
        deposit()
    elif service==3:
        withdrawal()
    elif service==4:
        exit()
    else:
        print("服务不存在,请重新选择服务!")
while flag:
    fun_menu(name)

运行效果如图所示:

 

 


至此,我们了解了python函数的基础用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值