随笔分类 - Python
摘要:协程简介 协程不是计算机提供的, 而是程序员任务创造的。 协程(Coroutine), 也可以被称为微线程, 是一种用户态上下文切换技术。简而言之, 其实就是通过一个线程实现代码块互相切换执行。 实现协程有这么几种方法 greenlet, 早期模块 yield关键字 asyncio装饰器 async
阅读全文
摘要:IO发生时涉及的对象和步骤。对于一个network IO,它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel)。当一个read操作发生时,该操作会经历两个阶段: 1)等待数据准备 (Waiting for the data to be
阅读全文
摘要:协程介绍 协程:是单线程下的并发,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程: 协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。 1. python的线程属于内核级别的,即由操作系统控制调度(如单线程遇到io或执行时间过长就会被迫交出cpu执行权限,切换其他线程
阅读全文
摘要:Python标准模块--concurrent.futures 基本介绍 #1 介绍 concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor:线程池,提供异步调用 ProcessPoolExecutor: 进程池,提供异步调用 Both implem
阅读全文
摘要:GIL介绍 GIL的定义 GIL的官方定义如下: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytec
阅读全文
摘要:Python多线程模块 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性 Thread类介绍 threading模块有一个很重要的类叫做Thread类, Thread类是创建线程的类 Thread([group [, t
阅读全文
摘要:线程介绍 什么是线程 线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中
阅读全文
摘要:Python多进程模块 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multiprocessing
阅读全文
摘要:多道技术 cpu在执行一个任务过程中,若需要操作硬盘的指令,指令一旦发出,硬盘上的机械手臂滑动读取数据到内存中,这一段时间,cpu需要等待,时间可能很短,但对于cpu来说已经很长很长,长到可以让cpu做很多其他的任务,如果我们让cpu在这段时间内切到去做其他任务,这样cpu不就充分利用了吗?这正是多
阅读全文
摘要:手工操作-穿孔卡片 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。 手工操作方式两个特点(缺点): (1)用户独占全机
阅读全文
摘要:之前使用socket模块实现的网络编程都不能并发进行连接和通信的, 即一个客户端需要等待服务器和另一个客户端通信完成后才能和服务端进行连接和通信。 python3中提供有一个高级内置模块socketserver来帮助我们进行并发的网络编程。 socketserver模块介绍 SocketServer
阅读全文
摘要:粘包问题的引入 基于tcp协议远程执行命令的代码 服务端: from socket import * import subprocess server = socket(AF_INET, SOCK_STREAM) server.setsockopt(SOL_SOCKET, SO_REUSEADDR,
阅读全文
摘要:套接字介绍 socket介绍 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 所以,我
阅读全文
摘要:网络存在的意义就是跨地域数据传输, 称之为通信网络 = 物理链接介质 + 互联网通信协议 互联网的本质就是一系列的协议,总称为‘互联网协议’(Internet Protocol Suite)。互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准。 OSI七
阅读全文
摘要:异常介绍 异常是程序发生错误的信号。程序一旦出现错误,便会产生一个异常,若程序中没有处理它,就会抛出该异常,程序的运行也随之终止。 异常的作用是: 为了增强程序的健壮性, 即便是程序运行过程出错了, 也不要终止程序, 而是应该捕捉异常并处理: 将出错信息记录到日志内 错误的类型一共有两种: 一种是语
阅读全文
摘要:在Python中, 一切皆对象, 对象是类的实例化。那么类又是由什么实例化得到的呢? 元类的介绍 class People(object): def __init__(self, name, age): self.name = name self.age = age def say(self): p
阅读全文
摘要:Python类的内置方法总结 内置方法 描述 __new__() 类的真正的构造方法, 用于产生对象(空属性) __init__() 初始化对象, 在创建对象的时候调用 __str__() 控制用户显示, 即在print()的时候显示 __repr__() 控制调试显示, 在调试模式下显示的内容 _
阅读全文
摘要:反射介绍 什么是反射 反射指的是程序可以访问、检查和修改它本身的状态的行为的一种能力(自省)。 在python中的反射是指:通过字符串的形式操作对象相关属性,就是通过字符串让对象自省自检是否有字符串表示的属性。 Python中反射机制的实现 1. 先通过dir()方法: 查看某一个对象下可以.出哪些
阅读全文
摘要:绑定方法与非绑定方法 绑定方法 绑定方法的特殊之处在于将调用者本身当做第一个参数自动传入。绑定方法又分为绑定到对象的对象方法和绑定到类的类方法。 绑定给对象的方法: 调用者是对象, 自动传入的是对象 绑定给类的方法: 调用者是类, 自动传入的是类 非绑定方法也称为静态方法。该方法不与类或对象绑定,类
阅读全文
摘要:多态的介绍 多态指的是一类事物有多种形态,比如动物有多种形态:猫、狗、猪 class Animal: # 统一所有子类的方法 def say(self): print('动物基本的发声...') class People(Animal): def say(self): super(People, s
阅读全文

浙公网安备 33010602011771号