1、概览struct模块用于解决bytes和其他二进制数据类型的转换struct的pack函数把任意数据类型变成bytes:>>> import struct>>> struct.pack(‘>I‘, 10240099)b‘\x00\x9c@c‘pack的参数:第一个参数是处理指令:‘>I‘的意思是:>表示字节顺序是big-endian,也就是
分类:
编程语言 时间:
2018-05-16 19:38:27
阅读次数:
468
python的基础学习: 数据类型:python是弱类型语言,在定义变量的时候,可以不直接制定数据类型。 1、Numbers: int 有符号整型 a = (-1) a = 1 long 长整型 float 浮点型 complex 复数 2、boolean: True Flase 3、String ...
分类:
编程语言 时间:
2018-05-16 18:38:49
阅读次数:
210
redis是一个功能强大的内存数据结构存储,具有多种用途,包括数据库,缓存。 github上有人整理里一份很全面的redis学习文档。 1. redis特性 读写性能优异 持久化 数据类型丰富 单线程 数据自动过期 发布订阅 分布式 1.1 高性能适合当做缓存 缓存是Redis最常见的应用场景,之所 ...
分类:
其他好文 时间:
2018-05-16 18:32:20
阅读次数:
145
collections是Python内建的一个集合模块,提供了许多有用的集合类。1、namedtuplenamedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。>>> from collections import namedtuple>>> Point = name
分类:
编程语言 时间:
2018-05-16 18:31:16
阅读次数:
144
1、概览Unix/Linux操作系统提供了一个fork()系统调用。fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的ID。1.1、
分类:
编程语言 时间:
2018-05-16 17:26:45
阅读次数:
195
1、概览在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。Python的multiprocessing模块不但支持多进程,其中managers子模块还支持把多进程分布到多台机器上。依靠网络通信,一个服务进程可以作为调度者,将任务分布到其他多个进程中。由于managers
分类:
编程语言 时间:
2018-05-16 17:25:30
阅读次数:
213
1、概览datetime是Python处理日期和时间的标准库。获取当前日期和时间(datetime.now())>>> from datetime import datetime>>> now = datetime.now() # 获取当前datetime>>> print(now)2015-05-18 16:28:07.198690>&
分类:
编程语言 时间:
2018-05-16 17:24:41
阅读次数:
214
1、正则表\d匹配一个数字\w匹配一个字母或数字\s可以匹配一个空格(也包括Tab等空白符).匹配任意一个字符*表示重复前面的一个字符0次或多次(包括0个)例如:ab* will match ‘a’, ‘ab’, ‘abbbbb...’?表示0个或1个 字符{n}表示n个字符{n,m}表示n-m个字符\转义字符, \\ 表示对\本身转义[]表范围,如[0-9a-zA-Z][][]如[a-zA-Z\
分类:
编程语言 时间:
2018-05-16 17:23:40
阅读次数:
201
1、概览我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。如果用多线程实现Master
分类:
编程语言 时间:
2018-05-16 16:43:58
阅读次数:
192
1、概览在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。但线程的局部变量,在函数调用时很麻烦方式一:一层一层传def process_student(name):std = Student(name) # std是局部变量,但是每个函数都要用它,因此必须传进去:do_task_1(std
分类:
编程语言 时间:
2018-05-16 16:35:08
阅读次数:
239