Skip to content
编程开物
编程开物

一段代码,一段Prompt,一物成型。 探索编程、AI应用、架构设计与产品设计,分享工程实践,记录技术学习、工作总结与产品创造。

  • 首页
  • 编程基础
  • 数据与AI
    • 数据工程
    • AI基础理论
    • AI实践应用
  • 系统架构
    • 传统应用架构设计
    • AI应用架构设计
  • 项目管理
  • 产品设计
  • 技术教程
  • 行业动态
  • 编程笔记
  • 关于我
编程开物

一段代码,一段Prompt,一物成型。 探索编程、AI应用、架构设计与产品设计,分享工程实践,记录技术学习、工作总结与产品创造。

《Python编程》007 – Python函数

编码者, 2023年8月6日2023年8月6日

函数是任何编程语言的基本构建块,Python也不例外。在本文中,我们将探讨如何在Python中定义和使用函数。

函数是什么?

函数是一段执行特定任务的代码块,可以在程序中重复使用。函数有助于使代码更模块化、更易于阅读和维护。

定义函数

要在Python中定义函数,您需要使用def关键字,后面跟着函数名和任何参数(用括号括起来)。示例:

def greet(name):
    print("Hello, " + name + "!")

在这个示例中,我们定义了一个名为greet的函数,它接受一个参数name。该函数简单地使用name参数的值向控制台打印问候消息。

调用函数

要在Python中调用函数,只需使用函数名,后面跟上任何参数(用括号括起来)。示例:

greet("John")

在这个示例中,我们调用greet函数并传入参数”John”,导致函数向控制台打印消息”Hello, John!”。

返回值

函数还可以返回一个值,这对于执行计算或将数据返回给调用者非常有用。要在Python中从函数返回一个值,您需要使用return关键字,后面跟上要返回的值。示例:

def add(x, y):
    return x + y

然后,您可以调用该函数并将其返回值存储在变量中,如下所示:

result = add(2, 3)
print(result)

在这个示例中,我们用参数2和3调用add函数,导致函数返回值5,然后将其存储在result变量中并打印到控制台。

默认参数

Python中的函数还可以具有默认参数,当调用者未提供参数时使用这些默认参数。示例:

def greet(name="World"):
    print("Hello, " + name + "!")

在这个示例中,我们定义了一个名为greet的函数,它接受一个参数name,其默认值为”World”。如果调用者未为name参数提供值,则使用默认值。

然后,您可以带或不带参数调用该函数,如下所示:

greet()
greet("John")

在这个示例中,第一次调用greet使用name参数的默认值”World”,而第二次调用则使用值”John”。

关键字参数

Python中的函数还可以接受关键字参数,这些参数通过名称而不是位置进行指定。示例:

def greet(name, greeting="Hello"):
    print(greeting + ", " + name + "!")

在这个示例中,我们定义了一个名为greet的函数,它接受两个参数name和greeting。greeting参数具有默认值”Hello”。然后,函数使用greeting和name参数向控制台打印个性化的问候消息。

您可以以任何顺序使用参数调用函数,使用参数名称来指定它们,如下所示:

greet(name="John", greeting="Hi")
greet(greeting="Bonjour", name="Alice")
greet("Bob")

您还可以混合使用位置参数和关键字参数,但位置参数必须位于关键字参数之前。这是一个示例:

greet("Mary", greeting="Hola")

关键字参数可以使函数调用更灵活和易于阅读,并且它们可以与默认参数和可变参数一起使用。

可变参数

Python中的函数还可以使用*args和**kwargs语法接受可变数量的参数。

*args

def add(*args):
    result = 0
    for arg in args:
        result += arg
    return result

在这个示例中,我们定义了一个名为add的函数,它使用args语法接受可变数量的参数。然后,函数循环遍历这些参数并将它们相加,返回结果。

您可以使用任意数量的参数调用该函数,如下所示:

result = add(1, 2, 3)
print(result)

在这个示例中,我们用参数1、2和3调用add函数,导致函数返回值6,然后将其存储在result变量中并打印到控制台。

**kwargs

您还可以使用kwargs语法传递可变数量的关键字参数。示例:

def print_kwargs(**kwargs):
    for key, value in kwargs.items():
        print(key + " = " + str(value))

