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
相关推荐
Java后端的Ai之路13 小时前
【Python 教程15】-Python和Web
python
冬奇Lab14 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
灰子学技术16 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
二十雨辰16 小时前
[python]-AI大模型
开发语言·人工智能·python
Yvonne爱编码16 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚16 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂16 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
pas13617 小时前
41-parse的实现原理&有限状态机
开发语言·前端·javascript
琹箐17 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
前端摸鱼匠17 小时前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测