08 2017 档案
摘要:1.什么是进程池: 进程池内部维护一个进程序列,当使用时,则去进程池中获取一个进程,如果进程池序列中没有可供使用的进进程,那么程序就会等待,直到进程池中有可用进程为止。 2.参数介绍: Pool(numprocess,initializer,initargs) 创建进程池
阅读全文
摘要:1.进程之间相互通信有几种实现方式。 multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的,推荐使用队列,因为管道也需要处理锁的问题。 2队列的主要方法 3.其他的方法(了解) . 4.代码实现: 代码效果:
阅读全文
摘要:1.为什么要加锁? 在多个进程共享同一个打印终端的前提下,这样是并发运行的,但是由于竞争同一个输出终端,所以会造成显示错乱,就是各个进程之间的执行结果交叉显示。 要解决上述问题可以采用加锁的处理方式。 2.加锁有什么问题? (1)加锁可以保证多个进程同时输出到终端或者修改数据的时候,同一时间只有一个
阅读全文
摘要:1.守护进程: (1)守护进程会在主进程结束的时候立马结束 (2)守护进程要设置在start之前 (3)守护进程能不能再开启子进程,否则会报错。(错误:AssertionError: daemonic processes are not allowed to have children) 代码例子:
阅读全文
摘要:1.其他方法 terminate 和 is_alive name 与pid
阅读全文
摘要:1.join 例如p.join(timeout),主进程等待p终止。主进程处于等待的状态,p是处于运行的状态。 timeout可以设置超时时间,比如:p.join(1) 主进程就会等待一秒,然后就执行。 注意:p.join只对start方式开启的进程有效,对run方式开启的进程无效。 代码: 运行结
阅读全文
摘要:1.开启进程的方法一 执行结果: 2.开启进程的第二种方法
阅读全文
摘要:1.在看进程之前了解一下操作系统 (2)并行:同时运行,只有具备多个cpu才能实现并行 单核下,可以利用多道技术,多个核,每个核也都可以利用多道技术(多道技术是针对单核而言的) 有四个核,六个任务,这样同一时间有四个任务被执行,假设分别被分配给了cpu1,cpu2,cpu3,cpu4, 一旦任务1遇
阅读全文
摘要:1.基于udp的套接字 (1)udp不会产生粘包现象 (2)udp是无链接的,先启动哪一端都不会报错。 (3)upd是无连接的,所以可以同时多个客户端跟服务端通信。 2.代码例子 服务端: 客户端:
阅读全文
摘要:1.socketserver的作用: 基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环 socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题) 2.代码实现: 这样就可以解决多个客户端并发同时执行任务。 服务端: 客户端:
阅读全文
摘要:1.了解socket之前先回顾一下osi网络七层协议 每层常见的物理设备有: 2.tcp建立链接的过程,三次握手,四次挥手。 具体每一层的具体作用,参考链接:http://www.cnblogs.com/linhaifeng/articles/5937962.html 进入正题 3.什么是socke
阅读全文
摘要:1.什么是异常 异常就是在程序运行时出现了错误,若是程序没有处理,则会抛出异常,程序也会终止。
阅读全文
摘要:1.什么时候用法析构方法。 在对象资源被释放的时候触发。 2.使用场景。 帮助清理资源,比如python解释器清理不掉的资源。 例子:
阅读全文
摘要:1.__str__的作用 打印对象的时候,将__str__中定义的内容返回出来。 例子:
阅读全文
摘要:1.什么是反射。 python面向对象中的反射--> 通过字符串的形式操作对象相关的属性。 2.具体用法
阅读全文
摘要:1.什么是静态属性property property是一种特殊的属性,访问它的时候会执行一段功能(函数)然后返回值。 在使用者直接要某个结果的时候,就需要用到了静态属性。 2.例子 计算BMI指数。
阅读全文
摘要:1.先看隐藏。 在python中用两个下划线开头的方式将属性隐藏起来。 注意:这种只是语法的变形,在读到有以__开的的函数时,会自动将名称变成 ”_类名__属性”这种格式,所以在函数外部是无法通过 __属性 找到这个属性的。 2.再来看封装 (1)封装数据属性: 隐藏属性不是目的,隐藏属性是为了直接
阅读全文
摘要:1.什么是接口 接口可以理解为自己给使用者来调用自己功能方法的入口。 2.为什么要用接口 (1).可以实现权限控制,比如可以通过接口做一下访问控制,可以允许或者拒绝调用者的一些操作。 (2).降低了使用者的使用难度,使用者只需要知道怎么调用即可,不需要知道里边的具体实现方法。 3.接口的例子 上述例
阅读全文
摘要:1.configparser模块介绍 configparser是用来读取配置文件的模块,配置文件格式为:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容。 a.conf的文件内容如下: 取值: 修改:
阅读全文
摘要:1.suproess模块。 可以执行系统命令,windows命令或者linux名 都可以。 os模块也可以执行系统命令。但是推荐使用suproess模块 2.具体用法: 3.模拟一个windows命令
阅读全文
摘要:1.hash是什么 hash是一种算法,支持openssl 库提供的所有算法,包括md5, sha1, sha224, sha256, sha384, sha512,使用非常简单、方便。md5经常用来做用户密码的存储。而sha1则经常用作数字签名。 2.md5的三个特点 (1).内容相同则hash运
阅读全文
摘要:1.面向对象编程跟面向过程对比 面向过程: 优点:复杂的问题流程化,进而简单化。 缺点:可扩展性差。 使用场景:linux系统管理脚本,linux内核等 面向对象: 优点:可扩展性强 缺点:编写难度大。 面向对象的程序设计只是用来解决程序扩展性的。需要结合相应场景使用。 2.类与对象 在现实世界中:
阅读全文
摘要:1,shelve根pickle用法类似 也是不支持跨平台。 用法 shelve模块比pickle模块简单,只有一个open函数 存取方式以字典的方式存,值可以是python所支持的数据类型
阅读全文
摘要:1.序列化 把对象(变量)从内存中变成可存储或传输的过程称之为序列化 2.序列化的好处 (1)持久保存状态 (2)跨平台数据交互 3.json支持跨平台,仅支持python部分序列化 JSON和Python内置的数据类型对应如下 4.json序列化的用法 5.pickle的用法 pickle跟jso
阅读全文
摘要:random是生成随机数函数,常见用法如下
阅读全文
摘要:1.python中的时间的表示方法有以下几种: (1)时间戳,通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的到当前时间的差。 time.time() 返回的就是时间戳格式。 (2)结构化时间(struct_time),就是标准的咱们指的 9个时间元素(年、月、日、时、分、
阅读全文
摘要:1.正则表达式 正则就是使用一些具有特殊含义的符号组合到一起,来描述字符串或字符的方法。 2.re模块的用法: (1)search #在字符串中匹配,并返回第一个匹配到的值。使用grop可以将值返回出来 (2)match #只会从字符串的开头匹配,有就返回如果没有则返回None。 (3)findal
阅读全文
摘要:#abs 求绝对值 print(abs(-1)) #all #判断函数内部的布尔值,如果都是Trun则返回true #空是True print(all([1,2,'a',None])) print(all([])) #bool值为假的情况:None,空,0,False #any #如果函数内部的布尔值任意有一个为True则返回True #空是False print(any([])) p...
阅读全文
摘要:1.匿名函数 匿名函数:(1).没有名字 (2).函数自带return 2.匿名函数应用场景
阅读全文
摘要:1.模块 模块的定义:一个模块是包含了Python定义和声明的文件,文件名,就是模块名字加上py 后缀 1.1. 模块在导入的时候做了些什么 为源文件(spam)创建新的名称空间,在spam中定义的函数和方法使用了global时,访问的就是这个名称空间。 在新创建的名称空间中执行模块中包含的代码 创
阅读全文

浙公网安备 33010602011771号