随笔分类 -  python

摘要:一.视图 视图是一个虚拟表(非真实存在的),其本质时[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称] 即可获取结果集,可以将该结果集当作表来使用。 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图 阅读全文
posted @ 2019-08-23 20:23 s686编程传 阅读(178) 评论(0) 推荐(0) 编辑
摘要:协程 (单线程下实现并发) 进程:资源单位 线程:执行单位 协程:单线程下实现并发 并发:切换+保存状态 程序员自己通过代码自己检测程序中的IO 一旦遇到了IO自己通过代码切换 给操作系统的感觉就是你这个线程没有任何的IO 从而提升代码的运行效率 切换+保存状态一定能够提升效率吗? 1.当任务是IO 阅读全文
posted @ 2019-08-16 12:00 s686编程传 阅读(135) 评论(0) 推荐(0) 编辑
摘要:一.为什么引入池的概念,什么是池 池 受限于硬件的发展,硬件跟不上软件的发展 在保证计算机硬件安全的情况下,最大限度的利用了计算机 池其实是降低了程序的运行效率,但是保证了计算机硬件的安全 我们再使用进程和线程时,不可能无限制的去开进程或线程。因此我们需要用到进程池,线程池来解决这一问题。 二.Py 阅读全文
posted @ 2019-08-16 10:43 s686编程传 阅读(182) 评论(0) 推荐(0) 编辑
摘要:一、什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。 多线程(即多个控制线程)的概念是,在一个进程中存在多个控制线程,多个控制线程 阅读全文
posted @ 2019-08-15 12:00 s686编程传 阅读(94) 评论(0) 推荐(0) 编辑
摘要:一. TCP server端通过线程实现并发 server端 二.GIL全局解释器锁 是CPython中的解释器锁 通过一个例子了解GIL锁的存在 在这种情况下 执行结果是99 因为这里有time.sleep(3) 这是IO操作,会阻塞,在此处线程会释放GIL锁,等待下一个线程来抢,因此直到最后一个 阅读全文
posted @ 2019-08-15 11:44 s686编程传 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一.进程间通信 1.进程间通信之队列:先进先出 2.进程间通信IPC机制 3.生产者与消费者模型**** 生产者:生产制造数据的 消费者:消费处理数据的 下面举个做包子与买包子的例子: 二.线程 1.什么是线程? 进程线程其实都是虚拟单位,都是用来帮助我们形象的描述具体事物 进程:资源单位 线程:执 阅读全文
posted @ 2019-08-13 13:52 s686编程传 阅读(135) 评论(0) 推荐(0) 编辑
摘要:一.计算机发展史 多道技术 1.空间上的复用:多个程序共用一套计算机硬件 2.时间上的复用 切换+保存状态 1.当一个程序遇到IO操作 操作系统会剥夺该程序的CPU执行权限(提高了CPU的利用率) 2.当一个程序长时间占用CPU,操作系统也会剥夺其执行权限(降低了程序的执行效率) 二.进程的理论 程 阅读全文
posted @ 2019-08-09 21:48 s686编程传 阅读(175) 评论(0) 推荐(0) 编辑
摘要:一.大文件的上传下载 server端 client端 二.UDP通信 特点:1.数据宝协议(自带报头) 2.没有双向通道啊 通信类似于发短信 好处:1.udp协议客户端允许发空 2.udp协议不会粘包 3.udp协议服务端不存在的情况下,客户端照样不会报错 4.udp协议支持并发 UDP的基本使用 阅读全文
posted @ 2019-08-08 22:22 s686编程传 阅读(152) 评论(0) 推荐(0) 编辑
摘要:一.socket(套接字) 1.基于TCP协议的socket通信 sever端 client端 2.标准通信循环 server端 client端 3.粘包问题 server端 client端 粘包造成的原因: 粘包现象只发生在tcp协议中: 1.从表面看,粘包问题主要是因为发送方和接收方的缓存机制, 阅读全文
posted @ 2019-08-07 16:19 s686编程传 阅读(135) 评论(0) 推荐(0) 编辑
摘要:一.软件开发架构 1.c/s架构(client/server) c:客户端 s:服务器 2.b/s架构(browser/server) b:浏览器 s:服务器 ps:b/s架构的本质也是c/s架构 二.OSI协议 计算机与计算机之间实现远程通信需要有一套公共的标准/协议协议 1.OSI协议 OSI七 阅读全文
posted @ 2019-08-06 18:47 s686编程传 阅读(196) 评论(0) 推荐(0) 编辑
摘要:一.反射 1.什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问,检测和修改它本身状态或行为的一种能能力(自省)。 2.python中的反射 反射是所有面向对象编程语言都具备的功能 python中通过一下四个函数来实现反射 3.为什么需要反射 一个类在定义的时候,可能一 阅读全文
posted @ 2019-07-30 16:52 s686编程传 阅读(152) 评论(0) 推荐(0) 编辑
摘要:一.多态 1.什么是多态? 多态是一种事物具备多种不同的形态 官方解释:多个不同类对象可以响应同一个方法,产生不同的结果 2.多态的好处: 对于使用者而言,大大的降低了使用难度 3.怎么实现多态: python中处处都是多态,例如:接口,抽象类,鸭子类型,都可以写出具备多态的代码,其中最简单的就是鸭 阅读全文
posted @ 2019-07-29 16:34 s686编程传 阅读(157) 评论(0) 推荐(0) 编辑
摘要:一.什么是封装 封装就是将复杂的丑陋的,隐私的细节隐藏到内部,对外提供简单的使用接口 对外隐藏内部实现细节,并提供访问的接口 二.为什么需要封装 1.为了保证关键数据的安全性 2.对外部隐藏实现细节,隔离复杂度 三.什么时候应该封装 1.当有一些数据不希望外界可以直接修改时, 2.当有一些函数不希望 阅读全文
posted @ 2019-07-26 15:05 s686编程传 阅读(189) 评论(0) 推荐(0) 编辑
摘要:一.什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或者超类,新建的类又被成为派生类或子类 python中类的继承分为:单继承和多继承 查看继承的方法 如果没有指定基类,默认继承的是object类 二.继承与抽象(先抽象再继承) 抽象就是抽取类 阅读全文
posted @ 2019-07-25 11:18 s686编程传 阅读(155) 评论(0) 推荐(0) 编辑
摘要:一.什么是面向对象(***) 面向对象是一种编程思想,能够指导程序员如何编写出更好的程序,核心是对象,程序就是一系列对象的集合,程序负责调度控制这些对象来交互着完成任务 1.面向对象的优点与缺点 优点: 1.扩展性好 2.灵活性高 3.复用性好 缺点: 1.程序的复杂度高 2.无法准确预知结果 2. 阅读全文
posted @ 2019-07-24 17:14 s686编程传 阅读(115) 评论(0) 推荐(0) 编辑
摘要:一.包 包是一系列模块文件的结合体,表示形式就是一个文件夹。这个文件夹的内部通常会有一个__init__.py文件,包的本质还是一个模块。 首次导入包: 先产生一个执行文件的名称空间 1.创建包下面的__init__.py文件的名称空间 2.执行包下面的__init__.py文件中的代码,将产生的名 阅读全文
posted @ 2019-07-19 23:02 s686编程传 阅读(154) 评论(0) 推荐(0) 编辑
摘要:一.colleciton模块 在内置数据类型(dic,list,set,tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter,deque,defaultdict,namedtuple和OrderedDict等 1.namedtuple:生成可以使用名字来访问元素 阅读全文
posted @ 2019-07-18 17:09 s686编程传 阅读(195) 评论(0) 推荐(0) 编辑
摘要:一.正则表达式 二.re模块 注意: 1 findall的优先级查询: 2 split的优先级查询 阅读全文
posted @ 2019-07-17 15:38 s686编程传 阅读(177) 评论(0) 推荐(0) 编辑
摘要:一.模块的定义与分类 1.模块是什么?模块就是一系列功能的结合体 2.为什么要使用模块? 从文件级别组织程序,更方便管理,随着程序的发展,功能越来越多,为了方便管理 拿来主义,提升开发效率 一定要区分哪个是执行文件,哪个是被导入文件(************) 3.模块的分类 python语言中,模 阅读全文
posted @ 2019-07-16 16:34 s686编程传 阅读(195) 评论(0) 推荐(0) 编辑
摘要:一.迭代器 1.什么是迭代器? 迭代取值的工具 2.为什么要用迭代器? 在不利用for循环取值的情况下,我们分别对 字符串,列表,字典,元组,集合进行取值。我们发现字典和集合无法取值,因为他们俩都是无序的,不能利用索引取值,所以这时候我们就用到了迭代器。 迭代器给我们提供了一种不依赖索引取值的方式 阅读全文
posted @ 2019-07-15 16:33 s686编程传 阅读(150) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示