从入门到高手的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版本。 这一版本的功能变动包括:图表方面,新增对称条形图、桑基图、流向地图、进度条等图表类型,并对已有的仪表盘、指标卡、明细表、汇总表、水波图、象限…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...

【版本控制】GitHub Desktop 入门教程与开源协作全流程解析
目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork(创建个人副本)步骤 2: Clone(克隆…...