Python 函数与模块

在 Python 编程中,函数(Function)和模块(Module)是提升代码复用性、可读性和可维护性的核心工具

一、Python 函数:封装可复用的代码块

1. 什么是函数?

函数是一段命名的、可重复执行的代码块,它可以接收输入参数,执行特定逻辑后返回结果(也可无返回)。简单来说,函数就像一个 “工具”:你定义它的功能,之后可以反复调用,无需重复编写相同代码。

2. 函数的基本使用

(1)定义函数

使用 def 关键字定义函数,语法格式:

python

运行

def 函数名(参数列表):
    """函数文档字符串(可选,说明函数功能)"""
    函数体(要执行的代码)
    return 返回值(可选)
(2)示例:一个计算两数之和的函数

python

运行

def add(a, b):
    """计算两个数的和并返回结果"""
    result = a + b
    return result

# 调用函数
sum_result = add(3, 5)
print(sum_result)  # 输出:8
(3)函数的核心特性
  • 参数:分为位置参数(必须按顺序传值)、关键字参数(按参数名传值)、默认参数(定义时指定默认值)、可变参数(*args 接收任意位置参数,**kwargs 接收任意关键字参数)。示例(默认参数):

    python

    运行

    def greet(name, greeting="Hello"):
        return f"{greeting}, {name}!"
    
    print(greet("小明"))  # 输出:Hello, 小明!
    print(greet("小红", "Hi"))  # 输出:Hi, 小红!
    
  • 返回值:用 return 语句返回结果,无 return 则默认返回 None
  • 作用域:函数内部定义的变量为 “局部变量”(仅函数内可用),函数外定义的为 “全局变量”(需用 global 关键字才能在函数内修改)。

3. 函数的价值

  • 减少代码冗余:相同逻辑只需写一次,多次调用;
  • 提高代码可读性:函数名可直观体现功能(如 addgreet);
  • 便于调试:只需维护函数内部逻辑,修改一处即可生效。

二、Python 模块:组织函数和变量的 “容器”

1. 什么是模块?

模块是一个.py 为后缀的 Python 文件,里面可以包含函数、类、变量,甚至可执行代码。它的核心作用是将代码按功能拆分,让大型项目的代码结构更清晰。

比如,你可以创建一个 math_tools.py 文件(这就是一个模块),里面存放所有和数学计算相关的函数:

python

运行

# math_tools.py
def add(a, b):
    return a + b

def multiply(a, b):
    return a * b

PI = 3.1415926

2. 模块的使用:导入与调用

要使用模块中的内容,需用 import 关键字导入,常见导入方式有 3 种:

(1)导入整个模块

python

运行

# 导入math_tools模块
import math_tools

# 调用模块中的函数/变量:模块名.函数名/变量名
print(math_tools.add(2, 3))  # 输出:5
print(math_tools.PI)         # 输出:3.1415926
(2)导入模块中的指定内容

python

运行

# 只导入add函数和PI变量
from math_tools import add, PI

print(add(4, 5))  # 输出:9
print(PI)         # 输出:3.1415926
(3)导入并指定别名(简化调用)

python

运行

# 给模块起别名
import math_tools as mt
print(mt.multiply(2, 6))  # 输出:12

# 给函数起别名
from math_tools import add as addition
print(addition(7, 8))  # 输出:15

3. 内置模块与第三方模块

Python 的模块分为三类,满足不同需求:

  • 内置模块:Python 自带的模块(无需安装),如 math(数学计算)、os(系统操作)、datetime(时间处理);示例:使用内置 math 模块

    python

    运行

    import math
    print(math.sqrt(16))  # 计算平方根,输出:4.0
    
  • 自定义模块:自己编写的 .py 文件(如上面的 math_tools.py);
  • 第三方模块:开发者社区提供的模块(需先安装),如 numpy(数值计算)、requests(网络请求);安装第三方模块(终端执行):

    bash

    运行

    pip install requests
    
    使用第三方模块:

    python

    运行

    import requests
    response = requests.get("https://www.baidu.com")
    print(response.status_code)  # 输出:200(请求成功)
    

三、函数与模块的关系:从 “工具” 到 “工具包”

函数是 “单个工具”,模块是 “装工具的工具箱”:

  • 一个模块中可以包含多个函数(甚至多个类、变量),比如 math 模块包含 sqrt()sin()cos() 等数十个数学函数;
  • 大型项目中,还可以将多个相关模块组合成 “包(Package)”(包含 __init__.py 文件的文件夹),进一步拆分代码(如 numpy 包包含数百个模块)。

总结

  1. 函数是封装单一功能的代码块,核心价值是代码复用逻辑解耦,通过 def 定义、return 返回结果;
  2. 模块是存放函数 / 变量 / 类的 .py 文件,核心作用是组织代码结构,通过 import 导入使用,分为内置、自定义、第三方三类;
  3. 函数 + 模块是 Python 模块化编程的基础,能让代码从 “杂乱的一行行” 变成 “有结构的工具集合”,是编写大型项目的必备能力。
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