python
文章平均质量分 69
python学习
aaa小葵
这不是bug,这是future
展开
-
python内存管理和垃圾回收一文详解(基于c语言源码底层逻辑)
首先我们大概回忆一下C语言中的环状双向链表,如图,在双向链表中对于一个结点来说会有前驱和后继:在python中,这个环状链表C源码的表示如上,可以发现在它分为PyObject和PyVarObject两个结构体,在python底层C源码中每个类型都有其对应的结构体是结点的固定变量(指向上一个的指针、指向下一个的指针、引用计数器、数据类型)构成的结构体是有多个元素组成的对象(例如一个列表L=['a','b','c'])构成的结构体我们把目光看到。原创 2024-03-14 21:07:42 · 956 阅读 · 0 评论 -
python元类实现单例模式
2. 当Foo类实例化的时候,会调用元类的call方法,我们将call方法中的init方法稍作变化,优先判断是否有对象,没有才创建。在创建类Foo的时候创建一个类变量,用于存储刚开始创建的对象,并且后续在程序中再创建一次只会得到同一个对象。1. 在元类初始化的时候创建一个变量instance,让他的默认值为None,该变量用来判断是否创建过对象。可以在Foo的元类中进行修改,在元类MyType调用new和init创建类时进行一些扩展。单例模式是一种创建型设计模式,此外,需要注意的是,原创 2024-03-14 16:59:21 · 504 阅读 · 0 评论 -
python元类(type)
此时Foo就是由mytype创建的类,那么当Foo被创建的时候,就会调用mytype里面的方法(类似于mytype类创建出了一个Foo对象)类默认是由type创建的,那该怎么让一个类的创建改成由别的东西来创建呢?2. 程序接着执行类中的init方法,初始化该空对象 -----初始化方法。1. 程序自动帮你调用new方法、创建对象(空对象)-----构造方法。上面这两种创建方法其实都是由type创建,只不过第一种更为直观而已;那么类是由谁创建的呢?所以:对象是基于类创建出来的。类默认是由type创建的。原创 2024-03-12 10:35:40 · 382 阅读 · 0 评论 -
python面向对象中的__call__方法
方法后,该类的实例就成为了可调用对象(callable)。这意味着你可以像调用函数那样使用类的实例,即在实例后面加上括号。这种机制通常用于那些需要以类似函数的方式调用的对象,比如某些特定的设计模式中的类。方法,则无法通过实例加括号的方式直接调用实例的方法或属性。方法时,实例才能像函数一样被调用。在Python面向对象编程中,需要注意的是:只有当类定义了。原创 2024-03-12 10:34:44 · 543 阅读 · 0 评论 -
python数据和分析——pandas基础内容
Pandas 的两个主要的数据结构是 Series 和 DataFrame:直接创建指定索引字典创建修改 Series 对象的数据类型(dtype),可以使用 方法。astype() 方法允许将 Series 中的数据转换为指定的数据类型查询索引和值:读取外部数据DataFrame创建直接创建索引字典访问列访问行添加新列:删除列:添加新行:删除行:查询info(): 提供有关DataFrame的基本信息,包括列名、非空值数量、每列的数据类型等。在上面的示例中,in原创 2024-01-24 20:20:55 · 879 阅读 · 0 评论 -
python数据分析——numpy基本用法
在上面的示例中,我们有一个二维数组 [[1,2,3], [4,5,6], [7,8,9]]。例如,如果有两个形状为 (M,N) 的二维数组 a 和 b,则 np.dstack([a, b]) 会返回一个形状为 (M,N,2) 的三维数组。在上面的示例中,np.eye(4, k=2) 创建了一个形状为 (4,4) 的单位矩阵,其中主对角线向右偏移两位。a是一个二维数组,在花式索引中,第一个列表 [1, 1, 3] 表示要获取的行索引,第二个列表 [2, 3, 0]表示要获取的列索引。原创 2024-01-23 16:02:47 · 1020 阅读 · 0 评论 -
python数据分析——Matplotlib基本用法
函数来设置图形的背景色。设置背景色:可以使用。原创 2024-01-22 16:21:10 · 440 阅读 · 1 评论 -
python中tkinter/gui可视化界面
创建了一个标签,其中的text参数指定了标签的文本内容为 "姓 名: "是将该标签放置在网格布局中的指定位置。原创 2024-01-22 12:11:50 · 419 阅读 · 0 评论