摘要: 装饰器(decorator): 装饰器本质上使用的机制是闭包,只是语法上更方便,是python提供的语法糖。 回顾闭包 让我们先回顾一下闭包的简单情况: import time def decorator(fun): print('装饰器开始执行') def wrapper(): start_tim 阅读全文
posted @ 2024-12-06 07:50 RolandHe 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 描述器(又称描述符)(Descriptor) 描述器:如果一个类中实现了__get__, __set__, __delete__三个方法中的任何一个,那么这样的类的实例就称为描述器。 当某一个类的类属性是一个描述器的时候,通过这个类或者类的实例来访问、修改或删除这个类属性时,就会分别触发描述器的__ 阅读全文
posted @ 2024-12-05 15:51 RolandHe 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 定制化属性访问 __getattribute__(self, name): 被称作属性拦截器, 即所有对实例属性的访问都会先受到此方法的影响。此方法应该返回一个我们处理后的值,或者抛出一个AttributeError异常。 此方法应该谨慎使用。一般我们对个别属性做特殊处理后,都要加一个调用父类该方法 阅读全文
posted @ 2024-11-30 18:52 RolandHe 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 我们常用的python内置函数,如print, help, max, dict等等是可以直接使用,不需要导入的。 __builtins__模块: __builtins__ 是一个特殊的模块,它包含了所有内建(内置)的函数、异常和其他对象。当你启动一个 Python 解释器或运行一个 Python 脚 阅读全文
posted @ 2024-11-26 16:55 RolandHe 阅读(19) 评论(0) 推荐(0) 编辑
摘要: python中的闭包(closure)是指一个函数内部又嵌套了一个函数,内层函数可以使用外层函数的参数和局部变量,外层函数返回内层函数的引用。 一般来说,一个函数的实参及局部变量,只在函数执行过程中存储,函数执行完后就会释放掉。 但闭包机制的这种外层函数执行完后,由于其内层函数需要用到外层的数据,所 阅读全文
posted @ 2024-11-26 10:46 RolandHe 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 在 Python 中,DataFrame 的内存通常不会在变量不再被引用时立即释放,因为内存的管理依赖于 Python 的垃圾回收机制(garbage collection)。对于大型 DataFrame,可以考虑两种方法: 删除变量并强制垃圾回收 import gc import pandas a 阅读全文
posted @ 2024-11-10 17:41 RolandHe 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 在 Python 程序中,配置文件的常用格式有 .ini、.yaml、.json 和 .toml,这些文件格式各有优缺点,适合不同的场景。下面逐一介绍这些格式及相应的读取库和优点: 1. .ini 文件 库:Python 标准库 configparser 结构:.ini 文件使用键值对的结构,并支持 阅读全文
posted @ 2024-11-08 20:30 RolandHe 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 有时,我们希望我们的程序运行时能够通过参数来控制其行为,一种就是通过一个前端交互的界面让用户来配置参数,另一种就是直接通过命令行的方式启动程序的同时设置参数。 argparse模块就实现了命令行参数的功能,参数名如果是 --parm 或 -p 这种加了 - 或 -- 前缀的,默认为可选参数,但也可以 阅读全文
posted @ 2024-11-08 20:08 RolandHe 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 在python程序中,我们一般使用logging模块来记录日志。 简单模式: 我们可以直接使用logging.info()这种方式记日志。 import logging # 如果不设置filename参数,则日志将默认输出到控制台。 logging.basicConfig(filename='exe 阅读全文
posted @ 2024-11-08 19:41 RolandHe 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 使用pyinstaller可以将写好的python程序打包成可执行文件。 两种打包方式: 打包成只有一个exe文件的形式,但这种程序在运行时其实比较慢,因为会需要额外的时间将exe文件里的依赖包解压到一个临时文件夹。 打包成一个目录,当前的版本会将所有的依赖包,包括程序自已写的代码(包括main.p 阅读全文
posted @ 2024-11-08 19:20 RolandHe 阅读(47) 评论(0) 推荐(0) 编辑