在这个示例中,我们定义了一个名为print_kwargs的函数,它使用**kwargs语法接受可变数量的关键字参数。然后,函数循环遍历关键字参数,并将它们的名称和值打印到控制台。

您可以使用任意数量的关键字参数调用该函数,如下所示:

print_kwargs(name="John", age=30, city="New York")

在这个示例中,我们调用print_kwargs函数,并使用关键字参数”name”的值为”John”,关键字参数”age”的值为30,关键字参数”city”的值为”New York”,函数打印以下输出到控制台:

name = John
age = 30
city = New York

结论

在本文中,我们介绍了如何在Python中定义和使用函数。我们看到函数如何帮助使代码更模块化、更易于阅读和维护,以及它们如何接受参数、返回值,并具有默认参数和可变参数。通过掌握这些概念,您将能够编写更复杂、更强大的Python程序。

Post Views: 781
编程笔记 Python函数Python编程

文章导航

Previous post
Next post

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

站内搜索

微信公众号

广告赞助

近期文章

  • 2026 年主流跨端开发框架:Flutter、React Native、KMP 怎么选?
  • 2026 年企业级编程技术栈趋势简报
  • 使用 Jev 构建 Harness [译]
  • 2026年FDE(前沿部署工程师)为什么成了香饽饽?
  • 第 7 章 Tool System:给 AI 装上”手和脚”
  • 第 6 章 Context Engineering:Agent 的”工作内存”
  • 第 5 章 主流 AI Agent 架构模式
  • 第 3 章 AI Agent Loop:现代 AI Agent 背后的核心架构
  • 第 4 章 Agent Harness是什么?
  • Token经济:从10亿亿到3500亿亿,Token正在形成智能经济模型

近期评论

  • 《AI Agent 架构设计与工程实践指南》——从 LLM、Agent、Harness 到 Mini Claude Code - 编程开物 发表在《第 3 章 AI Agent Loop:现代 AI Agent 背后的核心架构》
  • 《AI Agent 架构设计与工程实践指南》——从 LLM、Agent、Harness 到 Mini Claude Code - 编程开物 发表在《第 4 章 Agent Harness是什么?》
  • 第 4 章 Agent Harness是什么? - 编程开物 发表在《《AI Agent 架构设计与工程实践指南》——从 LLM、Agent、Harness 到 Mini Claude Code》
  • 《AI Agent 架构设计与工程实践指南》——从 LLM、Agent、Harness 到 Mini Claude Code - 编程开物 发表在《第 2 章 LLM Application 的基本架构》
  • 《AI Agent 架构设计与工程实践指南》——从 LLM、Agent、Harness 到 Mini Claude Code - 编程开物 发表在《第 1 章 重新认识 AI Agent》

归档

  • 2026 年 9 月 (13)
  • 2025 年 8 月 (1)
  • 2025 年 7 月 (1)
  • 2025 年 6 月 (10)
  • 2025 年 5 月 (10)
  • 2025 年 4 月 (5)
  • 2025 年 2 月 (1)
  • 2024 年 12 月 (4)
  • 2024 年 11 月 (7)
  • 2024 年 9 月 (1)
  • 2024 年 8 月 (4)
  • 2024 年 7 月 (1)
  • 2024 年 2 月 (1)
  • 2023 年 12 月 (3)
  • 2023 年 11 月 (6)
  • 2023 年 10 月 (4)
  • 2023 年 9 月 (2)
  • 2023 年 8 月 (38)
  • 2022 年 2 月 (1)
  • 2022 年 1 月 (13)
  • 2021 年 1 月 (1)
  • 2020 年 10 月 (1)
  • 2020 年 1 月 (1)
  • 2014 年 7 月 (2)

分类

  • IT项目管理 (2)
  • 技术教程 (8)
  • 数据与AI (12)
    • AI基础理论 (1)
    • AI实践应用 (2)
    • 数据工程 (3)
  • 架构设计 (13)
    • AI应用架构设计 (8)
    • 传统应用架构设计 (2)
  • 编程基础 (2)
  • 编程笔记 (88)
  • 行业动态 (19)
©2026 编程开物 | WordPress Theme by SuperbThemes | 沪ICP备17019044号-3