python函数的全方位讲解

1.函数的介绍

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

我们之前使用过的:input(),print(),str(),int()等都是python的内置函数

自己定义一个函数,不使用内置函数len(),完成字符串长度的计算

#当我们想要测str2和str3时就需要重复的输入相同代码,但是可以使用函数来优化这个功能(简洁)

#使用函数可以提高程序的复用性,减少重复性代码,提高开发效率

2.函数的定义

函数的定义语法:

def 函数名(传入参数):

        函数体

        return 返回值

#注意不要忘记冒号和空格缩进

函数的调用:

函数名(参数)

基础的定义函数

#函数使用步骤:先定义函数,后调用函数

#返回值和参数如果不需要可以省略

#函数必须先定义后使用

小练习

3.函数的参数

传入参数的功能是:在函数进行计算的时候,接受外部(调用时)提供的数据

可以有如下的定义:

def add(x,y):

        result = x + y

        print(f"{x} + {y}的结果是:{result}")

这样可以实现每次计算的是x+y,而不是固定的1+2,x,y的值,可以在调用函数的时候指定

语法解析:

在函数定义中,提供的x和y,称之为:形式参数(形参),表示函数声明将要使用2个参数

参数之间使用逗号进行分隔

在函数调用中,提供的2和5,称之为:实际参数(实参),表示函数执行时真正使用的参数值

传入的时候,按照顺序传入数据,使用逗号分隔

#传入参数的数量是不受限制的:可以不使用参数,也可以仅使用任意N个参数

小练习

4.函数的返回值

语法格式:

def 函数(参数......):

        函数体

        return 返回值

变量 = 函数(参数)

#意思就是通过return关键字,就能向调用者返回数据

#函数体一旦遇到return就表明函数立刻结束了,return后面的代码不会执行

None类型

函数可以通过:不使用return语句即返回None,或者主动return None 来返回None

None作为一个特殊的字面量,用于表示:空,无意义,其有非常多的用于场景

#用在函数无返回值上

#用在if判断上:在if判断中,None等同于False,一般用于在函数中主动返回None,配合if判断做相关处理

#用于声明无内容的变量上,定义变量,但暂时不需要变量有具体值,可以用None来代替

name = None

5.函数说明文档

#其实就是注释,对函数进行说明解释,帮助更好理解函数的功能

函数是现纯代码语言,想要理解其含义,就需要一行行的去阅读理解代码,效率比较低

我们可以给函数添加说明文档,辅助理解函数的作用

语法如下:

def func(x,y):

        """

        函数说明

        :param x:形参x的说明

        :param y:形参y的说明

        :return:返回值的说明

        """

        函数体

        return 返回值

#通过多行注释的形式,对函数进行说明解释,内容应该写在函数体之前

6.函数的嵌套调用

#如果函数a中,调用了另外一个函数b,那么先把函数b中的任务都执行完毕之后才会回到上次函数a执行的位置,不会一起执行

7.变量的作用域

局部变量

#局部变量只能作用与局部

#出了函数体,局部变量就无法使用了

全局变量

#全局变量可以作用与任意地方

global关键字

使用global关键字,可以将函数内定义的变量声明为全局变量

但是加了global函数就可以将内部修改的变量作用与全局

8.函数综合案例

这个案例结合了之前所学的内容,大家不会的可以往前在复习复习,重点已经写在注释里了

money = 5000000
name = None #可不写
name = input("请输入你的姓名:")
def query(show_header):
    if show_header:
        print("-------------查询余额--------------")
    print(f"{name},你好,你的余额剩余:{money}元")
def saving(num):
    global money #money在函数内部定义为全局变量
    money += num
    print("-------------存款-----------------")
    print(f"{name},你好,你存款{num}元成功")
    query(False) #调用query函数查询余额
def get_money(num):
    global money
    money -= num
    print("-------------取款------------------")
    print(f"{name},你好,你取款{num}元成功")
    query(False)
def main():
    print("------------主菜单------------------")
    print(f"{name},你好,欢迎来到黑马银行ATM。请选择操作:")
    print("查询余额\t[输入1]")
    print("存款\t\t[输入2]") #通过\t制表符对齐输出
    print("取款\t\t[输入3]")
    print("退出\t\t[输入4]")
    return input("请输入你的选择:")
while True:
    keyboard_input = main()
    if keyboard_input == "1":
        query(True)
        continue #通过continue继续下一次循环,一进来就是回到了主菜单
    elif keyboard_input == "2":
        num = float(input("你想要存多少钱?请输入:"))
        saving(num)
        continue
    elif keyboard_input == "3":
        num = float(input("你想要取多少钱?请输入:"))
        get_money(num)
        continue
    else:
        print("程序退出啦")
        break


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值