当前位置: 首页 > news >正文

Python函数基础:说明文档(多行注释),函数嵌套调用,变量作用域(局部,全局,global关键字),综合案例

目录

说明文档(多行注释)

函数嵌套调用

变量作用域

局部和全局变量

global关键字

综合案例


说明文档(多行注释)

通过注释解释说明函数:注释可以辅助理解函数的作用。

多行注释解释说明函数格式:

def func(x, y):
   
"""
   
函数说明
   
:param x: 形参x的说明
   
:param y: 形参y的说明
   
:return: 返回值的说明
    """
   
函数体
   
return 返回值

注意:内容应写在函数内,函数体前。

查看函数的说明文档(要把光标放到函数名字上):

  1. 使用快捷键ctrl+q查看函数的说明文档
  2. 使用快捷键ctrl+b跳转到函数定义查看
  3. 按照ctrl键,鼠标点击函数名,可跳转至函数定义查看

PyCharm中调用函数时,可以查看该函数的说明文档。

示例如下:

import random"""定义一个函数,用于计算薪资,薪资由等级(1~5)(随机)和工龄(1~30)(随机)而定基础薪资4000,总薪资=基础薪资+等级*0.3*298+工龄*100计算4名员工的总薪资

"""def salary(level, work_age):"""计算总薪资,基础薪资4000,总薪资 = level*0.3*298 + work_age*100 + 4000:param level: 等级(1~5),随机得到:param work_age: 工龄(130),随机得到:return: 总薪资,总薪资 = level*0.3*298 + work_age*100 + 4000"""return level * 0.3 * 298 + work_age * 100 + 4000for i in range(1, 5):x = random.randint(1, 5)y = random.randint(1, 30)print(f"{i}名员工的总薪资为:{salary(x, y)}")

运行

函数嵌套调用

函数的嵌套调用:即函数中又调用了另一个函数。

示例如下:

def func_b():print("----2----")def func_a():print("----1----")func_b()print("----3----")func_a()

运行

变量作用域

局部和全局变量

变量的作用域:指变量的作用范围。

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

局部变量-生命周期:局部变量在函数执行时会被创建,在函数执行结束后,会被系统回收

全局变量:指定义在函数外部的变量,在函数体内和外部都能生效。

全局变量-生命周期:全局变量在代码执行时被创建,代码执行结束后销毁

注意:想要在函数中,修改全局变量,需要先使用global关键字进行声明

注意:不建议使用全局变量,因为可变范围大,程序会不好维护。

局部变量示例如下:

全局变量示例如下:

# 全局变量numnum = 100def test():print(num)test()print(num)

运行

global关键字

global关键字:使用global关键字,可以在函数的内部,将函数内定义的变量声明为全局变量,从而在函数内部修改全局变量,就可以同时修改外部同名的全局变量。

不使用global关键字,示例如下:

运行

使用global关键字,示例如下:

运行

综合案例

案例:模拟ATM

要求:

  1. ATM的主菜单有:查询余额,存款,取款,退出,这4项操作;
  2. 在查询余额,存款,取款后都会返回主菜单;
  3. 存款,取款后都会显示当前余额;
  4. 客户选择退出或输入错误,程序会退出,否则一直运行。

# 案例:模拟ATMnum = 5000000while True:print("你好!请操作:\n查询余额\t[输入1]\n存款\t\t[输入2]\n取款\t\t[输入3]\n退出\t\t[输入4]")x = int(input("请输入你的选择:"))if x == 1:print(f"你好,余额还剩{num}")elif x == 2:num2 = int(input("请输入存款金额:"))num += num2print(f"存款{num2}成功!余额为:{num}")elif x == 3:num3 = int(input("请输入取款金额:"))num -= num3print(f"存款{num3}成功!余额为:{num}")elif x == 4:print("已退出!")breakelse:print("输入错误!")break

注意:也可把主菜单,查询余额,存款,取款都封装成函数,这样也更清晰明了。

运行

相关文章:

  • PMP-第一章 引论
  • Linux 复制、移动命令总结
  • ADC介绍
  • Android 13 接入 MediaSession 详细文档
  • DP之书架
  • CANFD技术在实时运动控制系统中的应用:协议解析、性能测试与未来发展趋势
  • 数据可视化大屏——大数据分析系统
  • 【人工智能】Python中的深度学习模型部署:从训练到生产环境
  • 前端面试宝典---vue实现简化版
  • 用Xshell8配置密钥登陆
  • olama部署deepseek模型
  • 【AI论文】Tina:通过LoRA的微小推理模型
  • 住宅代理IP助力大规模数据采集实战
  • 数组的多种声明方式:类型标注与泛型数组
  • Git分支重命名与推送参数解析
  • 系列位置效应——AI与思维模型【80】
  • 《Keras 3部署全攻略:从新手到实战高手》
  • ShenNiusModularity项目源码学习(22:ShenNius.Admin.Mvc项目分析-7)
  • Axure疑难杂症:全局变量典型应用及思考逻辑(玩转全局变量)
  • 立创EDA
  • “富卫保险冠军赛马日”创双纪录,打造赛马旅游盛宴,印证香港联通国际优势
  • 央媒谈多地景区试水“免费开放”:盲目跟风会顾此失彼
  • 伊朗阿巴斯港港口爆炸已致47人受伤
  • 国家市场监管总局:组织销毁侵权假冒服装、食药等3300吨
  • 印控克什米尔恐袭引爆印巴新一轮外交摩擦,地区安全风险骤增
  • 中国海外宏洋集团:一季度经营溢利同比降48.6%,密切关注行业收并购机会等