【Python】(3) 函数

一、定义和调用

  • 先定义,后调用。
  • 形参和返回值不定义类型。
python 复制代码
1. 定义
def 函数名(形参列表)
    函数体
    return 返回值

2. 调用
ret = 函数名(实参列表)

二、参数

1、形参

  • 可以有默认参数值 ,但要放到 没有默认参数的形参后面
python 复制代码
def add(x, y, debug=False):
    if debug:
        print(f'调试信息: x={x}, y={y}')
    return x + y


print(add(10, 20))  # 使用默认参数值
print(add(10, 20, True))  # 不使用默认参数值

2、实参

  • 形参与实参要一一对应。
  • 若实参与形参顺序不一致,可用关键字参数
python 复制代码
def test(x, y):
    print(f'x = {x}')
    print(f'y = {y}')


test(y=100, x=200)

三、返回值

  • 返回值可以有多个。
  • 调用函数时,不需要的返回值可用 _ 占位忽略。
python 复制代码
def getPoint():
    x = 10
    y = 20
    return x, y


_, b = getPoint()

四、变量作用域

  • 函数里边定义的是局部变量 ,函数外部定义的是全局变量
  • 同名局部、全局变量同时存在,函数里优先使用局部变量。
  • 函数里修改全局变量,使用 global 修饰引用。
python 复制代码
x = 20


def test():
    global x  # 若不修饰 global,会认为 x = 10 是局部变量定义
    x = 10
    print(f'函数内部 x = {x}')


test()
print(f'函数外部 x = {x}')
  • if / while / for 语句块不影响变量作用域:
python 复制代码
# 这时 i 就是全局变量
for i in range(1, 10):
    print(f'for循环 i = {i}')


def test():
    global i
    i = 100
    print(f'函数内部 x = {i}')
相关推荐
布朗克168几秒前
Go 入门到精通-29-测试与基准
开发语言·后端·golang·测试与基准
你驴我14 分钟前
WhatsApp Cloud API 速率限制下的令牌桶与退避策略实践
网络·后端·python
AC赳赳老秦17 分钟前
司法公开数据采集应用:OpenClaw 抓取裁判文书公开信息,批量整理同类参考案例
java·大数据·python·数据挖掘·数据分析·php·openclaw
格林威43 分钟前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
小大宇1 小时前
Python 集成 Conda
开发语言·python·conda
还是奇怪1 小时前
Simon Willison 用 DSPy 优化 Datasette Agent 提示词:提示工程正在变成可测试的软件工程
java·开发语言·软件工程
初学者,亦行者2 小时前
利用Pyecharts绘制堆叠柱状图
python·信息可视化·数据分析
林泽毅2 小时前
PyTRIO:当强化学习不再需要本地GPU
人工智能·python·深度学习·机器学习
小陈phd2 小时前
QAnything 阅读优化策略05——检索
人工智能·python·机器学习
ruofu332 小时前
wsl端是py312,但是项目是py311, 如何下载py311的依赖包(wheels)
python·docker