随笔分类 -  python

摘要:1. 列表生成式 (List Comprehension) 语法:[expression for item in iterable if condition] 示例: 1.基本示例 # 创建平方数列表 squares = [x**2 for x in range(5)] print(squares) 阅读全文
posted @ 2025-09-30 15:38 百衲本 阅读(16) 评论(0) 推荐(0)
摘要:一、可迭代对象 (Iterable) 定义:任何实现了__iter__()方法的对象,或者实现了__getitem__()方法且参数从0开始索引的对象 特点:可以被用于for循环,可以使用iter()函数获取其迭代器 # 常见的可迭代对象 my_list = [1, 2, 3] # 列表 my_tu 阅读全文
posted @ 2025-09-30 15:09 百衲本 阅读(27) 评论(0) 推荐(0)
摘要:1.发送普通文本邮件 from email.message import EmailMessage import smtplib import keyring password = keyring.get_password("yagmail", "960xxxx@qq.com") #关于keyrin 阅读全文
posted @ 2025-09-26 16:18 百衲本 阅读(13) 评论(0) 推荐(0)
摘要:一、安装需要的模块 pip install yagmail #专门为gmail设计的邮件发送模块,可以极大简化邮件发送流程,其他邮箱也可以使用 pip install keyring #安全密码管理,避免代码中硬编码密码等敏感信息 pip install schedule #任务调度 pip ins 阅读全文
posted @ 2025-09-25 16:47 百衲本 阅读(21) 评论(0) 推荐(0)
摘要:一、模块安装 pip install pypdf2 -i https://pypi.tuna.tsinghua.edu.cn/simple #模块主要作用: 读取、写入、分割、合并PDF文件 pip install pdfplumber -i https://pypi.tuna.tsinghua.e 阅读全文
posted @ 2025-09-24 18:28 百衲本 阅读(11) 评论(0) 推荐(0)
摘要:一、简介 psutil(Process and System Utilities)是Python中最强大的系统监控和进程管理库之一。它提供了跨平台的系统信息获取接口,能够轻松获取系统的CPU、内存、磁盘、网络等硬件信息,以及进程管理、系统监控等功能。无论是开发运维工具、系统监控程序,还是性能分析应用 阅读全文
posted @ 2025-09-17 09:27 百衲本 阅读(90) 评论(0) 推荐(0)
摘要:一、pathlib 模块概述 pathlib 模块是 Python 3.4 及以上版本引入的标准库,它基于面向对象的思想,将文件系统路径抽象为对象,通过对象的属性和方法来完成路径的各种操作,相比于 os 模块可以写出更简洁,易读的代码。pathlib 模块支持不同操作系统的路径格式,自动处理路径分隔 阅读全文
posted @ 2025-08-22 10:12 百衲本 阅读(201) 评论(0) 推荐(0)
摘要:1.项目地址 https://github.com/tomasbasham/ratelimit 2.项目简介 这个项目的开发背景是考虑一些服务的API 对于开发人员的访问频率会做一些限制,如果不小心超出了这个限制,服务可能会禁止开发人员访问。 ratelimit 提供的装饰器,可以控制被装饰的函数在 阅读全文
posted @ 2024-05-07 14:33 百衲本 阅读(218) 评论(0) 推荐(0)
摘要:1.安装 pip install loguru 2.快速使用 from loguru import logger logger.add("my_log.log", rotation="10 MB") # 自动分割日志文件 logger.info("这是一个信息级别的日志") 3.日志器配置方式 1. 阅读全文
posted @ 2024-05-07 10:44 百衲本 阅读(1487) 评论(0) 推荐(0)
摘要:一、简介 tarfile 模块提供了创建、打开、读取和写入 tar 文件的函数和类。以下是该模块中常用的一些函数和类: tarfile.open(name, mode='r', fileobj=None, **kwargs):打开一个 tar 文件,返回一个 TarFile 对象。 TarFile. 阅读全文
posted @ 2023-10-21 11:14 百衲本 阅读(604) 评论(0) 推荐(0)
摘要:示例一 import time def show_progress(recv_size, total_size): while recv_size < total_size: time.sleep(0.01) recv_size += 10 percent = recv_size / total_s 阅读全文
posted @ 2023-10-21 11:01 百衲本 阅读(150) 评论(0) 推荐(0)
摘要:一、数值计算和统计 1.数学计算方法 # 主要数学计算方法,可用于Series和DataFrame(1) df = pd.DataFrame({'key1':np.arange(10), 'key2':np.random.rand(10)*10}) print(df) print(' ') prin 阅读全文
posted @ 2023-07-26 16:30 百衲本 阅读(164) 评论(0) 推荐(0)
摘要:一、Pandas时刻数据 时刻数据代表时间点,是pandas的数据类型,是将值与时间点相关联的最基本类型的时间序列数据 1.pd.Timestamp date1 = datetime.datetime(2016,12,1,12,45,30) # 创建一个datetime.datetime date2 阅读全文
posted @ 2023-07-26 14:34 百衲本 阅读(211) 评论(0) 推荐(0)
摘要:一、Dataframe基本概念 # 二维数组"Dataframe:是一个表格型的数据结构,包含一组有序的列,其列的值类型可以是数值、字符串、布尔值等。 data = {'name': ['Jack', 'Tom', 'Mary'], 'age': [18, 19, 20], 'gender': [' 阅读全文
posted @ 2023-07-26 11:42 百衲本 阅读(320) 评论(0) 推荐(0)
摘要:一、Series基本概念及创建 1.基本概念 # Series 数据结构 # Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引 # 导入numpy、pandas模块 import numpy as np import pandas 阅读全文
posted @ 2023-07-26 10:34 百衲本 阅读(144) 评论(0) 推荐(0)
摘要:练习1:分别按照要求,生成一个一维数组、二维数组,并且查看其shape a1 = np.array([1,2,'a','hello',[1,2,3],{'one':100,'two':200}]) a2 = np.array([list(range(6)), list('abcdef'), [Tru 阅读全文
posted @ 2023-07-25 16:56 百衲本 阅读(527) 评论(0) 推荐(0)
摘要:一、Numpy基础数据结构 NumPy数组是一个多维数组对象,称为ndarray。其由两部分组成: ① 实际的数据 ② 描述这些数据的元数据 二、常见方法 import numpy as np ar = np.array([[[1,2,3,4,5,6,7],[1,2,3,4,5,6,7],[1,2, 阅读全文
posted @ 2023-07-25 15:16 百衲本 阅读(145) 评论(0) 推荐(0)

cnblogs_post_body { color: black; font: 0.875em/1.5em "微软雅黑" , "PTSans" , "Arial" ,sans-serif; font-size: 15px; } cnblogs_post_body h1 { text-align:center; background: #333366; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 23px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } cnblogs_post_body h2 { text-align:center; background: #006699; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 20px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } cnblogs_post_body h3 { background: #2B6695; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 18px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } 回到顶部 博客侧边栏 回到顶部 页首代码 回到顶部 页脚代码