Python教程:函数的简单介绍

简介: 函数(Function)是一种独立封装的、可重复使用的代码块,用于执行特定任务或操作。函数接受输入参数(可选)并返回输出结果(也是可选的)。在程序设计中,函数是一种将代码组织成模块化、可维护和可重用的方式。

 函数(Function)是一种独立封装的、可重复使用的代码块,用于执行特定任务或操作。函数接受输入参数(可选)并返回输出结果(也是可选的)。在程序设计中,函数是一种将代码组织成模块化、可维护和可重用的方式。

函数通常具有以下几个要素:

  1. 函数名(Function Name):函数的名称用于标识函数,在调用函数时使用。函数名应该能清晰地表达函数的功能。
  2. 参数列表(Parameters):参数是函数接受的输入值,可以在函数内部被处理或操作。参数可以是必需的,也可以是可选的,默认值的参数。
  3. 函数体(Function Body):函数体是包含在函数内部的代码块,实现了函数的具体功能。函数体可以包含多条语句,用于完成特定任务。
  4. 返回值(Return Value):函数可以选择性地返回一个或多个值作为结果。返回值是函数执行后输出的结果,可以被调用函数使用或打印出来。

通过定义和调用函数,可以将复杂的问题分解成更小的模块,提高代码的可读性、可维护性和复用性。函数在程序开发中扮演着非常重要的角色,使代码更加结构化和易于管理。

在 Python 中,函数是一种用于执行特定任务的代码块。下面我们将深入讨论函数的各个方面:

1. 函数基础

函数是 Python 中的核心概念之一,通过 def 关键字定义函数。以下是一个简单的例子:

def greet():
    print("Hello, welcome to Python functions!")
    
greet()  # 调用函数 greet()

image.gif

2. 函数参数

Python 函数支持多种参数传递方式,包括位置参数、关键字参数、默认参数和可变参数。示例代码如下:

def greet(name, message="Welcome"):
    print(f"{message}, {name}!")
greet("Alice")  # 使用默认参数
greet("Bob", "Hi")  # 提供自定义参数

image.gif

3. 匿名函数和高阶函数

匿名函数使用 lambda 表达式来创建,通常用于简单的函数操作。高阶函数可以接受函数作为参数或返回函数。示例代码:

add = lambda x, y: x + y
print(add(2, 3))
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared)

image.gif

4. 作用域和闭包

Python 中有局部作用域和全局作用域的概念,闭包是指内部函数可以访问外部函数作用域的变量。示例代码如下:

def outer_func():
    message = "Hello"
    
    def inner_func():
        print(message)
        
    return inner_func
my_func = outer_func()
my_func()

image.gif

5. 递归函数

递归函数是指函数可以调用自身,常用于解决一些需要重复处理的问题。示例代码:

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)
print(factorial(5))  # 计算阶乘

image.gif

6. 函数局部作用域(Local Scope)

局部作用域指的是在函数内部定义的变量,只能在函数内部访问。例如:

def my_function():
    x = 10  # x 在这里是局部变量
    print(x)
my_function()
# print(x)  # 这里将会报错,因为 x 是局部变量,超出了其作用域

image.gif

7. 函数全局作用域(Global Scope)

全局作用域指的是在模块层级定义的变量,可以在整个模块中访问。例如:

y = 20  # y 在这里是全局变量
def my_function():
    print(y)  # 可以在函数内部访问全局变量 y
my_function()

image.gif

8. 函数嵌套作用域(Enclosing Scope)

嵌套作用域指的是在函数内部的函数中访问外层函数的变量。例如:

def outer_function():
    z = 30  # z 在这里是外部函数的局部变量
    
    def inner_function():
        print(z)  # 在内部函数中可以访问外部函数的变量
    inner_function()
outer_function()

image.gif

当在函数内部访问变量时,Python 解释器会按照“局部作用域 → 嵌套作用域 → 全局作用域”的顺序搜索变量,直到找到为止。如果在所有作用域中都找不到对应的变量,将会引发 NameError。

9. 函数内置作用域(Built-in Scope)

内置作用域指的是 Python 的内置函数和对象的作用域,这些函数和对象可以在任何地方使用,无需导入任何模块。例如:

print(abs(-5))  # abs() 是内置函数,可以直接使用

image.gif


目录
相关文章
|
12天前
|
IDE 测试技术 项目管理
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
PyCharm是由JetBrains开发的Python集成开发环境(IDE),专为Python开发者设计,支持Web开发、调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制等功能。它有专业版、教育版和社区版三个版本,其中社区版免费且适合个人和小型团队使用,包含基本的Python开发功能。安装PyCharm前需先安装Python解释器,并配置环境变量。通过简单的步骤即可在PyCharm中创建并运行Python项目,如输出“Hello World”。
118 12
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
|
3月前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
154 67
|
1月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
30 3
|
1月前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
38 2
|
21天前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
13 0
|
2月前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
62 18
|
2月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
80 8
|
2月前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
144 7
|
2月前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
54 4
|
2月前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
60 5