从入门到高手的99个python案例(2)
51. 列表和数组比较 - 列表通用,NumPy数组高效。
import numpy as np normal_list = [1, 2, 3]
np_array = np.array([1, 2, 3])
print(np_array.shape) # 输出 (3,), 数组有形状信息
52. Python的内置模块datetime - 处理日期和时间。
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
53. Python的os模块 - 操作文件和目录。
import os
print(os.getcwd()) # 输出当前工作目录
54. 列表推导式中的条件和循环 - 结合使用。
evens = [x for x in range(10) if x % 2 == 0 for y in range(5) if y % 2 == 0]
print(evens)
55. 迭代器和生成器的使用场景 - 数据处理和节省内存。
# 使用生成器处理大文件
def read_large_file(file_path, chunk_size=1024): with open(file_path, "r") as file: while True: chunk = file.read(chunk_size) if not chunk: break yield chunk for line in read_large_file("large.txt"): process(line)
56. zip()函数 - 同时遍历多个序列。
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
pairs = zip(names, ages)
print(list(pairs)) # 输出 [('Alice', 25), ('Bob', 30), ('Charlie', 35)]
57. enumerate()函数 - 为列表元素添加索引。
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits): print(f"{index}: {fruit}")
58. itertools模块 - 提供高效迭代工具。
from itertools import product
result = product("ABC", repeat=2)
print(list(result)) # 输出 [('A', 'A'), ('A', 'B'), ('A', 'C'), ..., ('C', 'C')]
59. json模块 - 序列化和反序列化数据。
import json
data = {"name": "Alice", "age": 25}
json_data = json.dumps(data)
print(json_data)
60. 递归函数 - 用于解决分治问题。
def factorial(n): if n == 0 or n == 1: return 1 else: return n * factorial(n - 1) print(factorial(5)) # 输出 120
61. os.path模块 - 文件路径处理。
import os.path
path = "/home/user/documents"
print(os.path.exists(path)) # 输出 True 或 False
62. random模块 - 随机数生成。
import random
random_number = random.randint(1, 10)
print(random_number)
63. re模块 - 正则表达式操作。
import re
text = "Today is 2023-04-01"
match = re.search(r"\d{4}-\d{2}-\d{2}", text)
print(match.group()) # 输出 "2023-04-01"
64. requests库 - 发送HTTP请求。
import requests
response = requests.get("https://api.example.com")
print(response.status_code)
65. Pandas库 - 大数据处理。
import pandas as pd
df = pd.DataFrame({"Name": ["Alice", "Bob"], "Age": [25, 30]})
print(df)
66. matplotlib库 - 数据可视化。
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.show()
67. logging模块 - 日志记录。
import logging
logger = logging.getLogger(__name__)
logger.info("This is an info message")
68. asyncio库 - 异步编程。
import asyncio
async def slow_task(): await asyncio.sleep(1) return "Task completed" loop = asyncio.get_event_loop()
result = loop.run_until_complete(slow_task())
print(result)
69. contextlib模块 - 非阻塞上下文管理。
from contextlib import asynccontextmanager
@asynccontextmanager
async def acquire_lock(lock): async with lock: yield async with acquire_lock(lock): # do something
70. asyncio.gather - 异步并发执行。
tasks = [asyncio.create_task(task) for task in tasks_to_run]
results = await asyncio.gather(*tasks)
71. asyncio.sleep - 异步等待一段时间。
await asyncio.sleep(2) # 程序在此暂停2秒
72. asyncio.wait - 等待多个任务完成。
done, pending = await asyncio.wait(tasks, timeout=10)
73. asyncio.subprocess - 异步执行外部命令。
import asyncio.subprocess as sp
proc = await sp.create_subprocess_exec("ls", "-l")
await proc.communicate()
74. concurrent.futures库 - 多线程/进程执行。
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor with ThreadPoolExecutor() as executor: results = executor.map(function, arguments)
75. timeit模块 - 测试代码执行速度。
import timeit
print(timeit.timeit("your_code_here", globals=globals()))
76. pickle模块 - 序列化和反序列化对象。
import pickle
serialized = pickle.dumps(obj)
deserialized = pickle.loads(serialized)
77. logging.handlers模块 - 多种日志输出方式。
handler = RotatingFileHandler("app.log", maxBytes=1000000)
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
78. asyncio.Queue - 异步队列。
queue = asyncio.Queue()
await queue.put(item)
result = await queue.get()
79. asyncio.Event - 异步信号量。
event = asyncio.Event()
event.set() # 设置信号
await event.wait() # 等待信号
80. asyncio.Lock - 互斥锁,防止并发修改。
async with await asyncio.Lock(): # 获取锁后执行 critical_section()
81. asyncio.gather和asyncio.wait_for的区别 - 异步任务管理。
-
gather: 并行执行多个任务,等待所有任务完成。 -
wait_for: 等待单个任务完成,其他任务继续运行。
82. asyncio.sleep和asyncio.sleep_after - 异步延时和定时任务。
-
sleep: 直接暂停当前协程。 -
sleep_after: 定义一个延迟后执行的任务。
83. aiohttp库 - HTTP客户端库。
import aiohttp
async with aiohttp.ClientSession() as session: async with session.get("https://example.com") as response: data = await response.text()
84. asyncio.shield - 防止被取消任务中断。
async def task(): await shield(some_long_running_task()) # 如果外部取消任务,task将继续运行,不会影响内部任务
asyncio.create_task(task())
85. asyncio.run - 简化异步程序执行。
asyncio.run(main_coroutine())
86. asyncio.iscoroutinefunction - 检查是否为协程函数。
if asyncio.iscoroutinefunction(some_function): await some_function()
87. asyncio.all_tasks - 获取所有任务。
tasks = asyncio.all_tasks()
for task in tasks: task.cancel()
88. asyncio.wait_for和asyncio.timeout - 设置超时限制。
try: result = await asyncio.wait_for(some_task, timeout=5.0)
except asyncio.TimeoutError: print("Task timed out")
89. asyncio.sleep_timeout - 异步睡眠并设置超时。
await asyncio.sleep_timeout(10, asyncio.TimeoutError)
90. asyncio.current_task - 获取当前正在执行的任务。
current_task = asyncio.current_task()
print(current_task)
91. asyncio.sleep的超时支持 - asyncio.sleep现在接受超时参数。
try: await asyncio.sleep(1, timeout=0.5) # 如果超过0.5秒还没完成,则会抛出TimeoutError
except asyncio.TimeoutError: print("Sleep interrupted")
92. asyncio.shield的高级用法 - 可以保护整个协程。
@asyncio.coroutine
def protected_coroutine(): try: await some_task() except Exception as e: print(f"Error occurred: {e}") # 使用shield保护,即使外部取消任务,也会继续处理错误 asyncio.create_task(protected_coroutine())
93. asyncio.wait的回调函数 - 使用回调函数处理完成任务。
done, _ = await asyncio.wait(tasks, callback=handle_completed_task)
94. asyncio.gather的返回值 - 可以获取所有任务的结果。
results = await asyncio.gather(*tasks)
95. asyncio.Queue的get_nowait - 不阻塞获取队列元素。
if not queue.empty(): item = queue.get_nowait()
else: item = await queue.get()
96. asyncio.Event的clear - 清除事件状态。
event.clear()
await event.wait() # 现在需要再次调用set()来触发
97. asyncio.Event的is_set - 检查事件是否已设置。
if event.is_set(): print("Event is set")
98. asyncio.subprocess.PIPE - 连接到子进程的输入/输出管道。
proc = await asyncio.create_subprocess_exec( "python", "-c", "print('Hello from child')", stdout=asyncio.subprocess.PIPE
)
output, _ = await proc.communicate()
print(output.decode())
99. asyncio.run_coroutine_threadsafe - 在子线程中执行协程。
loop = asyncio.get_running_loop()
future = loop.run_coroutine_threadsafe(some_async_coroutine(), thread_pool)
result = await future.result()
好了,今天就这些了,希望对大家有帮助。都看到这了,点个赞再走吧~
最后这里免费分享给大家一份Python全台学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习
⑤ 历年互联网企业Python面试真题,复习时非常方便

