09 2020 档案

摘要:楔子 估计有不少小伙伴在将DataFrame导入到Excel的时候,都遇到过这种尴尬的情况: 想将多个DataFrame导入到一个Excel文件的多个sheet中,但是却发现生成的Excel文件里面只有最后一个sheet 想给一个现有的Excel文件中追加一个sheet,结果发现其它的sheet都没 阅读全文
posted @ 2020-09-28 23:04 古明地盆 阅读(15047) 评论(1) 推荐(0)
摘要:楔子 numpy中有几个以arg开头的函数,非常的神奇,因为它们返回的不是元素、而是元素的索引,我们来看一下用法,这里只以一维数组为例。 np.argmax 首先np.max是获取最大元素,那么np.argmax是做什么的呢? import numpy as np arr = np.array([3 阅读全文
posted @ 2020-09-20 23:01 古明地盆 阅读(5518) 评论(2) 推荐(3)
摘要:楔子 现在绝大部分的语言都实现了垃圾回收机制,这其中也包括Python,而不同的语言采用的垃圾回收算法也各不相同。那么,常见的垃圾回收算法都有哪些呢? 引用计数法(reference count): 记录对象的被引用次数, 引用计数降为0时回收 标记-清除法(mark-sweep): 从根集合触发, 阅读全文
posted @ 2020-09-19 23:55 古明地盆 阅读(2673) 评论(6) 推荐(2)
摘要:楔子 内存管理,对于Python这样的动态语言来说是非常重要的一部分,它在很大程度上决定了Python的执行效率,因为Python在运行中会创建和销毁大量的对象,这些都涉及内存的管理,因此精湛的内存管理技术是确保内存使用效率的关键。 此外,我们知道Python还是一门提供了垃圾回收机制(GC, ga 阅读全文
posted @ 2020-09-19 12:58 古明地盆 阅读(2902) 评论(6) 推荐(1)
摘要:什么是 base64 我们知道一个字节可以表示的范围是 0 ~ 255,并且在 ASCII 码表中会对应一个字符,比如:字符 97 对应字符 'a'、90 对应字符 'Z' 等等。而在 ASCII 码表中有很多字符都是不可见字符,那么当数据在网络上传输时,由于不同的设备对字符的处理会有一些不同,那些 阅读全文
posted @ 2020-09-14 20:50 古明地盆 阅读(2601) 评论(0) 推荐(0)
摘要:初见Python的_thread模块 下面我们来说一下Python中线程的创建,我们知道在创建多线程的时候会使用threading这个标准库,这个库是以一个py文件存在的形式存在的,不过这个模块依赖于_thread模块,我们来看看它长什么样子。 _thread是真正用来创建线程的模块,这个模块是由C 阅读全文
posted @ 2020-09-12 03:54 古明地盆 阅读(2188) 评论(0) 推荐(0)
摘要:楔子 这次我们来说一下Python中的多线程,在上篇博客中我们说了Python的线程,我们说Python中的线程是对OS线程进行了一个封装,并提供了一个线程状态(PyThreadState)对象,来记录OS线程的一些状态信息。 那什么是多线程呢?首先线程是操作系统调度cpu工作的最小单元,同理进程则 阅读全文
posted @ 2020-09-11 01:30 古明地盆 阅读(1876) 评论(0) 推荐(1)
摘要:楔子 我们之前分析了Python的核心--字节码、以及虚拟机的剖析工作,但这仅仅只是一部分,而其余的部分则被遮在了幕后。记得我们在分析虚拟机的时候,曾这么说过: 当Python启动后,首先会进行 "运行时环境" 的初始化,而关于 "运行时环境" 的初始化是一个非常复杂的过程。并且 "运行时环境" 和 阅读全文
posted @ 2020-09-09 21:39 古明地盆 阅读(4291) 评论(5) 推荐(0)
摘要:楔子 上一篇我们介绍了生成器,本来这里应该介绍协程的,但是大致阅读了一下,感觉如果从源码的角度来介绍协程的话,工作量太大。而且个人精力有限,所以推荐我写的这一篇博客:https://www.cnblogs.com/traditional/p/11828780.html,是用来介绍asyncio的,当 阅读全文
posted @ 2020-09-06 06:30 古明地盆 阅读(2483) 评论(3) 推荐(0)
摘要:楔子 下面我们来聊一聊Python中的生成器,它是我们理解后面协程的基础,生成器的话,估计大部分人在写程序的时候都想不到用。但是一旦用好了,确实能给程序带来性能上的提升,那么我们就来看一看吧。 生成器 基本用法 我们知道,一个函数如果它的内部出现了yield关键字,那么它就不再是普通的函数了,而是一 阅读全文
posted @ 2020-09-06 00:55 古明地盆 阅读(1307) 评论(4) 推荐(1)
摘要:楔子 有些时候我们需要对一个目录进行监控,检测其内部是否有文件的新增、删除、以及每个文件的内容是否发生变化,这个时候如果是你的话,你会选择怎么做呢? 显然也是一个比较麻烦的工作,倒不是说难,主要是比较繁杂。但万幸的是,已经有一个第三方包watchdog帮我们完美地实现了这一点,所以这就是Python 阅读全文
posted @ 2020-09-05 04:03 古明地盆 阅读(1626) 评论(0) 推荐(1)
摘要:楔子 下面我们来看一下Python中的魔法方法,我们知道Python将操作符都抽象成了一个魔法方法(magic method),实例对象进行操作时,实际上会调用魔法方法。也正因为如此,numpy才得以很好的实现。 那么Python中常见的魔法方法都有哪些呢?我们按照特征分成了几类,下面就来看看魔法方 阅读全文
posted @ 2020-09-03 23:28 古明地盆 阅读(1531) 评论(1) 推荐(0)
摘要:楔子 介绍完类对象之后,我们来介绍实例对象。我们之前费了老鼻子劲将类对象剖析了一遍,但这仅仅是万里长征的第一步。因为Python虚拟机执行时,在内存中兴风作浪的是一个个的实例对象,而类对象只是幕后英雄。 通过class类对象创建实例对象 我们还以之前的代码为例: class Girl: name = 阅读全文
posted @ 2020-09-02 23:04 古明地盆 阅读(2287) 评论(4) 推荐(1)
摘要:楔子 Python除了给我提供了很多的类之外,还支持我们定义属于自己的类,那么Python底层是如何做的呢?我们下面就来看看。 自定义class 老规矩,如果想知道底层是怎么做的,那么就必须要通过观察字节码来实现。 class Girl: name = "夏色祭" def __init__(self 阅读全文
posted @ 2020-09-01 00:58 古明地盆 阅读(2206) 评论(0) 推荐(1)