标准库简介
字符串模式匹配
re 模块为高级字符串处理提供正则表达式工具。对于复杂的匹配和操作,正则表达式提供简洁、优化的解决方案:
import re
print(re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest'))
print(re.sub(r'(\b[a-z]+) \1', r'\1', 'cat in the the hat hat'))
复制
运行结果:
['foot', 'fell', 'fastest']
cat in the hat
复制
当只需要简单的功能时,字符串方法是首选,因为它们更容易阅读和调试:
print('tea for too'.replace('too', 'two'))
复制
数学
math 模块提供了访问底层C库函数处理浮点数学的能力:
import math
print(math.cos(math.pi / 4))
print(math.log(1024, 2))
复制
运行结果:
0.7071067811865476
10.0
复制
random 模块提供了进行随机选择的工具:
import random
print(random.choice(['apple', 'pear', 'banana']))
print(random.sample(range(100), 10)) # 无放回抽样
listnum = [11, 22, 11, 33, 33, 22]
print(random.sample(listnum, 3)) # 无放回抽样
print(random.random()) # 随机浮点数
print(random.randrange(6)) # 从 range(6) 中选择的随机整数
复制
运行结果:
pear
[22, 15, 83, 51, 98, 27, 36, 52, 71, 46]
[11, 33, 33]
0.34933603439488936
3
复制
statistics 模块计算数值数据的基本统计属性(均值、中值、方差等):
import statistics
data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]
print(statistics.mean(data))
print(statistics.median(data))
print(statistics.variance(data))
复制
运行结果:
1.6071428571428572
1.25
1.3720238095238095
复制
SciPy 项目有许多用于数值计算的其他模块。
因特网访问
有许多模块用于访问互联网和处理互联网协议。其中最简单的两个: urllib.request 从 URL 获取数据,smtplib 用于发送邮件:
from urllib.request import urlopen
with urlopen('https://www.163.com/') as response:
for line in response:
line = line.decode('utf-8')
if 'html' in line:
print(line)
break
import smtplib
#代码来自网络
def send_email(smtp_server, sender, passwd, receiver_list, subject, content):
receiver = receiver_list
if isinstance(receiver_list, list):
receiver = ",".join(receiver_list) # 多个收件人之间用,隔开
# 注意主题和正文中有一个空行
msg = '\r\n'.join([
'From: %s' % sender,
'To: %s' % receiver,
'Subject: %s' % subject,
'',
content
])
try:
s = smtplib.SMTP()
# 连接smtp服务器
s.connect(smtp_server)
# 登陆 对于163邮箱,使用授权码而不是密码登陆第三方邮件客户端
s.login(sender, passwd)
# 发送邮件
s.sendmail(sender, receiver_list, msg)
print ('success')
s.quit()
except Exception as e:
print (e)
#代码参考自网络,经测试,修改 sender、password、receiver 即可成功通过163账号发送邮件
def send_email_test():
smtp_server = 'smtp.163.com'
sender = 'myaccount@163.com' # 发件人
password = 'ZT************OH' # 163邮箱的登陆授权码
# 收件人
receiver = ['myaccount@163.com']
# 邮件主题
subject = '仅仅是测试'
content = "仅仅是测试内容"
send_email(smtp_server, sender, password, receiver, subject, content)
send_email_test()
复制
官方文档:
https://docs.python.org/3.9/tutorial/stdlib.html
文章转载自数据库杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
演讲实录|分布式 Python 计算服务 MaxFrame 介绍及场景应用方案
阿里云大数据AI技术
112次阅读
2025-03-17 13:27:37
mysql提升10倍count(*)的神器
大大刺猬
87次阅读
2025-03-21 16:54:21
[MYSQL] 服务器出现大量的TIME_WAIT, 每天凌晨就清零了
大大刺猬
63次阅读
2025-04-01 16:20:44
[MYSQL] query_id和STATEMENT_ID在不同OS上的关系
大大刺猬
54次阅读
2025-03-26 19:08:13
官宣,Milvus SDK v2发布!原生异步接口、支持MCP、性能提升
ZILLIZ
47次阅读
2025-04-02 09:34:13
DataWorks :Data+AI 一体化开发实战图谱
阿里云大数据AI技术
40次阅读
2025-03-19 11:00:55
国密算法介绍
漫步者
36次阅读
2025-03-21 09:20:39
自动化办公:利用Python和DeepSeek API高效制作Word文档(附源码)
数据库平台优化
36次阅读
2025-03-06 09:27:00
迎接deepseek,助力企业AI整合
威哥
35次阅读
2025-03-09 20:54:43
AI 提示词魔法:教你用 AI 提升效率与创意
数智新知
34次阅读
2025-03-10 10:30:27