相关文章:
从入门到高手的99个python案例(2)
51. 列表和数组比较 - 列表通用,NumPy数组高效。 import numpy as np normal_list [1, 2, 3] np_array np.array([1, 2, 3]) print(np_array.shape) # 输出 (3,), 数组有形状信息 52. Python的内置模块datetime - 处理日期和时间。 from datetime import…...
btstack协议栈实战篇--Performance - Stream Data over SPP (Server)
btstack协议栈---总目录_bt stack是什么-CSDN博客 目录 1.Track throughput 2.Packet Handler 3.btstack_main 4.log信息 RFCOMM连接打开后,请求RFCOMM EVENT CAN SEND NOW,通过rfcomm request can send now event()。 当我们得到RFCOMM EVENT CAN SEND NOW…...
ThinkPHP5.0 apache服务器配置URL重写,index.php去除
本地环境wamp .htaccess文件代码 <IfModule mod_rewrite.c>Options FollowSymlinks -MultiviewsRewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] </IfModule> 踩过这个坑&a…...
《TCP/IP网络编程》(第十五章)套接字和标准I/O
之前数据通信时,使用的是read&write函数以及其他各种I/O函数,本章将使用标准I/O函数,例如C语言的fopen、fgetc、fputs等等;C语言的cout、cin等等 1.使用标准I/O函数的优点 ①跨平台兼容性: 标准I/O函数通常是跨平…...
认识一些分布函数-Gumbel分布
1. Gumbel分布 Gumbel分布(也称为古贝尔型)是一种常用的非对称极值分布( Extreme Value Distribution,EVD),用于建模极大值和极小值,也就是所谓的EVD Type I分布。例如,EVD Type I 被用来预测地震、洪水和其他自然灾害,以及在风险管理中建模操作风险和那些在一定年龄…...
C语言之void类型的本质
一:C语言属于强类型语言 (1)编程语言分两种:强类型语言和弱类型语言。强类型语言所有的变量都有自己固定的类型,这个类型有固定的类型占用,有固定的解析方法;弱类型语言中没有类型的概念&#x…...
Wall国内开源程序照片墙,支持VR全景及安装教程
下载 GitHub官网:https://github.com/zhang-tong-yao/wall 软件下载:https://github.com/zhang-tong-yao/wall/releases,推荐下载最新的版本。 演示效果 目前支持PC端和移动端自适应。 演示地址:https://demo-wall.ityao.cn …...
七个备受欢迎的IntelliJ IDEA实用插件
有了Lombok插件,IntelliJ就能完全理解Lombok注解,使它们能如预期般工作,防止出现错误,并改善IDE的自动完成功能。 作为IntelliJ IDEA的常用用户,会非常喜欢使用它,但我们必须承认,有时这个IDE&…...
HDFS架构
HDFS(Hadoop Distributed File System)是Apache Hadoop项目的核心组件之一,它是一个分布式文件系统,专为运行在通用硬件上的大型数据集提供高吞吐量的数据访问。HDFS的设计目标是支持大规模数据的存储和处理,尤其是在大…...
【机器学习】LightGBM: 优化机器学习的高效梯度提升决策树
🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 💫个人格言: "如无必要,勿增实体" 文章目录 LightGBM: 优化机器学习的高效梯度提升决策树引言一、LightGBM概览二、核心技术…...
【会议征稿,IEEE出版】第六届物联网、自动化和人工智能国际学术会议(IoTAAI 2024,7月26-28)
第六届物联网、自动化和人工智能国际会议(IoTAAI 2024)将于2024年07月26-28日在中国广州召开。 会议旨在拓展国际科技学术交流渠道,搭建学术资源共享平台,促进全球范围内的科技创新,提升中外学术合作。会议还鼓励不同领…...
Flask-Logging
Flask-Logging 教程 概述 flask-logging 是一个用于在 Flask 应用中实现高级日志记录功能的库。它能够帮助开发者轻松地配置和管理日志,适用于开发和生产环境。通过使用 flask-logging,可以更好地监控应用的运行状态和调试问题。 官方文档 Flask-Log…...
go匿名函数
【1】Go支持匿名函数,如果我们某个函数只是希望使用一次,可以考虑使用匿名函数 【2】匿名函数使用方式: (1)在定义匿名函数时就直接调用,这种方式匿名函数只能调用一次(用的多) &am…...
ZED双目相机环境配置
官方资料:stereolabs/zed-python-api: Python API for the ZED SDK (github.com) 1,配置ZED相机环境 1.安装CUDA 查看电脑是否安装CUDA,安装过程可参考以下博文: 如何选择匹配的CUDA版本:https://blog.csdn.net/iam…...
【最新鸿蒙应开发】——HarmonyOS沙箱目录
鸿蒙应用沙箱目录 1. 应用沙箱概念 应用沙箱是一种以安全防护为目的的隔离机制,避免数据受到恶意路径穿越访问。在这种沙箱的保护机制下,应用可见的目录范围即为应用沙箱目录。 对于每个应用,系统会在内部存储空间映射出一个专属的应用沙箱…...
SringBoot 如何使用HTTPS请求及Nginx配置Https
SringBoot 如何使用HTTPS请求及Nginx配置Https SringBoot 如何使用HTTPS请求生成证书导入证书及配制创建配置类将pfx转成.key和.pem Nginx 安装SSL依赖./configure 安装依赖编译安装完openssl后报了新错 Nginx配置 SringBoot 如何使用HTTPS请求 生成证书 由于业务数据在传输过…...
14.基于人类反馈的强化学习(RLHF)技术详解
基于人类反馈的强化学习(RLHF)技术详解 RLHF 技术拆解 RLHF 是一项涉及多个模型和不同训练阶段的复杂概念,我们按三个步骤分解: 预训练一个语言模型 (LM) ;训练一个奖励模型 (Reward Model,RM) …...
Linux Radix tree简介
文章目录 前言一、Radix tree简介二、Operations2.1 Lookup2.2 Insertion2.3 Deletion 三、Linux内核API3.1 初始化3.2 radix_tree_insert/delete3.3 radix_tree_preload3.4 radix_tree_lookup3.5 radix_tree_tag_set3.6 radix_tree_tagged 四、address_space4.1 简介4.2 相应数…...
maven 下载jar包加载顺序
在 Maven 构建过程中,依赖的下载源取决于你的 pom.xml 文件中的 配置、settings.xml 文件中的 和 配置,以及你的 Nexus 仓库的设置。以下是决定 Maven 从哪个仓库下载依赖的关键点: 仓库配置优先级 项目 pom.xml 文件中的仓库配置ÿ…...
新增多种图表类型,新增视频、流媒体、跑马灯组件,DataEase开源数据可视化分析工具v2.7.0发布
2024年6月11日,人人可用的开源数据可视化分析工具DataEase正式发布v2.7.0版本。 这一版本的功能变动包括:图表方面,新增对称条形图、桑基图、流向地图、进度条等图表类型,并对已有的仪表盘、指标卡、明细表、汇总表、水波图、象限…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
