随笔分类 -  python学习之路

1 2 3 4 5 ··· 10 下一页
摘要:Python与设计模式 第一篇 创建类设计模式 [01] 设计原则 [02] 单例模式 [03] 工厂类相关模式 [04] 简单工厂模式 [05] 抽象工厂模式 [06] 建造者模式 [07] 建造者模式 第二篇 结构类设计模式 [01] 代理模式 [02] 装饰器模式 [03] 适配器模式 [04 阅读全文
posted @ 2022-01-24 23:30 RandySun 阅读(34) 评论(0) 推荐(0)
摘要:paramiko模块 通过ssh链接服务器并执行想要的命令,类似于XShell ansible(远程批量管理服务器)底层源码其实就是paramiko模块实现的 一、安装 二、使用 前提须知:paramiko模块即支持用户名密码的方式也支持公钥私钥的方式操作服务器 2.1 通过密码连接 2.2 通过私 阅读全文
posted @ 2020-02-25 17:53 RandySun 阅读(214) 评论(0) 推荐(0)
摘要:并发编程小结 [TOC] 一、到底什么是线程?什么是进程? Python自己没有这玩意,Python中调用的操作系统的线程和进程。 二、Python多线程情况下: 计算密集型操作:效率低,Python内置的一个全局解释器锁,锁的作用就是保证同一时刻一个进程中只有一个线程可以被cpu调度,多线程无法利 阅读全文
posted @ 2020-02-04 14:25 RandySun 阅读(182) 评论(0) 推荐(0)
摘要:大白话五种IO模型 [TOC] 一、I/O模型介绍 为了更好地了解I/O模型,我们需要事先回顾下: "同步、异步、阻塞、非阻塞" 同步(synchronous) I/O和异步(asynchronous) I/O,阻塞(blocking) I/O和非阻塞(non blocking)I/O分别是什么,到 阅读全文
posted @ 2020-02-04 12:26 RandySun 阅读(276) 评论(0) 推荐(0)
摘要:Python程序中的协程操作 greenlet模块 [TOC] 一、安装模块 安装:pip3 install greenlet 二、greenlet实现状态切换 randy eat 1 randy play 1 randy eat 2 randy play 2 三、效率对比 单纯的切换(在没有io的 阅读全文
posted @ 2020-02-04 11:54 RandySun 阅读(182) 评论(0) 推荐(0)
摘要:Python程序中的协程操作 gevent模块 一、安装 安装:pip3 install gevent 二、Gevent模块介绍 Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet,它是以C扩展模块形式接入Python的轻量 阅读全文
posted @ 2020-02-04 11:53 RandySun 阅读(294) 评论(0) 推荐(0)
摘要:协程基础 [TOC] 一、引言 之前我们学习了线程、进程的概念,了解了在操作系统中 进程是资源分配的最小单位 , 线程是CPU调度的最小单位 。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题, 都要消耗一定的时间来创建进程、创建线程、以及管理他 阅读全文
posted @ 2020-02-04 11:19 RandySun 阅读(126) 评论(0) 推荐(0)
摘要:Python程序中的线程操作(线程池) concurrent模块 [TOC] 一、Python标准模块——concurrent.futures 官方文档:https://docs.python.org/dev/library/concurrent.futures.html 二、介绍 concurre 阅读全文
posted @ 2020-02-04 10:10 RandySun 阅读(489) 评论(0) 推荐(0)
摘要:Python程序中的线程操作 线程队列 [TOC] 一、线程队列 queue队列:使用 ,用法与进程Queue一样 queue is especially useful in threaded programming when information must be exchanged safely 阅读全文
posted @ 2020-02-04 09:48 RandySun 阅读(168) 评论(0) 推荐(0)
摘要:Python程序中的线程操作 锁 [TOC] 一、同步锁 1.1 多个线程抢占资源的情况 结果可能为: 99 1.1.1 对公共数据的操作 1.2 同步锁的引用 结果肯定为:0 1.3 互斥锁与join的区别 二、死锁与递归锁 进程也有死锁与递归锁,在进程那里忘记说了,放到这里一起说了。 所谓死锁: 阅读全文
posted @ 2020-02-04 09:35 RandySun 阅读(227) 评论(0) 推荐(0)
摘要:GIL全局解释器锁 一、GIL全局解释器锁 Python代码的执行由Python虚拟机(也叫解释器主循环)来控制。 Python在设计之初就考虑到要在主循环中,同时只有一个线程在执行。 虽然 Python 解释器中可以“运行”多个线程, 但在任意时刻只有一个线程在解释器中运行。 对Python虚拟机 阅读全文
posted @ 2020-02-03 22:09 RandySun 阅读(156) 评论(0) 推荐(0)
摘要:内存中的线程 [TOC] 一、内存中的线程 " " 多个线程共享同一个进程的地址空间中的资源, 是对一台计算机上多个进程的模拟,有时也称线程为轻量级的进程。 而对一台计算机上多个进程,则共享物理内存、磁盘、打印机等其他物理资源。多线程的运行和多进程的运行类似,是CPU在多个线程之间的快速切换。 不同 阅读全文
posted @ 2020-02-03 21:57 RandySun 阅读(364) 评论(0) 推荐(0)
摘要:操作系统的发展史 一、手工操作——穿孔卡片 1946年第一台计算机诞生 20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 " " " " 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针 阅读全文
posted @ 2020-02-03 15:33 RandySun 阅读(301) 评论(0) 推荐(0)
摘要:网络编程小结 一、网络编程小结 二、网络架构及其演变过程 2.1 单机架构 不需要联网 2.2 CS架构 客户端直接和服务端交互 2.3 BS架构 客户端嫁接在浏览器上,浏览器和服务端交互 三、互联网和互联网的组成 3.1 教材版 1. 边缘部分:服务端和客户端 2. 核心部分:路由器/基站 3.2 阅读全文
posted @ 2020-02-03 15:01 RandySun 阅读(191) 评论(0) 推荐(0)
摘要:Socket抽象层 [TOC] 一、Socket抽象层 我们知道两个进程如果需要进行通讯最基本的一个前提是能够唯一标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要另辟它径了,我们知道IP层的IP地址可以唯一标 阅读全文
posted @ 2020-02-03 14:51 RandySun 阅读(227) 评论(0) 推荐(0)
摘要:struct模块 把一个数字打包成固定长度的4字节 | Format | C Type | Python | Notes | | | | | | | | pad byte | no value | | | | | string of length 1 | | | | | integer | | | 阅读全文
posted @ 2020-02-03 12:52 RandySun 阅读(118) 评论(0) 推荐(0)
摘要:互联网和互联网的组成 [TOC] 一、互联网的组成(教材版) " " 互联网的拓扑结构非常复杂 ,并且在地理位置上覆盖了全球,从工作方式上看,可以划分为两大块: 1. 边缘部分:这部分由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享。 2. 核心部分:由大量网络和连接这 阅读全文
posted @ 2020-02-02 23:03 RandySun 阅读(393) 评论(0) 推荐(0)
摘要:面向对象进阶实战之选课系统 一、项目地址 https://github.com/RandySun01/student_course_selected 二、作业要求 角色:学校、学员、课程、讲师 要求: 1. 创建北京、上海 2 所学校 2. 创建linux、python、go3个课程 ,linux\ 阅读全文
posted @ 2020-02-02 22:01 RandySun 阅读(147) 评论(0) 推荐(0)
摘要:面向对象高级小结 一、面向对象高级小结 1.1 isinstance,issubclass isinstance判断是否为类的实例化对象,会检测父类,而type不会检测父类 issubclass,判断是否为其子类 1.2 反射 1. hasattr:通过字符串判断是否类属性存在 2. getattr 阅读全文
posted @ 2020-02-02 21:59 RandySun 阅读(231) 评论(0) 推荐(0)
摘要:实现文件上下文管理(\_\_enter\_\_和\_\_exit\_\_) 我们知道在操作文件对象的时候可以这么写 上述叫做上下文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明\_\_enter__和\_\_exit\_\_方法 一、上下文管理协议 出现with语 阅读全文
posted @ 2020-02-02 18:02 RandySun 阅读(161) 评论(0) 推荐(0)

1 2 3 4 5 ··· 10 下一页