随笔分类 -  编程基础 / Python 编程基础

摘要:0. 常用快捷键 1. 代码排版,自动 PEP8 2. 找回误删文件 3. 使用 Vim 代替鼠标 4. 代码模板 5. 使用书签,快速定位 6. 调试技巧 7. 指定参数执行脚本 8. 关闭灯泡提示 9. 关闭波浪线提示 10. 展示多个文件窗口 11. 高级查找时过滤测试文件 0. 常用快捷键 阅读全文
posted @ 2021-08-16 15:42 Juno3550 阅读(853) 评论(0) 推荐(0)
摘要:1. 解释性语言和编译性语言 1.1 定义 1.2 Python 属于编译型还是解释型? 1.3 收获 2. 动态类型语言 2.1 定义 2.2 比较 3. 动态语言(动态编程语言) 3.1 定义 3.2 Python 动态语言的体现 3.3 __slots__() 4. Python 运行速度 1 阅读全文
posted @ 2021-04-26 23:34 Juno3550 阅读(1274) 评论(0) 推荐(0)
摘要:1. TCP 基本认识 TCP 头部格式 为什么需要 TCP 协议?TCP 工作在哪一层? 什么是 TCP ? 什么是 TCP 连接? 如何唯一确定一个 TCP 连接呢? 有一个 IP 的服务器监听了一个端口,它的 TCP 的最大连接数是多少? 2. TCP 与 UDP 区别 UDP 基本认识 TC 阅读全文
posted @ 2021-02-08 00:58 Juno3550 阅读(387) 评论(0) 推荐(0)
摘要:代码下载 https://github.com/juno3550/GroupChatRoom 实现框架 Chat 包: server.py:服务器端执行代码(TCP 服务器,根据客户端消息调用 mode 包的注册、登录、聊天功能) client.py:客户端执行代码(连接服务器端,进行注册、登录、聊 阅读全文
posted @ 2021-01-26 20:14 Juno3550 阅读(2437) 评论(3) 推荐(0)
摘要:实现思路 多线程爬取网页信息,从一个页面为起点,爬取其包含的所有链接,并根据关键字筛选,将符合的网页入库。 访问首页(种子页),获取源码 html; 使用正则或者其他方式获取所有的绝对地址链接,存到一个 list 里面; 遍历 list,加入到队列中; 多线程从队列中取数据,一次取一个绝对地址链接, 阅读全文
posted @ 2021-01-25 19:05 Juno3550 阅读(734) 评论(0) 推荐(0)
摘要:实现思路 download_image(url, image_dir, image_no):将图片下载页的主图下载到本地。 get_image_url(url):拼接图片下载的 url(绝对路径)。由于网站中的图片 src 都是相对路径,因此需要在此函数中拼接图片的绝对路径。 get_page_ur 阅读全文
posted @ 2021-01-25 15:07 Juno3550 阅读(356) 评论(0) 推荐(0)
摘要:实现方法 find_all_file(queue, path, file_type=None):统计文件个数。 all_file_code_count(queue, path, file_type=None):使用多进程来统计队列中的代码总行数。 single_file_code_count(que 阅读全文
posted @ 2020-12-28 01:14 Juno3550 阅读(313) 评论(0) 推荐(0)
摘要:1. 多进程访问 1000 个 url 2. 多线程访问 1000 个 url 3. 协程访问 1000 个 url 4. 多进程+协程访问 1000 个 url 5. 多线程+协程访问 1000 个 url 6. 总结 代码下载:https://github.com/juno3550/Multit 阅读全文
posted @ 2020-12-18 00:42 Juno3550 阅读(171) 评论(0) 推荐(1)
摘要:0. 概述 1. 循环版实现多连接 2. threading.Thread 多线程 3. SockerServer 实现多任务 3.1 ForkingMixIn - 多进程(限 linux) 3.2 ThreadingMixIn - 多线程 3.3 ThreadingTCPServer - 线程池 阅读全文
posted @ 2020-11-29 00:26 Juno3550 阅读(3269) 评论(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 阅读(532) 评论(0) 推荐(0)
摘要:1. pickle 简介 2. pickle 核心函数 3. pickle 高级 —— 复杂对象 1. 序列化与 pickle 简介 1.1 什么是序列化? 所有的编程一定是围绕数据展开的,而数据呈现形式往往是结构化的,比如结构体(Struct)、类(Class)。 但是当我们通过网络、磁盘等传输、 阅读全文
posted @ 2020-10-21 22:39 Juno3550 阅读(409) 评论(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 阅读(1586) 评论(0) 推荐(0)
摘要:1. 什么是编码? 2. 常见的编码格式 ASCII 编码 非 ASCII 编码 Unicode UTF-8 Unicode 和 UTF-8 之间的转换 3. Python 中的编码与解码 计算机系统通用的字符编码工作方式 Python 源代码文件的执行过程 python 中的默认编码 Python 阅读全文
posted @ 2020-05-03 23:01 Juno3550 阅读(334) 评论(0) 推荐(0)
摘要:1. 协程介绍 2. 协程-生成器版 3. 协程-greenlet 版 4. 协程-gevent 版 1. 协程介绍 什么是协程? 协程,又称微线程,纤程。英文为 Coroutine。 协程其实可以认为是比线程更小的执行单元。 为啥说他是一个执行单元,因为它自带 CPU 上下文。这样只要在合适的时机 阅读全文
posted @ 2020-03-21 14:27 Juno3550 阅读(207) 评论(0) 推荐(0)
摘要:1. TCP 介绍 2. TCP Socket 代码示例 1. TCP 介绍 详见《TCP:与 UDP 区别、三次握手、四次挥手、Socket 编程》。 TCP 与 UDP 在通信模型上的区别 UDP 通信模型 UDP 通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活 阅读全文
posted @ 2020-03-20 22:51 Juno3550 阅读(231) 评论(0) 推荐(0)
摘要:1. Socket 简介 2. UDP 介绍与代码示例 1. Socket 简介 网络编程,是指让在不同的电脑上的软件能够进行数据传递,即进程之间的通信。 本地的进程间通信(IPC) 例如有:队列、同步(互斥锁、条件变量等)等,这些通信方式都是一台机器上不同进程之间的通信方式。 网络中的进程间通信 阅读全文
posted @ 2020-03-15 00:46 Juno3550 阅读(445) 评论(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 阅读(1626) 评论(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 阅读(455) 评论(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 阅读(278) 评论(0) 推荐(0)
摘要:1. 对象池 2. 垃圾回收(GC)原理 2.1 引用计数 2.2 分代回收 3. GC 模块 1. 对象池 总结 小整数 [-5,257) 共用对象,常驻内存;大整数不共用内存,引用计数为0,销毁。 单个字符共用对象,常驻内存。 单个单词默认开启 intern 机制,共用对象,引用计数为0时销毁; 阅读全文
posted @ 2020-02-27 14:21 Juno3550 阅读(274) 评论(0) 推荐(0)