推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

python函数:函数介绍、定义、参数(传入参数(传参定义、语法解析))、函数的

   2023-07-18 网络整理佚名1170
核心提示:定义一个函数,函数名任意,要求调用函数后可以输出如下欢迎语:函数的传入参数传入参数的功能是:在函数进行计算的时候,接受外部(调用时)提供的数据基于函数的定义语法:定义一个函数,名称任意,并接受一个参数传入(数字类型,表示体温)函数是纯代码语言,想要理解其含义,就需要一行行的去阅读理解代码,效率比较低。思考:testB函数需要修改变量num的值为200,如何修改程序?

发行说明

当前版本号[]。

版本修改说明

第一版

知识概览图

目录

文章目录

功能介绍

功能:是一段有组织的、可重用的代码段,用于实现特定的功能。

为什么可以随时使用len()来计算长度:

因为,len() 是一个内置函数

我们用过:input()、print()、str()、int()等都是内置函数

为什么要学习和使用函数?

​ 为了获得特定需求可复用的代码段,提高程序的复用性,减少重复代码,提高开发效率

使用函数的好处是:

函数定义

函数调用:

函数名(参数)

功能使用步骤:

防范措施:

① 不需要的参数可以省略(后续章节说明)

② 如果不需要返回值,可以省略(后续章节解释)

③ 函数必须先定义后使用

实践案例:自动欢迎致辞

定义一个函数,函数名任意,调用函数后要求输出如下问候语:

今天是疯狂星期四
快来吃19.99的吮指原味鸡!!!

代码如下所示:

def Thursday():
    print("今天是疯狂星期四")
    print("快来吃19.99的吮指原味鸡!!!")
Thursday()

结果如下:

函数的参数 函数的传入参数

传入参数的作用是在函数计算时接受外部(调用时)提供的数据

有如下代码,完成两个数字相加的功能:

功能很有限,只能计算1+2。

是否可以实现:每次使用该函数时,计算用户指定的2个数字,而不是每次都计算1+2?

可以利用函数传入参数的功能来实现。

函数的传入参数——参数定义

基于函数的定义语法

您可以有以下函数定义:

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

函数的传入参数-语法分析

传入参数的数量不受限制:

实践案例:自动欢迎辞升级版

定义一个任意名称的函数,接受一个参数(数字类型,表示体温)

函数中进行金钱判断(范围:20元以上吃鸡,否则喝白开水),输出以下内容:

def Thursday(x):
    print("今天是疯狂星期四")
    if x >= 20:
        print("快来吃19.99的吮指原味鸡!!!")
    else:
        print("那就来喝杯免费的白开水吧!")
Thursday(x)

结果如下:

函数的返回值 函数的返回值的定义

程序中的返回值:

如代码所示

定义两个数字相加的函数功能。该函数完成后,将相加的结果返回给函数调用者

因此,变量r接收函数的执行结果。

总之:

​ 所谓“返回值”就是程序中的函数完成工作后返回给调用者的最终结果

返回值的语法

语法格式如图:

如图,变量可以接收函数的返回值

语法为:通过关键字,可以将数据返回给调用者

注意:

函数体遇到就结束,所以后面写的代码不会被执行。

喜欢:

def add(x, y):
    result = x + y
    return result
    print("第一句")
r= add(4, 6)
print(r)
输出结果:10

无类型

None 中有一个特殊的文字,其类型为:

无返回值的函数实际上返回: None 的字面值

None的意思是:空虚、无意义

如果函数返回None,则意味着该函数没有返回任何有意义的内容。 也就是说,它返回的是空的。

None类型的应用场景

None,作为一个特殊的字面量,用来表示:空洞、无意义,它的应用场景很多。

功能文档

函数是一种纯代码语言。 要理解其含义,需要逐行阅读理解代码,效率相对较低。

我们可以给函数添加文档,以帮助理解函数的作用。

语法如下:

以多行注释的形式,解释一下功能

• 内容应写在函数体之前

查看函数文档

编写代码时,可以将鼠标悬停在调用函数的文档上查看

喜欢:

嵌套函数调用

所谓函数嵌套调用,是指一个函数调用另一个函数。

执行效果:

实施过程:

如果函数A中调用了另一个函数B,则函数B中的任务将被执行,然后返回到函数A上次执行的位置。

注意:所有执行完毕后记得返回到之前的位置!

变量范围局部变量

变量作用域是指变量的范围(变量在哪里可用,在哪里不可用)

主要有两大类:局部变量和全局变量

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

变量a是testA函数内部定义的变量,如果在函数外部访问它,会立即报错。

局部变量的作用:在函数体内部,暂时保存数据,即当函数调用完成后,局部变量就被销毁

全局变量

所谓全局变量是指在函数体内部和外部都可以生效的变量。

思考:如果有一条数据在函数A和函数B中都用到了怎么办?

答案:将这些数据存储在全局变量中

关键词

思考:testB函数需要修改变量num的值为200,程序如何修改?

testB函数内部的num = 200定义了一个局部变量

在函数内部可以使用该关键字将变量声明为全局变量,因此他后面的变量会被改变,但他前面的代码不会受到影响。如下

综合案例:黑马ATM

• 定义一个全局变量:money,用于记录银行卡余额(默认)

• 定义一个全局变量:name,用于记录客户的姓名(启动程序时输入)

• 定义如下的函数:

• 查询余额功能

• 存款功能

• 提现功能

• 主菜单功能

•要求:

• 程序启动后询问客户姓名

• 查看余额、存取款后将返回主菜单

• 存取款后,应显示当前余额

• 如果客户选择退出或输入错误,程序将退出,否则程序将继续运行

示例代码:

name = str(input("请输入您的姓名:"))
balance = 10000
def save():
    print("----------存 款-----------")
    print("请输入你想要存钱的数目:")
    money = int(input())
    global balance
    balance += money
    print(f"{name},您好,您存款{money}元成功")
    print(f"{name},您好,您的余额为{balance}元")
def take():
    print("----------取 款-----------")
    print("请输入你想要取钱的数目:")
    money = int(input())
    global balance
    balance -= money
    print(f"{name},您好,您存款{money}元成功")
    print(f"{name},您好,您的余额为{balance}元")
def select():
    print("----------查询余额-----------")
    print(f"{name},您好,您的余额剩余:{balance}元")
def main():
    print("-----------主菜单-----------")
    print(f"{name},您好,欢迎来到ATM系统,请选择操作:")
    print("查询余额: \t【请输入:1 】")
    print("存 款:\t\t【请输入:2 】")
    print("取 款:\t\t【请输入:3 】")
    print("退 出:\t\t【请输入:4 】")
    a = int(input("请输入您的选择:"))
    while a <= 3:
        if a == 1:
            select()
            main()
        elif a == 2:
            save()
            main()
        else:
            take()
            main()
    print(f"再见{name},欢迎您的下次光临!")
    exit()
main()

代码演示:

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON