第四章:函数与模块
- 作者
- Name
- 青玉白露
- Github
- @white0dew
- Modified on
- Reading time
- 3 分钟
阅读:.. 评论:..
函数和模块是 Python 编程中的两个核心概念。通过掌握它们,你可以显著提高代码的可重用性和组织性。在这一章中,我们将深入探讨函数的定义、调用、参数与返回值,匿名函数,以及模块和包的使用。
1. 函数
1.1 函数的定义与调用
函数是组织好的、可重复使用的、用于实现单一或相关联功能的代码块。Python 使用 def
关键字来定义函数。
示例:
def greet(name): print(f"Hello, {name}!")
调用函数:
greet("Alice")
输出:
Hello, Alice!
1.2 函数参数与返回值
函数可以接收参数并返回值。
示例:
def add(a, b): return a + b result = add(3, 5) print(result)
输出:
8
可选参数和默认值
你可以为参数指定默认值,从而使其成为可选参数。
示例:
def greet(name="Stranger"): print(f"Hello, {name}!") greet() greet("Bob")
输出:
Hello, Stranger! Hello, Bob!
1.3 匿名函数(lambda 表达式)
匿名函数使用 lambda
关键字定义,通常用于需要一个简单函数的场合。
示例:
add = lambda x, y: x + y print(add(2, 3))
输出:
5
2. 模块与包
模块和包是 Python 中组织代码的基本单位。
2.1 模块的导入与使用
模块是一个包含 Python 定义和语句的文件。通过 import
关键字可以引入模块。
示例:
import math print(math.sqrt(16))
输出:
4.0
你也可以引入模块中的特定函数或变量:
from math import pi, sqrt print(pi) print(sqrt(16))
输出:
3.141592653589793 4.0
2.2 常用标准库模块
Python 提供了丰富的标准库模块,这里介绍几个常用的。
math
模块
提供了基本的数学函数和常量。
import math print(math.factorial(5)) # 阶乘 print(math.gcd(48, 180)) # 最大公约数
random
模块
用于生成随机数。
import random print(random.randint(1, 10)) # 随机整数 print(random.choice(['apple', 'banana', 'cherry'])) # 随机选择
time
模块
提供了与时间相关的函数。
import time print(time.time()) # 当前时间戳 time.sleep(2) # 休眠2秒 print("Done")
2.3 自定义模块与包
你可以创建自己的模块,将相关的函数和类放在一个文件中,然后在其他文件中引入它们。
创建模块
创建一个名为 mymodule.py
的文件:
# mymodule.py def hello(): print("Hello from mymodule")
在另一个文件中使用这个模块:
import mymodule mymodule.hello()
创建包
包是一个包含多个模块的目录。使用包可以更好地组织代码。
创建一个名为 mypackage
的目录,并在其中创建一个 __init__.py
文件和一些模块:
mypackage/ __init__.py module1.py module2.py
__init__.py
文件可以是空的,但它表示 mypackage
是一个包。
在 module1.py
文件中定义一些函数:
# module1.py def foo(): print("foo from module1")
在 module2.py
文件中定义一些函数:
# module2.py def bar(): print("bar from module2")
现在你可以在其他文件中使用这个包:
from mypackage import module1, module2 module1.foo() module2.bar()
输出:
foo from module1 bar from module2
通过掌握这些知识,你可以更好地组织和管理你的 Python 项目,提高代码的可读性和可维护性。下一章我们将深入探讨 Python 的文件操作。