前言

函数与模块是 Python 实现代码复用、优化程序结构的核心。函数封装重复代码,让逻辑更清晰;模块组织函数 / 类,解决大型项目代码杂乱问题。本文聚焦函数与模块的核心用法,帮助初学者快速掌握关键知识点。

一、Python 函数

函数是可重复使用的代码块,接收参数执行逻辑并返回结果,分为自定义函数和内置函数,核心是自定义函数。

1.1 无参函数

定义时不接收参数,语法简单:

  • def开头,后接函数名 +()+:`;
  • 函数体缩进,return可选(无则返回None);
  • 定义需在调用前。

示例:两数相加

# 有返回值的无参函数
def add():
    op1, op2 = 10, 20
    return op1 + op2

print(add())  # 输出:30

1.2 带参函数

开发中最常用,通过参数实现灵活逻辑:

核心用法
  1. 参数类型

    • 位置参数:按顺序传参,个数 / 顺序需匹配;
    • 关键字参数:形参名=值,顺序无关;
    • 默认参数:def func(x, y=6),默认参数需在位置参数后。
  2. 示例:简易计算器

def add(x, y): return x + y
def subtract(x, y): return x - y
def multiply(x, y): return x * y
def divide(x, y): return x / y

choice = int(input("1-加 2-减 3-乘 4-除:"))
num1, num2 = int(input("数1:")), int(input("数2:"))

if choice == 1: print(add(num1, num2))
elif choice == 2: print(subtract(num1, num2))
elif choice == 3: print(multiply(num1, num2))
elif choice == 4: print(divide(num1, num2))

1.3 变量作用域

  • 局部变量:函数内定义,仅函数内有效;
  • 全局变量:模块顶层定义,全模块有效;
  • global关键字:函数内声明并修改全局变量。

示例

name = 'Tom'
def modify_name():
    global name  # 声明全局变量
    name = 'Tim'
modify_name()
print(name)  # 输出:Tim

1.4 lambda 匿名函数

简洁定义一次性简单函数,语法:函数名 = lambda 参数: 表达式

示例

sum2 = lambda x, y: x + y
print(sum2(3, 4))  # 输出:7

# 配合map实现列表元素平方
nums = [1,2,3,4]
print(list(map(lambda x: x**2, nums)))  # 输出:[1,4,9,16]

1.5 常用内置函数

函数 功能 示例
abs(x) 绝对值 abs(-3.5) → 3.5
max/min(seq) 最大 / 最小值 max([6,2,65]) → 65
sum(seq) 求和 sum(range(1,101)) → 5050
range(start, stop, step) 生成整数序列 range(0,30,3) → 0,3,...,27

二、Python 模块与包

2.1 模块(.py 文件)

核心用法
  1. 定义:将相关函数 / 类写入.py文件,如myModule.py
def add(a, b): print(a + b)
def mul(a, b): print(a * b)
  1. 导入方式
import myModule  # 导入整个模块
myModule.add(2,3)  # 调用

from myModule import add, mul  # 导入指定函数
add(2,3)

import myModule as mm  # 重命名
mm.mul(2,3)
  1. __name__属性:判断模块是直接运行(__main__)还是被导入(模块名),用于编写测试代码。

2.2 包(含__init__.py 的目录)

用于管理多个模块,核心:

  • 目录需包含__init__.py(可空,标记为包);
  • 导入格式:import 包名.模块名 或 from 包名.模块名 import 函数

2.3 常用标准库模块

模块 核心功能 示例
keyword 关键字操作 keyword.iskeyword("if") → True
random 随机数 random.randint(1,100) → 随机整数
sys 解释器信息 sys.platform → 操作系统名称
time 时间处理 time.sleep(2) → 休眠 2 秒

总结

  1. 函数是代码复用核心,支持无参 / 带参 / 匿名 (lambda) 形式,变量作用域分局部 / 全局;
  2. 模块是.py文件,包是含__init__.py的目录,通过import导入使用;
  3. 掌握内置函数和常用标准库模块,能大幅提升开发效率。

更多推荐