—super—

博客园 首页 新随笔 联系 订阅 管理

08 2017 档案

摘要:concurrent.futures 异步执行进程线程池的模块,一个抽象类,定义submit,map,shutdown方法 from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor import time,os,ran 阅读全文
posted @ 2017-08-31 15:22 —super— 阅读(487) 评论(0) 推荐(0)

摘要:锁通常被用来实现对共享资源的同步访问。为每一个共享资源创建一个Lock对象,当你需要访问该资源时,调用acquire方法来获取锁对象(如果其它线程已经获得了该锁,则当前线程需等待其被释放),待资源访问完后,再调用release方法释放锁 GIL锁与互斥锁 #不加锁:并发执行,速度快,数据不安全 fr 阅读全文
posted @ 2017-08-30 14:58 —super— 阅读(588) 评论(0) 推荐(0)

摘要:为何要用多线程 多线程指的是,在一个进程中开启多个线程,简单的讲:如果多个任务共用一块地址空间,那么必须在一个进程内开启多个线程。详细的讲分为4点: 1. 多线程共享一个进程的地址空间 2. 线程比进程更轻量级,线程比进程更容易创建可撤销,在许多操作系统中,创建一个线程比创建一个进程要快10-100 阅读全文
posted @ 2017-08-29 15:03 —super— 阅读(192) 评论(0) 推荐(0)

摘要:Manager from multiprocessing import Process,Lock,Manager def a(dic,mutex): with mutex: dic['count']-=1 if __name__ == '__main__': mutex = Lock() p_l = 阅读全文
posted @ 2017-08-28 15:30 —super— 阅读(304) 评论(0) 推荐(0)

摘要:进程同步(锁) #多进程共享一个打印终端(用python2测试看两个进程同时往一个终端打印,出现打印到一行的错误) from multiprocessing import Process import time class Logger(Process): def __init__(self): s 阅读全文
posted @ 2017-08-25 15:10 —super— 阅读(169) 评论(0) 推荐(0)

摘要:进程 什么是进程 进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 进程与程序的区别 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程。 并发与并行 无论是并行还是并发,在用户看来都是'同时'运行的,不管是进程还是线程,都只是一个任务而已,真是干活的是cpu,cpu来做这些任务 阅读全文
posted @ 2017-08-24 16:45 —super— 阅读(4790) 评论(0) 推荐(0)

