在 Python 编程学习的旅程中,当代码量逐渐增加,我们会发现重复编写相同逻辑的代码不仅耗时,还会导致程序结构混乱、难以维护。而函数与模块的出现,正是为了解决这一问题 —— 它们如同编程世界中的 “积木” 与 “工具箱”,让我们能够将复杂的程序拆解为更小、更易管理的单元,实现代码的复用与结构化。
本章将系统讲解函数的定义、使用与进阶特性,以及模块的创建、导入与实战应用,为后续编写大型程序奠定基础。
📌 一句话记忆:
函数解决“代码复用”的问题,模块解决“代码组织”的问题。
def greet(name):
"""打印问候语"""
print(f"Hello, {name}!")
def
:定义函数的关键字name
:形参(parameter)"""..."""
:函数文档字符串(docstring),用于说明函数作用greet("星哥")
输出:
Hello, 星哥!
参数类型 | 示例 | 说明 |
---|---|---|
位置参数 | def add(a, b) | 按顺序传值 |
默认参数 | def add(a, b=10) | 可不传,使用默认值 |
可变参数 | def sum_all(*args) | 接收任意数量的位置参数 |
关键字参数 | def show_info(**kwargs) | 接收任意数量的键值对 |
混合使用 | def func(a, b=1, *args, **kwargs) | 灵活组合 |
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 8
return
会结束函数执行并返回结果return
时,默认返回 None
def multiply(a: int, b: int) -> int:
"""返回两个整数的乘积"""
return a * b
square = lambda x: x ** 2
print(square(4)) # 16
def
def apply(func, value):
return func(value)
print(apply(square, 5)) # 25
假设有个文件 mymath.py
:
def add(a, b):
return a + b
def sub(a, b):
return a - b
import mymath
print(mymath.add(3, 5))
from mymath import add
print(add(10, 20))
import mymath as mm
print(mm.sub(10, 3))
模块 | 作用 |
---|---|
math | 数学运算 |
os | 操作系统交互 |
sys | Python 解释器相关 |
datetime | 日期时间处理 |
random | 随机数生成 |
__name__ == "__main__"
用法# mymath.py
def add(a, b):
return a + b
if __name__ == "__main__":
print(add(2, 3))
__name__
为 "__main__"
项目结构:
project/
│── main.py
└── utils.py
utils.py
:
def greet(name):
return f"Hello, {name}!"
def add(a, b):
return a + b
main.py
:
from utils import greet, add
print(greet("星哥"))
print(add(10, 20))
好处:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。