摘要:
可迭代对象(iterable): 一般像list, tuple, dictionary这种,内部需要实现__iter__方法,该方法用于创建一个迭代器。 迭代器(iterator): 由可迭代对象创建,在for循环刚开始时自动创建,也可以通过iter(iterable)内置函数来创建。 其内部需要实 阅读全文
摘要:
abc: 是 Python 标准库中的一个模块,主要用于定义抽象基类(Abstract Base Classes)。抽象基类提供了一种机制,允许我们在面向对象编程中定义接口,以确保子类实现特定的方法或属性。 示例代码: from abc import ABC, abstractmethod clas 阅读全文
摘要:
在python中一切皆对象,实例对象是由类创建的,类(又称类对象)是由元类创建的。 通常我们用type函数来检查一个对象是什么类型。 print(type(1)) print(type('a')) print(type([1, 2, 3])) class Foo: pass foo = Foo() 阅读全文
摘要:
装饰器(decorator): 装饰器本质上使用的机制是闭包,只是语法上更方便,是python提供的语法糖。 回顾闭包 让我们先回顾一下闭包的简单情况: import time def decorator(fun): print('装饰器开始执行') def wrapper(): start_tim 阅读全文
摘要:
描述器(又称描述符)(Descriptor) 描述器:如果一个类中实现了__get__, __set__, __delete__三个方法中的任何一个,那么这样的类的实例就称为描述器。 当某一个类的类属性是一个描述器的时候,通过这个类或者类的实例来访问、修改或删除这个类属性时,就会分别触发描述器的__ 阅读全文
摘要:
定制化属性访问 __getattribute__(self, name): 被称作属性拦截器, 即所有对实例属性的访问都会先受到此方法的影响。此方法应该返回一个我们处理后的值,或者抛出一个AttributeError异常。 此方法应该谨慎使用。一般我们对个别属性做特殊处理后,都要加一个调用父类该方法 阅读全文
摘要:
我们常用的python内置函数,如print, help, max, dict等等是可以直接使用,不需要导入的。 __builtins__模块: __builtins__ 是一个特殊的模块,它包含了所有内建(内置)的函数、异常和其他对象。当你启动一个 Python 解释器或运行一个 Python 脚 阅读全文
摘要:
python中的闭包(closure)是指一个函数内部又嵌套了一个函数,内层函数可以使用外层函数的参数和局部变量,外层函数返回内层函数的引用。 一般来说,一个函数的实参及局部变量,只在函数执行过程中存储,函数执行完后就会释放掉。 但闭包机制的这种外层函数执行完后,由于其内层函数需要用到外层的数据,所 阅读全文
摘要:
在 Python 中,DataFrame 的内存通常不会在变量不再被引用时立即释放,因为内存的管理依赖于 Python 的垃圾回收机制(garbage collection)。对于大型 DataFrame,可以考虑两种方法: 删除变量并强制垃圾回收 import gc import pandas a 阅读全文
摘要:
在 Python 程序中,配置文件的常用格式有 .ini、.yaml、.json 和 .toml,这些文件格式各有优缺点,适合不同的场景。下面逐一介绍这些格式及相应的读取库和优点: 1. .ini 文件 库:Python 标准库 configparser 结构:.ini 文件使用键值对的结构,并支持 阅读全文