6.1 常用模块的介绍和使用示例
Python标准库提供了丰富的模块,涵盖了各种常用功能。以下是一些常用模块的介绍和使用示例:
6.1.1 math
模块
math
模块提供了数学运算相关的函数和常量。以下是一些常用的函数:
math.sqrt(x)
:返回数字 x 的平方根。math.sin(x)
:返回角度 x 的正弦值。math.cos(x)
:返回角度 x 的余弦值。math.pi
:圆周率 π 的近似值。
示例代码:
import math
# 计算平方根
print(math.sqrt(16))
# 计算正弦值
print(math.sin(math.pi / 2))
# 计算余弦值
print(math.cos(math.pi))
# 打印圆周率
print(math.pi)
6.1.2 random
模块
random
模块提供了生成随机数的函数。以下是一些常用的函数:
random.random()
:返回一个0到1之间的随机浮点数。random.randint(a, b)
:返回一个位于 a 和 b 之间的随机整数。random.choice(seq)
:从序列 seq 中随机选择一个元素。
示例代码:
import random
# 生成随机浮点数
print(random.random())
# 生成随机整数
print(random.randint(1, 10))
# 从列表中随机选择一个元素
fruits = ["apple", "banana", "orange"]
print(random.choice(fruits))
6.1.3 datetime
模块
datetime
模块提供了处理日期和时间的类和函数。以下是一些常用的类和函数:
datetime.datetime
:表示日期和时间的类。datetime.datetime.now()
:返回当前日期和时间。datetime.timedelta
:表示时间间隔的类。
示例代码:
import datetime
# 获取当前日期和时间
current_datetime = datetime.datetime.now()
print("当前日期和时间:", current_datetime)
# 创建一个时间间隔
time_delta = datetime.timedelta(days=5, hours=3)
print("时间间隔:", time_delta)
6.2 文件和目录操作
在Python标准库中,os
模块提供了与操作系统交互的功能,包括文件和目录操作。以下是一些常用的 os
模块函数:
os.getcwd()
:获取当前工作目录的路径。os.listdir(path)
:返回指定路径下的文件和目录列表。os.mkdir(path)
:创建一个新的目录。os.remove(path)
:删除指定的文件。os.rename(src, dst)
:重命名文件或目录。
示例代码:
import os
# 获取当前工作目录
current_dir = os.getcwd()
print("当前工作目录:", current_dir)
# 列出当前目录下的文件和目录
contents = os.listdir(current_dir)
print("当前目录内容:", contents)
# 创建一个新的目录
new_dir = os.path.join(current_dir, "new_directory")
os.mkdir(new_dir)
print("新目录创建成功!")
# 删除文件
file_path = os.path.join(current_dir, "test.txt")
with open(file_path, "w") as file:
file.write("This is a test file.")
os.remove(file_path)
print("文件删除成功!")
# 重命名文件
old_name = os.path.join(current_dir, "old.txt")
new_name = os.path.join(current_dir, "new.txt")
os.rename(old_name, new_name)
print("文件重命名成功!")
6.3 网络编程
Python标准库中的 socket
模块提供了网络编程的功能,可以实现网络通信、建立服务器和客户端等操作。以下是一些常用的 socket
模块函数和方法:
socket.socket()
:创建一个新的套接字对象。socket.bind(address)
:绑定套接字到指定地址。socket.listen(backlog)
:监听连接请求。socket.accept()
:接受客户端连接。socket.connect(address)
:与服务器建立连接。
示例代码:
import socket
# 创建一个套接字对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定套接字到指定地址和端口
server_address = ("localhost", 8888)
server_socket.bind(server_address)
# 监听连接请求
server_socket.listen(5)
print("服务器启动,等待客户端连接...")
while True:
# 接受客户端连接
client_socket, client_address = server_socket.accept()
print("客户端已连接:", client_address)
# 接收和发送数据
data = client_socket.recv(1024)
print("接收到的数据:", data.decode())
response = "Hello, client!"
client_socket.sendall(response.encode())
# 关闭客户端连接
client_socket.close()
6.4 多线程和多进程
Python标准库中的 threading
模块和 multiprocessing
模块提供了多线程和多进程编程的功能,可以实现并发执行和利用多核处理器的能力。以下是一些常用的函数和类:
threading.Thread
:表示一个线程的类。threading.Thread(target=func, args=())
:创建一个线程对象,指定目标函数和参数。threading.Thread.start()
:启动线程。threading.Thread.join()
:等待线程执行结束。multiprocessing.Process
:表示一个进程的类。multiprocessing.Process(target=func, args=())
:创建一个进程对象,指定目标函数和参数。multiprocessing.Process.start()
:启动进程。multiprocessing.Process.join()
:等待进程执行结束。
示例代码:
import threading
import multiprocessing
# 多线程示例
def thread_func(name):
print("Hello from thread", name)
threads = []
for i in range(5):
thread = threading.Thread(target=thread_func, args=(i,))
thread.start()
threads.append(thread)
for thread in threads:
thread.join()
# 多进程示例
def process_func(name):
print("Hello from process", name)
processes = []
for i in range(5):
process = multiprocessing.Process(target=process_func, args=(i,))
process.start()
processes.append(process)
for process in processes:
process.join()
这是章节六的补充内容,涵盖了常用模块的介绍和使用示例、文件和目录操作、网络编程,以及多线程和多进程编程。希望这些内容能帮助你更好地理解和应用Python标准库的功能。