蓝桥杯中Python常用的库与模块
·
一.sys库
Python的内置库之一的sys模块主要用于与Python解释器进行交互,提供对解释器使用或维护的一些变量以及与解释器强烈交互的函数
它在脚本中常用于获取系统信息,获取程序行为,处理命令行参数等等
sys.stdin.read()用于从标准输入(stdin)一次性读取全部内容直到文件结束(EOF)的方法,它返回一个字符串,包含从当前输入位置到EOF之间的所有字符
📌 基本作用
- 读取完整输入流:适用于需要一次性获取全部输入的场景(如处理 JSON、XML、多行文本、配置数据等)。
- 阻塞等待输入:在交互式终端中,程序会一直等待用户输入,直到用户发送 EOF 信号(
Ctrl+D在 Linux/macOS,Ctrl+Z + Enter在 Windows)。
二.内置函数
1.sort()
列表的一个原地排序的方法,会直接修改原列表,返回None
基本语法:
list.sort(key=None,reverse=False)
参数说明:
- key(可选):一个函数,用于从每个元素中提取比较键。常用于自定义比较逻辑。
- reverse(可选):布尔值。为True则按降序排序;为False按升序排序。
fruits = ['pear', 'banana', 'apple', 'watermelon', 'cherry', 'orange']
#fruits.sort(key=lambda x: len(x))
fruits.sort(key=len) # 按字符串长度默认升序排序
print(fruits) #['pear', 'apple', 'banana', 'cherry', 'orange', 'watermelon']
students = [
{ 'name':'Alice', 'age':23},
{'name':'Bob', 'age':20},
{'name':'Charile','age':21}
]
students.sort(key=lambda x:x['age'], reverse=True) # 按年龄降序排序
print(students) # [{'name': 'Alice', 'age': 23}, {'name': 'Charile', 'age': 21}, {'name': 'Bob', 'age': 20}]
2.sorted()
用于对任何可迭代对象(列表、元组、字符串、字典等进行排序),并返回一个新的已排序的列表,不会修改原始对象。
基本语法:
sorted(iterable, key=None, reverse=False)
参数说明:
- iterable:要排序的可迭代对象
- key(可选):一个函数,用于从每个元素中提取比较键(常用于自定义排序)
- reverse:为True降序排序,为False升序排序
nums = [4,3,1,6,-4,7,2]
print(sorted(nums))
print(nums)
##输出
##[-4, 1, 2, 3, 4, 6, 7]
##[4, 3, 1, 6, -4, 7, 2]
# 对字典排序(默认对键排序)
d = {'b':2, 'a':3, 'c':1}
print(sorted(d)) # ['a', 'b', 'c']
# 按键排序并保留键值对
print(sorted(d.items())) #[('a', 3), ('b', 2), ('c', 1)]
# 按值降序排序
print(sorted(d.items(), key=lambda x:x[1], reverse=False)) # [('c', 1), ('b', 2), ('a', 3)]
print(d.items()) # dict_items([('b', 2), ('a', 3), ('c', 1)])
三.datetime库
datetime模块提供了时间与日期的类和函数
- datetime.date:表示日期(年、月、日)
- datetime.time:表示时间(时、分、秒、微秒)
- datetime.datetime:表示日期和时间的结合
- datetime.timedelta:表示两个日期或时间之间的差值
- datetime.timezone:表示时区信息
from datetime import date, time, datetime
# 当前本地日期和时间
now = datetime.now()
print(type(now)) # <class 'datetime.datetime'>
print(now) # 2026-01-16 13:31:36.329921
today = date.today()
print(type(today)) # <class 'datetime.date'>
print(today) # 2026-01-16
# 创建日期、时间对象
d = date(2020, 12, 25)
print(type(d)) # <class 'datetime.date'>
print(d) # 2020-12-25
t = time(15,30,30,30) # 可选微秒,1秒等于10^6微秒
print(type(t)) # <class 'datetime.time'>
print(t)# 15:30:30.000030
dt = datetime(2020,12,25,15,30,30)
print(type(dt)) # <class 'datetime.datetime'>
print(dt) # 2020-12-25 15:30:30
# 格式化与解析字符串
s = dt.strftime("%Y/%m/%d %H:%M:%S") # 格式化为字符串 format 格式化
print(type(s)) # <class 'str'>
print(s) # 2020/12/25 15:30:30
dt2 = datetime.strptime(s,"%Y/%m/%d %H:%M:%S") # 从字符串中解析(需指定格式,格式必须和输入字符串的日期时间格式一样)parse 解析
print(type(dt2)) # <class 'datetime.datetime'>
print(dt2) # 2020-12-25 15:30:30
dt = datetime.now()
dt.year # 年
dt.month # 月
dt.day # 日
dt.hour # 小时
dt.minute # 分钟
dt.second # 秒
dt.weekday() # 星期几(周一为0,周日为6)
dt.isoweekday() # 星期几(周一为1,周日为7)
更多推荐



所有评论(0)