随笔分类 -  编程基础

摘要:1. 爬虫简介 2. requests 基础用法 3. urlretrieve() 1. 爬虫简介 爬虫的定义 网络爬虫(又被称为网页蜘蛛、网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 爬虫有什么用 市场分析:电商分析、商圈分析、一二级市场分析等 市场监控:电商、新闻、房 阅读全文
posted @ 2020-12-06 20:24 Juno3550 阅读(1037) 评论(0) 推荐(0)
摘要:0. 概述 1. 循环版实现多连接 2. threading.Thread 多线程 3. SockerServer 实现多任务 3.1 ForkingMixIn - 多进程(限 linux) 3.2 ThreadingMixIn - 多线程 3.3 ThreadingTCPServer - 线程池 阅读全文
posted @ 2020-11-29 00:26 Juno3550 阅读(3104) 评论(0) 推荐(0)
摘要:1. Struct 简介 2. Struct 代码示例 2.1 struct.pack 2.2 struct.unpack 2.3 struct.calcsize 1. Struct 简介 当 python 需要通过网络与其他的平台进行交互的时候,必须考虑到将这些数据类型与其他平台或语言之间的类型进 阅读全文
posted @ 2020-11-27 23:31 Juno3550 阅读(478) 评论(0) 推荐(0)
摘要:1. pickle 简介 2. pickle 核心函数 3. pickle 高级 —— 复杂对象 1. 序列化与 pickle 简介 1.1 什么是序列化? 所有的编程一定是围绕数据展开的,而数据呈现形式往往是结构化的,比如结构体(Struct)、类(Class)。 但是当我们通过网络、磁盘等传输、 阅读全文
posted @ 2020-10-21 22:39 Juno3550 阅读(371) 评论(0) 推荐(0)
摘要:1. 机器数和真值 1.1 机器数 1.2 真值 2. 原码、反码和补码的介绍 2.1 原码 2.2 反码 2.3 补码 3. 原码、反码和补码的作用 4. 进制转换 1. 机器数和真值 1.1 机器数 一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机中用一个数的最高 阅读全文
posted @ 2020-06-27 20:39 Juno3550 阅读(1514) 评论(0) 推荐(0)
摘要:1. 什么是编码? 2. 常见的编码格式 ASCII 编码 非 ASCII 编码 Unicode UTF-8 Unicode 和 UTF-8 之间的转换 3. Python 中的编码与解码 计算机系统通用的字符编码工作方式 Python 源代码文件的执行过程 python 中的默认编码 Python 阅读全文
posted @ 2020-05-03 23:01 Juno3550 阅读(287) 评论(0) 推荐(0)
摘要:1. 协程介绍 2. 协程-生成器版 3. 协程-greenlet 版 4. 协程-gevent 版 1. 协程介绍 什么是协程? 协程,又称微线程,纤程。英文为 Coroutine。 协程其实可以认为是比线程更小的执行单元。 为啥说他是一个执行单元,因为它自带 CPU 上下文。这样只要在合适的时机 阅读全文
posted @ 2020-03-21 14:27 Juno3550 阅读(190) 评论(0) 推荐(0)
摘要:1. TCP 介绍 2. TCP Socket 代码示例 1. TCP 介绍 详见《TCP:与 UDP 区别、三次握手、四次挥手、Socket 编程》。 TCP 与 UDP 在通信模型上的区别 UDP 通信模型 UDP 通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活 阅读全文
posted @ 2020-03-20 22:51 Juno3550 阅读(209) 评论(0) 推荐(0)
摘要:1. Socket 简介 2. UDP 介绍与代码示例 1. Socket 简介 网络编程,是指让在不同的电脑上的软件能够进行数据传递,即进程之间的通信。 本地的进程间通信(IPC) 例如有:队列、同步(互斥锁、条件变量等)等,这些通信方式都是一台机器上不同进程之间的通信方式。 网络中的进程间通信 阅读全文
posted @ 2020-03-15 00:46 Juno3550 阅读(412) 评论(0) 推荐(0)
摘要:1. Python 多线程介绍 2. 创建多线程 - threading 3. 创建多线程 - Thread 子类 4. 同步 5. 死锁 6. 生产者与消费者模式 7. GIL(全局解释器锁) 1. Python 多线程介绍 1.1 什么是 Python 的多线程? Python 的多线程是指一个 阅读全文
posted @ 2020-03-08 13:35 Juno3550 阅读(1591) 评论(0) 推荐(0)
摘要:1. 多进程简介 1.1 进程的概念 1.2 进程的特征 1.3 进程的上下文切换 1.4 进程的状态 1.5 进程控制块 1.6 进程的控制 2. 进程的创建-multiprocessing.Process 3. 进程的创建-Process子类 4. 进程池-Pool 5. 进程间通信-Queue 阅读全文
posted @ 2020-03-01 17:57 Juno3550 阅读(430) 评论(0) 推荐(0)
摘要:1. 内建属性 2. 内建函数 range map filter reduce sorted 1. 内建属性 python3中查看类的内建属性和方法: 1 >>> class Person: 2 ... pass 3 ... 4 >>> dir(Person) 5 ['__class__', '__ 阅读全文
posted @ 2020-02-28 20:10 Juno3550 阅读(259) 评论(0) 推荐(0)
摘要:1. 对象池 2. 垃圾回收(GC)原理 2.1 引用计数 2.2 分代回收 3. GC 模块 1. 对象池 总结 小整数 [-5,257) 共用对象,常驻内存;大整数不共用内存,引用计数为0,销毁。 单个字符共用对象,常驻内存。 单个单词默认开启 intern 机制,共用对象,引用计数为0时销毁; 阅读全文
posted @ 2020-02-27 14:21 Juno3550 阅读(256) 评论(0) 推荐(0)
摘要:1. 装饰器介绍 2. 装饰器示例 3. 两个装饰器 4. 被装饰的函数带参数 5. 被装饰的函数带 return 6. 带参数的装饰器 1. 装饰器介绍 装饰器(decorator)是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼,所以这也是 Python 面试中必问的问题。但对于 阅读全文
posted @ 2020-02-26 17:00 Juno3550 阅读(160) 评论(0) 推荐(0)
摘要:1. 函数引用 2. 闭包 1. 函数引用 1 >>> def test(): # 函数的定义,可理解为函数名指向了该函数体 2 ... print(" test ") 3 ... 4 >>> test() # 执行该函数体 5 test 6 >>> test # test指向了该函数体 7 <fu 阅读全文
posted @ 2020-02-24 22:12 Juno3550 阅读(182) 评论(0) 推荐(0)
摘要:1. 生成器(Generator) 1.1 生成器的创建方式1 1.2 生成器的创建方式2 1.3 生成器的特点总结 1.4 生成器的应用场景 2. 迭代器(Iterator) 3. 可迭代对象(Iterable) 4. 总结 1. 生成器(Generator) 通过列表生成式,我们可以直接创建一个 阅读全文
posted @ 2020-02-24 20:46 Juno3550 阅读(310) 评论(0) 推荐(0)
摘要:1. 浅拷贝 2. 深拷贝 3. 拷贝的其它方式 1. 浅拷贝 浅拷贝是对于一个对象的顶层拷贝。 通俗的理解是:拷贝了引用,并没有拷贝内容。 1 >>> a = [1, 2, 3] 2 >>> b = a 3 >>> id(a) 4 13081224 5 >>> id(b) 6 13081224 7 阅读全文
posted @ 2020-02-23 21:14 Juno3550 阅读(143) 评论(0) 推荐(0)
摘要:1. 什么是命名空间 2. globals、locals 3. LEGB 规则 1. 什么是命名空间 我们在编写 Python 程序的过程中,如果要使用变量和函数,都需要先对变量和函数命名后才能使用。Python 会把命名后的变量和函数分配到不同的命名空间,并通过名称来识别它们。 Python为什么 阅读全文
posted @ 2020-02-23 16:01 Juno3550 阅读(161) 评论(0) 推荐(0)