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
相关推荐
迅猛龙办公室28 分钟前
python实现倒序输出数字
开发语言·python
夏幻灵6 小时前
JavaScript this 面试:五种绑定规则、优先级与常见面试陷阱
开发语言·javascript·面试
程序猿编码7 小时前
榨干 RTX5090 算力!Qwen3 专用单卡推理引擎,手写C++/CUDA 算子实现 MTP 推测解码
开发语言·c++·大模型推理·qwen3·多模态推理
bkspiderx8 小时前
Qt 插件机制:动态扩展应用功能的核心框架
开发语言·qt·元数据·qt 插件·qpluginloader
程序员老陆8 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光8 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
码云数智-园园9 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
禾小西9 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨10 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
全栈练习生10 小时前
AI Agent 沙箱
python·ai