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

【Python】函数

@[toc]【Python】函数

【Python】函数

在 Python 中,函数是一种可重复使用的代码块用于执行特定任务。函数通过 def 关键字定义,可以接受参数并返回值。以下是 Python 函数的基本结构:

基本语法

def 函数名(参数1, 参数2, ...):
    # 函数体
    执行代码
    return 返回值  # 可选

示例 1:简单的函数

def greet(name):
    return f"Hello, {name}!"

# 调用函数
message = greet("Alice")
print(message)  # 输出: Hello, Alice!

示例 2:带默认参数的函数

def greet(name="Guest"):
    return f"Hello, {name}!"

# 调用函数
print(greet())          # 输出: Hello, Guest!
print(greet("Bob"))     # 输出: Hello, Bob!

示例 3:返回多个值

def calculate(a, b):
    add = a + b
    subtract = a - b
    return add, subtract

# 调用函数
result1, result2 = calculate(10, 5)
print(result1)  # 输出: 15
print(result2)  # 输出: 5

示例 4:可变参数(*args 和 **kwargs)

需要注意的是,位置参数和关键字参数的顺序,一般位置参数在关键字参数前面
*args 用于传递任意数量的位置参数

**kwargs 用于传递任意数量的关键字参数

def print_args(*args, **kwargs):
    print("位置参数:", args)
    print("关键字参数:", kwargs)

print_args(1, 2, 3, name="Alice", age=25)
# 输出:
# 位置参数: (1, 2, 3)
# 关键字参数: {'name': 'Alice', 'age': 25}

示例 5:匿名函数(Lambda)

Lambda 函数是一种简洁的单行函数,适用于简单的操作。

# 定义一个 lambda 函数
square = lambda x: x ** 2

# 调用 lambda 函数
print(square(5))  # 输出: 25


示例 6:递归函数

递归函数是指在函数内部调用自身的函数。

def factorial(n):
    if n == 1:
        return 1
    else:
        return n * factorial(n - 1)

# 调用递归函数
print(factorial(5))  # 输出: 120

示例 7:函数注解

Python 支持函数注解,用于为参数和返回值添加元数据。

def add(a: int, b: int) -> int:
    return a + b

# 调用函数
print(add(3, 4))  # 输出: 7

总结

函数通过 def 关键字定义。

可以接受参数并返回值。

支持默认参数、可变参数、匿名函数和递归。

函数注解可以为参数和返回值添加元数据。


http://www.kler.cn/a/510431.html

相关文章:

  • AI守护煤矿安全生产:基于视频智能的煤矿管理系统架构全解析
  • 安路FPGA开发工具TD:问题解决办法 及 Tips 总结
  • 令牌主动失效机制实现——Redis登录优化
  • 二进制/源码编译安装mysql 8.0
  • Java开发提效秘籍:巧用Apache Commons IO工具库
  • 【Python】随机数种子(random seed)的设置
  • git 查看修改和 patch
  • Flutter 和 Compose Multiplatform对比
  • 2025 OpenCloudOS欧拉系统在线安装docker,在国产欧拉系统安装部署及docker
  • Versal - 基本概念+PL点灯+构建CIPS+VD100+查找资料和文档
  • Stable Diffusion 3.5 模型在 Linux 上的部署指南
  • 牛客周赛76B:JAVA
  • 【python_钉钉群发图片】
  • UBoot简单学习(TODO)
  • Ubuntu 24.04 LTS linux 文件权限
  • 前端实习第二个月小结
  • 数据库性能优化(sql优化)_索引详解04_深入理解B+树_yxy)
  • NPC与AI深度融合结合雷鸟X3Pro AR智能眼镜:引领游戏行业沉浸式与增强现实新纪元的畅想
  • HENGSHI SENSE 5.4 发布,ChatBI 成熟度进一步提升
  • 如何在uniapp中实现一个表格组件?
  • SpringBoot整合ShedLock,解决定时任务防止重复执行的问题
  • 【2024年华为OD机试】 (B卷,100分)- 敏感字段加密(Java JS PythonC/C++)
  • el-date-picker根据开始时间或结束时间禁用前后时间
  • C# 数据结构全面解析
  • 自动驾驶汽车目前面临的最大技术挑战是什么?
  • linux网络编程11——线程池