Python进程专题7:托管对象

2018-09-02
阅读 5 分钟
6.3k
进程不支持共享对象,上面描述的创建共享值和数组,但都是指定的特殊类型,对高级的Python对象(如:字典、列表、用户自定义类的实例)不起作用。还好multiprocessing模块提供了一种使用共享对象的途径:单前提是这些对象运行在所谓的【管理器】的控制之下。 管理器是独立的子进程,其中存在真实的对象,并以服务器的形...

Python进程专题6:共享数据与同步

2018-09-02
阅读 3 分钟
7.6k
我们现在知道,进程之间彼此是孤立的,唯一通信的方式是队列或管道,但要让这两种方式完成进程间通信,底层离不开共享内容,这就是今天的主角:共享内存。

Python进程专题5:进程间通信

2018-09-02
阅读 6 分钟
7.3k
上一篇文章:Python进程专题4:进程池Pool下一篇文章:Python进程专题6:共享数据与同步 multiprocessing模块支持的进程间通信主要有两种:管道和队列。一般来说,发送较少的大对象比发送大量的小对象要好。 Queue队列 底层使用管道和锁,同时运行支持线程讲队列中的数据传输到底层管道中,来实习进程间通信。 语法: {...

Python进程专题4:进程池Pool

2018-09-02
阅读 7 分钟
12k
进程初始化时,会指定一个最大进程数量,当有新的请求需要创建进程时,如果此时进程池还没有到达设置的最大进程数,该进程池就会创建新的进程来处理该请求,并把该进程放到进程池中,如果进程池已经达到最大数量,请求就会等待,知道进程池中进程数量减少,才会新建进程来执行请求。

Python进程专题3:继承Process来创建进程

2018-09-02
阅读 1 分钟
10.5k
上一篇文章:Python进程专题2:multiprocessing创建进程下一篇文章:Python进程专题4:进程池Pool 实例: {代码...} 结果: {代码...}

Python进程专题2:multiprocessing创建进程

2018-09-02
阅读 3 分钟
7.2k
由于fork()无法对Windows使用,而python是跨平台的,显然需要一个新的跨平台替代品来代替它,那就是multiprocessing模块。

Python进程专题1:fork():创建子进程、getpid()、getppid()

2018-09-02
阅读 1 分钟
7.3k
该方法只能在unix/Linux/Mac上运行,windows不可以运行。程序执行到fork()时,操作系统会创建一个新进程(子进程),并把父进程的所有信息赋值到子进程中。 这个方法很特殊,会有两次返回,分别在子进程和父进程返回一次,子进程永远返回0,父进程返回进程的id. getpid():返回当前进程的id getppid():返回当前进程父进程...

Python进程专题总览篇

2018-09-02
阅读 1 分钟
5.2k
多进程就是同时进行多项任务,一个程序就可以看成是一个程序。每个进程都有自己的系统状态,包括内存、计数器、调用栈等。一个进程,通常是从上往下逐条语句执行,这对正常人来说都比较好理解,但是当遇到多进程时,虽然在每个进程内还是逐句执行,但是这个应用程序,体现出出来的就不是逐句执行了,这也是多进程、多线...

Python实用技法100篇--数据结构与算法--可迭代对象分解为单独的变量

2018-08-31
阅读 1 分钟
2.5k
地铁上的轻松读物,学python技法,每天都是那么简单。 1、需求🙀 现在有一个包含N个元素的元组或序列,现在想将它分解为N个单独的变量。 2、解决方案😸 在python中,任何序列、元组、可序列号对象,都可以通过一个简单的赋值操作来分解为单独的变量。 唯一要求是变量的总数和结构要和序列的相吻合。如果不吻合就会报错 实...

Python垃圾回收详解

2018-08-20
阅读 3 分钟
5.6k
高级语言一般都有垃圾回收机制,其中c、c++使用的是用户自己管维护内存的方式,这种方式比较自由,但如果回收不当也会引起垃内存泄露等问题。而python采用的是引用计数机制为主,标记-清理和分代收集两种机制为辅的策略。

私有化规则与属性Property

2018-08-20
阅读 2 分钟
3.7k
上一篇文章:Python装饰器:python真正入门的鉴定标准下一篇文章:Python垃圾回收详解 1、私有化 变量定义规则 变量形式 解读 xx 公有变量xx _xx 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类进可以访问。 __xx 双前置下划线,避免与子类中的属性命名冲突,无法再在外部直接访问。 ...

用python度过一个温馨的单身七夕节-安利篇

2018-08-17
阅读 6 分钟
6.6k
纽约时间比加州时间早三个小时,New York is 3 hours ahead of California但加州时间并没有变慢。but it does not make California slow. 有人22岁就毕业了,Someone graduated at the age of 22, 但等了五年才找到稳定的工作!but waited 5 years before securing a good job! 有人25岁就当上CEO,Someone became a CEO...

Python是动态语言:动态添加或删除属性、方法

2018-08-15
阅读 2 分钟
5.7k
Python是动态语言:动态编辑属性、动态编辑方法 上一篇文章:Python元类上一篇文章:Python装饰器:python真正入门的鉴定标准 1、运行过程中给对象绑定、删除属性 实例: {代码...} 结果: {代码...} 2、运行过程动态绑定方法、删除方法 {代码...} 运行结果: {代码...} 3、__slots__限制实例动态添加属性 仅仅对当前类...

Python元类

2018-08-15
阅读 4 分钟
3k
上一篇文章:Python==与is对比下一篇文章:Python是动态语言:动态编辑属性、动态编辑方法本篇内容只供了解,实际上99%的python程序员都用不到元类哟,不过你要想成为那1%,请随意享用,别客气😆 元类作用:拦截类的创建、修改类、返回修改之后的类

Python==与is对比

2018-08-14
阅读 1 分钟
3.3k
Python==与is对比 上一篇文章:Python浅拷贝与深拷贝下一篇文章:Python元类 本节内容很少,为啥要单拿一篇来讲呢,因为很容易理解误区。is用来比较是否引用同一个对象 ==表示两个对象是否相等 实例: {代码...} 结果: {代码...}

Python浅拷贝与深拷贝

2018-08-14
阅读 2 分钟
3.3k
Python浅拷贝与深拷贝 上一篇文章:Python文件夹处理下一篇文章:Python==与is对比 1、浅拷贝 浅拷贝:拷贝了引用,没有拷贝内容。 实例: {代码...} 结果: {代码...} 2、深拷贝 深拷贝:对于一个对象所有层次的拷贝(递归)。使用copy.deepcopy()完成深拷贝 实例: {代码...} 结果: {代码...} 3、cope.cope()对可变类...

Python文件夹处理

2018-08-13
阅读 1 分钟
3.4k
Python文件夹处理 上一篇文章:Python文件处理下一篇文章:Python浅拷贝与深拷贝 1、创建文件夹 {代码...} 2、获取当前目录 {代码...} 结果: {代码...} 3、获取目录列表 {代码...} 结果: {代码...} 4、修改默认路径(切换路径) {代码...} 结果: {代码...} 5、删除文件夹: {代码...} 运行结果: {代码...}

Python文件处理

2018-08-13
阅读 3 分钟
3.5k
Python文件处理 上一篇文章:Python异常处理下一篇文章:Python文件夹处理 1、文件的打开与关闭 打开语法:open(文件名,访问模式)关闭语法:close() 访问模式 解释 r 以只读方式打开,文件的指针将会放在文件的开头。这是默认方式。 w 打开一个文件,用于全新写入。如果文件以存在,将会覆盖,如果不存在,将会创建。 a ...

Python异常处理

2018-08-12
阅读 1 分钟
3.2k
Python异常 上一篇文章:Python设计模式下一篇文章:Python文件处理 1、异常捕捉 实例: {代码...} 结果: {代码...} 2、抛出自定义异常 可以用raise语句来引发异常。自定义的异常/错误对象必须是Error或Exception类的子类 实例: {代码...} 结果: {代码...}

Python设计模式

2018-08-12
阅读 1 分钟
3.6k
Python设计模式:持续更新中 上一篇文章:Python模块下一篇文章:Python异常处理 1、单例模式 实例: {代码...} 结果: {代码...}

Python模块

2018-08-12
阅读 3 分钟
3.5k
导入整个模块:import 模块名导入特定的函数:from 模块名 import 特定函数 使用as给函数重命名:from 模块名 import 特定函数 as 新名称 使用ad给模块冲命名 import 模块名 as 新名词 导入模块的所有函数:from 模块名 import *

Python类的定义与操作

2018-08-12
阅读 4 分钟
3.8k
Python类的定义与操作 上一篇文章:Python函数定义与使用下一篇文章:Python模块 1、定义类、创建对象、__init__ 实例: {代码...} 结果: {代码...} 2、__str__:定义类的描述 如果直接print(对象),会直接返回该对象在内存中的地址,现在我们想要不直接返回这个地址呢? 实例: {代码...} 结果: {代码...} 3、私有属性...

Python函数定义与使用

2018-08-12
阅读 2 分钟
3.2k
Python函数定义与调用 上一篇文章:Python常用运算符与常用内置函数下一篇文章:Python类的定义与操作 1、函数定义与调用 语法: {代码...} 实例: {代码...} 结果: {代码...} 2、函数的帮助文档 help(函数名称):返回对应函数的帮助文档。在函数定义中的首行,用“”添加的就是帮助文档。 实例: {代码...} 结果: {代码...

Python常用运算符与常用内置函数

2018-08-12
阅读 1 分钟
3.4k
Python常用运算符与常用内置函数 上一篇文章:python常用的的数据类型转换下一篇文章:Python函数定义与使用 1、运算符 运算符 实例 结果 描述 支持的数据类型 + [1,2]+[3,4] [1,2,3,4] 合并 字符串、列表、元组 * ['A']*4 ['A','A','A','A'] 肤复制 字符串、列表、元组 in 3 in (1,2,3) True 元素是否存在 字符串、列表...

Python常用数据类型转换

2018-08-12
阅读 1 分钟
3.6k
python常用的的数据类型转换 上一篇文章:Python字典处理下一篇文章:Python常用运算符与常用内置函数 转换函数 说明 实例 chr(x) 将整数x转换为字符 chr(65)结果为A ord(x) 将自负x转换为整数 ord(A)结果为65 int(x) 将x转换为整数 int("123")结果为整数123 long(x) 将x转换为长整型 float(x) 将x转换为浮点数 float("1...

Python字典处理

2018-08-12
阅读 2 分钟
3.8k
Python字典处理 上一篇文章:Python创建数值列表下一篇文章:Python常用数据类型转换 1、根据键访问值 普通访问 实例: {代码...} 结果: {代码...} get访问 上面普通访问方法,如果找不到对于键,就会报错,而get访问,找不到就返回None,并且还可以设置当找不到时的默认值 实例: {代码...} 结果: {代码...} 2、字典...

Python创建数值列表

2018-08-12
阅读 1 分钟
3.1k
Python创建数值列表 上一篇文章:Python列表处理下一篇文章:Python字典处理 1、range range()可以产生一些列数值语法:range(开始下标(包括),结束下标(不包括)[,步长]) 实例: {代码...} 结果: {代码...} 2、利用list()将range产生的数值转化为列表 实例: {代码...} 结果: {代码...} 3、列表解析:快速生成数值列表 ...

Python列表处理

2018-08-12
阅读 4 分钟
3.2k
Python列表处理 上一篇文章:python字符串处理下一篇文章:Python创建数值列表 0、切片操作。同字符串切片操作,这里不再赘述 1、获取列表长度:len 实例: {代码...} 控制台打印结果: {代码...} 2、列表的循环遍历 for循环 {代码...} 打印结果: {代码...} while循环 {代码...} 打印结果: {代码...} 3、添加元素:app...

python字符串处理

2018-08-11
阅读 5 分钟
3.2k
python字符串处理 上一篇文章:Python判断与循环语句下一篇文章:Python列表处理 1、修改字符串的大小写 方法 含义 title() 将每个单词首字母大写 upper() 将每个字母都大写 lower() 将每个字母都小写 capitalize() 将字符串首字母大写,其余字符小写 实例展示: {代码...} 控制台打印结果 {代码...} 不难看出:无论是上...

Python判断与循环语句

2018-08-11
阅读 1 分钟
3.2k
python判断与循环语句 上一篇文章:Python运算符、比较、逻辑运算符下一篇文章:python字符串处理 1、if、elif、else {代码...} 控制台打印结果: {代码...} 2、while循环 {代码...} 控制台打印结果: {代码...} 3、for循环 {代码...} 控制台打印结果: {代码...} 4、for else {代码...} 控制台打印结果: {代码...} 5、...