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:paramlevel:等级(1\~5),随机得到:paramwork_age:工龄(1,30),随机得到:return:总薪资,总薪资= level\*0.3\*298 + work_age\*100 + 4000 """return level * 0.3 * 298 + work_age * 100 + 4000





for 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关键字进行声明

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

局部变量示例如下:

全局变量示例如下:

复制代码
# 全局变量num

num = 100





def test():

    print(num)





test()

print(num)

运行

global关键字

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

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

运行

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

运行

综合案例

案例:模拟ATM

要求:

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

num = 5000000

while 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 += num2

        print(f"存款{num2}成功!余额为:{num}")

    elif x == 3:

        num3 = int(input("请输入取款金额:"))

        num -= num3

        print(f"存款{num3}成功!余额为:{num}")

    elif x == 4:

        print("已退出!")

        break

    else:

        print("输入错误!")

        break

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

运行

相关推荐
万粉变现经纪人几秒前
如何解决 pip install -r requirements.txt 约束文件 constraints.txt 仅允许固定版本(未锁定报错)问题
开发语言·python·r语言·django·beautifulsoup·pandas·pip
站大爷IP6 分钟前
Python定时任务实战:APScheduler从入门到精通
python
Fairy_sevenseven13 分钟前
[1]python爬虫入门,爬取豆瓣电影top250实践
开发语言·爬虫·python
ThisIsMirror17 分钟前
CompletableFuture并行任务超时处理模板
java·windows·python
java1234_小锋1 小时前
TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 计算图和 tf.function 简介
python·深度学习·tensorflow·tensorflow2
程序员晚枫1 小时前
Python 3.14新特性:Zstandard压缩库正式加入标准库,性能提升30%
python
逆境清醒1 小时前
VS Code配置Python开发环境系列(1)___VScode的安装 ,VScode常用快捷键
vscode·python·visual studio code
万粉变现经纪人1 小时前
如何解决 pip install -r requirements.txt 无效可编辑项 ‘e .‘(-e 拼写错误)问题
开发语言·python·r语言·beautifulsoup·pandas·pip·scipy
潇凝子潇2 小时前
在使用Nacos作为注册中心和配置中心时,如何解决服务发现延迟或配置更新不及时的问题
开发语言·python·服务发现
烛阴2 小时前
Python 列表推导式:让你的代码更优雅、更高效
前端·python