第三单元:函数与模块

约2周学习时间,掌握函数定义、调用和模块的使用

3.1 函数的定义与调用

函数是组织好的、可重复使用的、用来实现特定功能的代码块。

函数定义

def function_name(parameters):     """文档字符串"""     function_body     return value

函数调用

# 定义函数
def greet(name):     """向某人问好"""     print(f"Hello, {name}!") # 调用函数
greet("Alice") # 输出: Hello, Alice!

函数参数

位置参数

def add(a, b):     return a + b
result = add(1, 2) # 3

关键字参数

def describe_person(name, age):     print(f"{name} is {age} years old")
describe_person(age=25, name="Alice")

默认参数

def greet(name, greeting="Hello"):     print(f"{greeting}, {name}!")
greet("Bob") # Hello, Bob! greet("Bob", "Hi") # Hi, Bob!

可变参数

def sum_numbers(*args):     return sum(args)
result = sum_numbers(1, 2, 3) # 6

3.2 函数的返回值

函数可以通过return语句返回一个或多个值。

# 返回单个值
def square(x):     return x ** 2
result = square(5) # 25
# 返回多个值(元组)
def get_name_and_age():     return "Alice", 25
name, age = get_name_and_age() # 解包

3.3 局部变量与全局变量

局部变量

在函数内部定义的变量,只在函数内部有效。

def test():     x = 10 # 局部变量     print(x)
test() # 输出: 10 # print(x) # 错误:x未定义

全局变量

在函数外部定义的变量,在函数内部可以访问。

x = 100 # 全局变量
def test():     print(x) # 访问全局变量
test() # 输出: 100

在函数内部修改全局变量

x = 100 # 全局变量
def test():     global x # 声明使用全局变量     x = 200 # 修改全局变量     print(x)
test() # 输出: 200 print(x) # 输出: 200

3.4 模块的导入与使用

模块是一个包含Python定义和语句的文件。通过导入模块,我们可以使用其他文件中定义的函数和变量。

导入整个模块

import math
print(math.pi) # 3.141592653589793 print(math.sqrt(16)) # 4.0

导入模块中的特定函数

from math import pi, sqrt
print(pi) # 3.141592653589793 print(sqrt(16)) # 4.0

导入模块并重命名

import math as m
print(m.pi) # 3.141592653589793 print(m.sqrt(16)) # 4.0

导入模块中的所有函数

from math import *
print(pi) # 3.141592653589793 print(sqrt(16)) # 4.0

创建和使用自定义模块

# 假设我们有一个名为 my_module.py 的文件
# my_module.py 内容:
# def greet(name):
# return f"Hello, {name}!"
#
# PI = 3.14159
# 在另一个文件中导入并使用
import my_module
print(my_module.greet("Alice")) # Hello, Alice! print(my_module.PI) # 3.14159

3.5 常用内置模块

math 模块

提供数学相关的函数和常量。

import math
print(math.pi) # 圆周率 print(math.sqrt(25)) # 平方根 print(math.pow(2, 3)) # 幂运算 print(math.sin(math.radians(90))) # 正弦值

random 模块

提供随机数生成功能。

import random
print(random.random()) # 0-1之间的随机数 print(random.randint(1, 10)) # 1-10之间的随机整数 print(random.choice(["apple", "banana", "cherry"])) # 随机选择

datetime 模块

提供日期和时间处理功能。

import datetime
now = datetime.datetime.now() print(now) # 当前时间 print(now.year, now.month, now.day) # 年、月、日 print(now.strftime("%Y-%m-%d %H:%M:%S")) # 格式化时间

os 模块

提供操作系统相关的功能。

import os
print(os.getcwd()) # 当前工作目录 print(os.listdir(".")) # 列出当前目录文件 # os.mkdir("new_dir") # 创建新目录

单元小结

通过本单元的学习,你已经掌握了函数的定义、调用、参数传递和返回值,以及模块的导入和使用。函数和模块是Python编程中的重要概念,它们可以帮助我们组织代码,提高代码的复用性和可维护性。

Python 代码运行器

运行结果:

点击"运行代码"查看结果...