摘要:基于UDP的套接字 udp是无链接的,先启动哪一端都不会报错 udp服务端 udp客户端 qq聊天(由于udp无连接,所以可以同时多个客户端去跟服务端通信) import socket ip_port=('127.0.0.1',8081) udp_server_sock=socket.socket( 阅读全文
posted @ 2017-08-23 15:20 —super— 阅读(177) 评论(0) 推荐(0)

摘要:import socket import hashlib import subprocess import struct phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.setsockopt(socket.SOL_SOCK 阅读全文
posted @ 2017-08-22 15:23 —super— 阅读(139) 评论(0) 推荐(0)

摘要:c/s架构:客户端/服务器架构 C/S架构与socket的关系: 我们学习socket就是为了完成C/S架构的开发 为何学习socket一定要先学习互联网协议: 1.首先:本节课程的目标就是教会你如何基于socket编程,来开发一款自己的C/S架构软件 2.其次:C/S架构的软件(软件属于应用层)是 阅读全文
posted @ 2017-08-21 16:39 —super— 阅读(160) 评论(0) 推荐(0)

摘要:logging模块 函数式简单配置 logging.basicConfig()函数中可通过具体参数来更改logging模块默认行为,可用参数有: filename:用指定的文件名创建FiledHandler,这样日志会被存储在指定的文件中。 filemode:文件打开方式,在指定了filename时 阅读全文
posted @ 2017-08-18 15:52 —super— 阅读(108) 评论(0) 推荐(0)

摘要:常见异常 在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误 ArithmeticError AssertionError AttributeError BaseException BufferError By 阅读全文
posted @ 2017-08-17 15:12 —super— 阅读(149) 评论(0) 推荐(0)

摘要:算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘 阅读全文
posted @ 2017-08-17 15:02 —super— 阅读(127) 评论(0) 推荐(0)

摘要:isinstance和issubclass isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 反射 1 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问 阅读全文
posted @ 2017-08-16 15:56 —super— 阅读(279) 评论(0) 推荐(0)

摘要:封装 【封装】 隐藏对象的属性和实现细节,仅对外提供公共访问方式。 【好处】 1. 将变化隔离; 2. 便于使用; 3. 提高复用性; 4. 提高安全性; 【封装原则】 1. 将不需要对外提供的内容都隐藏起来; 2. 把属性都隐藏,提供公共方法对其访问。 私有变量和私有方法 在python中用双下划 阅读全文
posted @ 2017-08-15 15:33 —super— 阅读(246) 评论(0) 推荐(0)

摘要:接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 接口主要是java等语言中的概念,python中并没 阅读全文
posted @ 2017-08-14 15:11 —super— 阅读(258) 评论(0) 推荐(0)

摘要:面向对象的组合用法 软件重用的重要方式除了继承之外还有另外一种方式,即:组合 组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合 圆环是由两个圆组成的,圆环的面积是外面圆的面积减去内部圆的面积。圆环的周长是内部圆的周长加上外部圆的周长。这个时候,我们就首先实现一个圆形类,计算一个圆的 阅读全文
posted @ 2017-08-14 13:16 —super— 阅读(190) 评论(0) 推荐(0)

摘要:面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身。 应用场景: 阅读全文
posted @ 2017-08-10 15:14 —super— 阅读(220) 评论(0) 推荐(0)

摘要:导入模块几种方式 import my_module 在一行导入多个模块 from ... import... 也支持as 也支持导入多行 在my_moudle.py中新增一行 import time,importlib import aa time.sleep(20) # importlib.rel 阅读全文
posted @ 2017-08-09 15:26 —super— 阅读(171) 评论(0) 推荐(0)

摘要:什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。 序列化的目的 1、以某种存储形式使自定义对象持久化; 2、将对象从一个地方传递到另一个地方。 3、使程序更具维护性。 Json模块 Json模块提供了四个功能:dumps、dump、loads、load import js 阅读全文
posted @ 2017-08-08 15:21 —super— 阅读(221) 评论(0) 推荐(0)

摘要:时间模块 在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是flo 阅读全文
posted @ 2017-08-08 15:14 —super— 阅读(249) 评论(0) 推荐(0)

摘要:re模块下的常用方法 import re ret = re.findall('a', 'eva egon yuan') # 返回所有满足匹配条件的结果,放在列表里 print(ret) #结果 : ['a', 'a'] ret = re.search('a', 'eva egon yuan').gr 阅读全文
posted @ 2017-08-07 15:06 —super— 阅读(303) 评论(0) 推荐(0)

摘要:字典推导式 例一:将一个字典的key和value对调 mcase = {'a': 10, 'b': 34} mcase_frequency = {mcase[k]: k for k in mcase} print(mcase_frequency) 例二:合并大小写对应的value值,将k统一成小写 阅读全文
posted @ 2017-08-03 13:18 —super— 阅读(139) 评论(0) 推荐(0)

摘要:列表推导式 [i for i in range(5)] #相当于 l=[] for i in range(5): l.append(i) 生成器表达式 列表推导式 [ ] 变成() 做成了一个生成器,可以用next()方法取出 g = (i for i in range(5)) print(next 阅读全文
posted @ 2017-08-02 15:07 —super— 阅读(148) 评论(0) 推荐(0)

摘要:迭代器的应用: 1。提供了一种不依赖索引的统一的迭代方法 2. 惰性计算,比如取文件的每一行 def aveage(): total = 0 day = 0 ave = 0 while 1: ave_num = yield ave total+=ave_num day+=1 ave = total/ 阅读全文
posted @ 2017-08-02 14:58 —super— 阅读(253) 评论(0) 推荐(0)

摘要:https://www.processon.com/view/link/597fcacfe4b08ea3e2454ece?pw=oKfy 阅读全文
posted @ 2017-08-01 14:24 —super— 阅读(147) 评论(0) 推荐(0)