Fork me on GitHub

随笔分类 -  Python

摘要:一、什么是生产者消费者模型 生产者消费者模型就是通过一个容器解决它们之间的强耦合问题,生产者与消费者之间依靠阻塞队列进行通讯,生产者与消费者之间不直接通讯,这样平衡了二者之间的处理能力,这里使用了进程、线程以及生成器实现了生产者消费者模型。 在进程中分别开启了生产者和消费者的进程,它们之间的通讯依赖 阅读全文
posted @ 2019-10-16 21:05 iveBoy 阅读(883) 评论(0) 推荐(0)
摘要:1、AssertionError assert语句失败时引发 2、EOFError 当input()函数达到文件结束条件(EOF)而不读取任何数据时引发。 3、FloatingPointError 当浮点运算失败时引发。 4、ImportError import语句在尝试加载模块时遇到麻烦时引发。 阅读全文
posted @ 2019-10-15 22:25 iveBoy 阅读(308) 评论(0) 推荐(0)
摘要:一、基于装饰器实现单例模式 二、基于元类实现单例模式 三、基于__new__方法实现单例模式 四、基于静态方法实现单例模式 五、基于模块实现单例模式 六、Monostate单例模式 将所有创建对象的__dict__属性指向同一个字典,这样所有的对象实现了数据的共享。 将__shared_state变 阅读全文
posted @ 2019-10-15 21:16 iveBoy 阅读(868) 评论(0) 推荐(0)
摘要:一、什么是元类? 在python中一切皆对象,那么类是否也是对象呢?通过class关键字产生的类的实例,我们已经很熟悉了,但是通过class关键字产生的类的类就是元类。 可以看到b1对象是由类Bar产生的,而Bar类是由type这个元类产生的,type是python中的一个内建元类。 那么,使用cl 阅读全文
posted @ 2019-10-14 22:01 iveBoy 阅读(212) 评论(0) 推荐(0)
摘要:#十进制转二进制 >>> bin(12) '0b1100' #二进制转十进制 >>> int(0b1100) 12 #十进制转八进制 >>> oct(12) '0o14' #八进制转十进制 >>> int(0o14) 12 #十进制转十六进制 >>> hex(12) '0xc' #十六进制转十进制 >>> int(0xc) 12 阅读全文
posted @ 2019-10-11 17:49 iveBoy 阅读(1560) 评论(0) 推荐(0)
摘要:一、os模块 os模块是与操作系统交互的一个接口,使用该模块必须先导入该模块。 二、sys模块 sys模块是与python解释器交互的一个接口,使用该模块必须先导入该模块。 1、sys.argv 获取当前正在执行的命令行参数的参数列表(list) sys.argv[]是一个程序获取外部参数的桥梁。s 阅读全文
posted @ 2019-10-11 14:09 iveBoy 阅读(1031) 评论(0) 推荐(0)
摘要:一、正则表达式 re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分,他对所有的语言都通用。注意: re模块是python独有的 正则表达式所有编程语言都可以使用 re模块、正则表达式是对字符串进行操 阅读全文
posted @ 2019-10-10 18:16 iveBoy 阅读(150347) 评论(7) 推荐(16)
摘要:tornado的同步框架与其他web框架相同都是处理先来的请求,如果先来的请求阻塞,那么后面的请求也会处理不了。一直处于等待过程中。但是请求一旦得到响应,那么: 请求发送过来后,将需要的本站资源直接返回给客户端 请求发送过来后,本站没有需要的资源,从其它站点获取过来,再返回给客户端 一、Tornad 阅读全文
posted @ 2019-10-08 18:04 iveBoy 阅读(1653) 评论(0) 推荐(0)
摘要:一、Tornado Web应用程序的结构 Tornado Web应用程序通常由一个或多 个RequestHandler子类,一个Application将传入请求路由到处理程序的对象以及一个main()启动服务器的功能组成。 RequestHandler:Tornado Web应用程序的大部分工作是在 阅读全文
posted @ 2019-10-08 12:03 iveBoy 阅读(1649) 评论(0) 推荐(0)
摘要:一、协程概述 1、什么是协程? 协程也被称为“微线程”,在一个线程中规定某个代码块的执行顺序。线程和进程的操作是由程序触发系统接口,最后的执行者是系统;协程的操作则是程序员。 2、为什么会有协程? 对于多线程应用,CPU通过切片的方式来切换线程间的执行,线程切换时需要耗时(保存状态,下次继续)。协程 阅读全文
posted @ 2019-09-29 08:03 iveBoy 阅读(321) 评论(0) 推荐(0)
摘要:一、线程概述 1、什么是线程? 线程依附进程而存在的,一个进程至少有一个线程,线程相当于微进程,多进程能实现并发,多线程也同样可以。线程是最小的执行单元(cpu执行的直接是线程)。 2、线程的特点 线程依附进程存在 同一个进程中的线程数据是互相共享的 一个进程可以开启多个线程 进程相当于容器,线程相 阅读全文
posted @ 2019-09-28 19:14 iveBoy 阅读(294) 评论(0) 推荐(0)
摘要:一、进程概述 (一)进程的基本概念 1、什么是进程? 在说进程前,需要了解一下操作系统cpu是如何来执行任务的。cpu在某一时刻只能执行一个任务,只是由于cpu执行任务的速度较快,来回切换不同的任务,才会给我们感觉像是同一时刻执行多个任务一样。而这里cpu执行的任务就是所说的进程,可以理解为cpu某 阅读全文
posted @ 2019-09-27 19:11 iveBoy 阅读(262) 评论(0) 推荐(0)
摘要:在python中通常有三种表示时间的方式: 时间戳(timestamp) 时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 格式化的时间字符串(Format String) 结构化的时间(struct_t 阅读全文
posted @ 2019-09-25 22:05 iveBoy 阅读(233) 评论(0) 推荐(0)
摘要:一、构造方法 构造方法用于初始化对象,当类被实例化时,首先就会调用构造方法,构造方法是特殊的方法,所以需要方法名需要在两侧加上"__",完整的构造方法应该是__init__。 当创建类实例时,构造方法开始执行。 二、重写普通方法与构造方法 在类的继承中,一个类继承另一个类,会继承它所有的成员,但是, 阅读全文
posted @ 2019-09-25 22:03 iveBoy 阅读(259) 评论(0) 推荐(0)
摘要:一、QuerySet中的切片 QuerySet是支持切片操作的,可以按需取出数据的个数: #所有数据 book_queryset = models.Book.objects.all() #取出索引为1-3的数据,实际索引范围1-2 book_queryset = models.Book.object 阅读全文
posted @ 2019-09-25 21:33 iveBoy 阅读(879) 评论(0) 推荐(0)
摘要:一、Form插件的使用 (一)widget参数 在date字段中使用了插件,参数是widget,可以从源码角度来看看是为什么? class DateField(BaseTemporalField): widget = DateInput input_formats = formats.get_for 阅读全文
posted @ 2019-09-23 22:17 iveBoy 阅读(592) 评论(0) 推荐(0)
摘要:一、model字段对象 (一)_meta _meta是django.db.models.options.Options的实例,获取字段对象可通过模型类来进行获取,而_meta可提供如下功能: 获取模型的所有字段实例 通过名称获取模型的单个字段实例 1、获取模型的单个字段实例 2、获取模型的所有字段实 阅读全文
posted @ 2019-09-23 14:19 iveBoy 阅读(668) 评论(0) 推荐(0)
摘要:一、ModelForm的使用 顾名思义,ModelForm就是将Model与Form进行绑定,Form有自动生成表单的作用,但是每一个forms字段需要自己手动填写,而Model就是数据库表包含了所有的数据字段。所以ModelForm有着以下功能: Form所有的功能 将Model字段自动转换成fo 阅读全文
posted @ 2019-09-22 17:31 iveBoy 阅读(3893) 评论(0) 推荐(1)
摘要:一、Form基础 (一)Form的作用 Django的Form主要有以下几大作用: 生成HTML标签 验证用户数据(显示错误信息) Form提交保留上次提交数据 初始化页面显示数据 (二)实例 一般网站都有登录页面,如果使用Form应该怎么做呢? 1、创建LoginForm类 2、views中进行实 阅读全文
posted @ 2019-09-20 14:47 iveBoy 阅读(967) 评论(0) 推荐(0)
摘要:一、模板渲染的原理 (一)使用 模板渲染首先有一个模板对象Template,然后有一个上下文对象Context,通过render方法进行渲染,最后返回字符串,render方法的本质还是调用了HttpResponse方法。 (二)源码的简单流程 1、Engine Engine类位于django.tem 阅读全文
posted @ 2019-09-19 10:32 iveBoy 阅读(3330) 评论(0) 推荐(0)

TOP