Python之函数

目录

1.函数的定义

2.函数的传入参数

3.None类型

4.函数的嵌套

5.变量作用域

6.函数综合案例

1.函数的定义

def 函数名(传入参数):

函数体

return 返回值

函数的调用:

函数名(参数)

注意:函数必须先定义后使用

2.函数的传入参数

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

注意:函数定义中的参数,称之为形式参数

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

练习:

复制代码
python 复制代码
def chahesuan(t):
    if t < 37.5:
        print(f"请出示您的健康码以及72小时核酸证明!\n您的体温是{t},请通行")
    else:
        print(f"请出示您的健康码以及72小时核酸证明!\n您的体温是{t},需要隔离")
chahesuan(37.4)

3.None类型

Python中有一个特殊的字面量:None,其类型是:<class 'NoneType'>

无返回值的函数,实际上就是返回了:None这个字面量,None就是没有什么实际意义的数。

用在if判断上:

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

用于声明无内容的变量:

定义变量,但暂时不需要变量有具体值,可以用None来代替

4.函数的嵌套

定义:指的是一个函数里面又调用了另外一个函数

5.变量作用域

(1)定义:变量的作用范围,主要分为两类:局部变量和全局变量

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

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

全局变量:在函数体内、外都能生效的变量

(2)global关键字:使用global关键字可以在函数内部声明变量为全局变量

6.函数综合案例

银行的ATM系统简易版:

python 复制代码
money = 5000000
name = input("请输入您的姓名:")

def check():
    print("--------------查询余额-------------------")
    print(f"{name},您好,您现在的银行卡余额还有{money}元")

def deposit():
    print("--------------存款------------------")
    global money
    num = input("请输入您要存的钱:")
    money = money + int(num)
    print(f"{name},您好,您现在的银行卡余额还有{money}元")

def w():
    global money
    print("--------------取款------------------")
    num = input("请输入您要取的钱:")
    money = money - int(num)
    print(f"您现在的银行卡余额还有{money}元")

def manu():
    print("--------------主菜单------------------")
    print(f"{name},您好,欢迎来到银行ATM。请选择操作:")
    print("查询余额 [输入1]")
    print("存款 [输入2]")
    print("取款 [输入3]")
    print("退出 [输入4]")
    selet = input("请输入您的选择:")
    return selet

while(1):
    n = int(manu())
    if n == 1:
        check()
    if n == 2:
        deposit()
    if n == 3:
        w()
    else:
        break
相关推荐
沐知全栈开发1 分钟前
Bootstrap5 轮播
开发语言
黄筱筱筱筱筱筱筱3 分钟前
7.适合新手小白学习Python的异常处理(Exception)
java·前端·数据库·python
Rolei_zl6 分钟前
AIGC(生成式AI)试用 45 -- DocsGPT 与 Python开发 1
python·aigc
༾冬瓜大侠༿7 分钟前
C++string
c语言·开发语言·c++·算法
雨季6667 分钟前
Flutter 三端应用实战:OpenHarmony “极简文本字符计数器”——量化表达的尺度
开发语言·flutter·ui·交互·dart
skywalker_1110 分钟前
多线程&JUC
java·开发语言·jvm·线程池
黎雁·泠崖11 分钟前
Java基础核心能力总结:从语法到API的完整知识体系
java·开发语言
雨季66618 分钟前
Flutter 三端应用实战:OpenHarmony “呼吸灯”——在焦虑时代守护每一次呼吸的数字禅修
开发语言·前端·flutter·ui·交互
开源技术1 小时前
深入了解Turso,这个“用Rust重写的SQLite”
人工智能·python
初恋叫萱萱1 小时前
构建高性能生成式AI应用:基于Rust Axum与蓝耘DeepSeek-V3.2大模型服务的全栈开发实战
开发语言·人工智能·rust