Python 函数与模块核心详解
·
前言
函数与模块是 Python 实现代码复用、优化程序结构的核心。函数封装重复代码,让逻辑更清晰;模块组织函数 / 类,解决大型项目代码杂乱问题。本文聚焦函数与模块的核心用法,帮助初学者快速掌握关键知识点。
一、Python 函数
函数是可重复使用的代码块,接收参数执行逻辑并返回结果,分为自定义函数和内置函数,核心是自定义函数。
1.1 无参函数
定义时不接收参数,语法简单:
- 以
def开头,后接函数名 +()+:`; - 函数体缩进,
return可选(无则返回None); - 定义需在调用前。
示例:两数相加
# 有返回值的无参函数
def add():
op1, op2 = 10, 20
return op1 + op2
print(add()) # 输出:30
1.2 带参函数
开发中最常用,通过参数实现灵活逻辑:
核心用法
-
参数类型:
- 位置参数:按顺序传参,个数 / 顺序需匹配;
- 关键字参数:
形参名=值,顺序无关; - 默认参数:
def func(x, y=6),默认参数需在位置参数后。
-
示例:简易计算器
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 文件)
核心用法
- 定义:将相关函数 / 类写入
.py文件,如myModule.py:
def add(a, b): print(a + b)
def mul(a, b): print(a * b)
- 导入方式:
import myModule # 导入整个模块
myModule.add(2,3) # 调用
from myModule import add, mul # 导入指定函数
add(2,3)
import myModule as mm # 重命名
mm.mul(2,3)
__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 秒 |
总结
- 函数是代码复用核心,支持无参 / 带参 / 匿名 (lambda) 形式,变量作用域分局部 / 全局;
- 模块是
.py文件,包是含__init__.py的目录,通过import导入使用; - 掌握内置函数和常用标准库模块,能大幅提升开发效率。
更多推荐
所有评论(0)