08 2017 档案
摘要:异步执行比同步执行根据任务量可以快数倍乃至n倍
阅读全文
摘要:1 from concurrent.futures import ProcessPoolExecutor 2 import os,time,random 3 def task(n): 4 print('%s is running'%os.getpid()) 5 time.sleep(random.r
阅读全文
摘要:1 import queue 2 q = queue.Queue() #模拟队列,先进先出 3 q.put('first') 4 q.put('second') 5 q.put('third') 6 7 print(q.get()) 8 print(q.get()) 9 print(q.get())
阅读全文
摘要:from threading import Thread,Event,currentThread import time e = Event() def conn_mysql(): count = 1 while e.is_set(): #没收到信号执行 if count>3: #超过三次,弹出错误 raise Connectio...
阅读全文
摘要:1 from multiprocessing import Process 2 from threading import Thread 3 import threading 4 import os,time 5 def work(): 6 time.sleep(2) 7 print(' >') 8
阅读全文
摘要:在一个进程字儿开启多个线程与开启多个进程的区别 线程与进程的区别 线程中所有的数据共享 守护线程与守护进程的异同: 主线程会等到所有非守护线程结束,才销毁守护线程 主进程的代码运行完毕,就会销毁守护进程,然后等非守护进程运行完毕,主进程结束。 1 from threading import Thre
阅读全文
摘要:from multiprocessing import Process,Lock import os,time def walk(mutex): mutex.acquire() #为了防止偷看,记得上锁 print('task[%s] 洗澡'%os.getpid()) time.sleep(2) print('task[%s] 洗完澡'%os....
阅读全文
摘要:from multiprocessing import Process,Lock import json,time,random,os def piao(mutex): mutex.acquire() #作用:按顺序购票,不会插队 dic = json.load(open('db.txt')) #读取,查看车票总数 if dic['count'] > 0: ...
阅读全文
摘要:Python并发编程_多进程 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing。 mul
阅读全文
摘要:进程:正在进行的一个过程或者说一个任务,而负责执行任务的则是cpu (单核+多道,实现多个进程的并发执行) 进程与程序的区别:程序只是一堆代码,进程则是程序的运行过程 并发与并行: 1、并发:是伪并行,看起来同时进行,(单个CPU+多道技术也可以实现,并行属于并发) 奉上一个经典的例子↑ 2、并行:
阅读全文
摘要:# !/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/8/22 16:14 # @Author : Mr_zhang # @Site : # @File : server.py # @Software: PyCharm from socket import * import subprocess impo...
阅读全文
摘要:#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/8/23 15:33 # @Author : Mr_zhang # @Site : # @File : 服务端.py # @Software: PyCharm from socket import * import subprocess,struct,...
阅读全文
摘要:为什么要学习socket? 我们学习这个东东就是为了完成C/S架构的开发 (C:指的是客户端;S:指的是服务端) 服务端就是提供服务的一端 ,而客户端听名字就知道指的是用户使用的一端 学习socket一定要先学习互联网协议: c/s架构的软甲(应用层)是基于网络通信的 >网络的核心是一堆协议,协议既
阅读全文
摘要:函数式的简单配置 在默认情况下Python的logging模块已经将日志打印到了标准输出中,而且只有大于WARNING级别的日志才会被显示(日志等级为CRITICAL>ERROR>WARNING>DEBUG;)默认的格式日志级别:logger名称:用户输出信息 配置日志级别,日志格式,输出位置 配置
阅读全文
摘要:该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。 创建文件 来看一个好多软件的常见文档格式如下: 如果想用python生成一个这样的文档怎么做呢? 查找文件 增删改操作
阅读全文
摘要:算法介绍: Python的hashlib提供了常见的摘要算法;MD5,SHA()等。 摘要算法,又称哈希算法,散列算法。通过一个函数,吧任意长度的字符串转换为固定长度的字符串(16进制) 摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,母的就是为了防止原始数据
阅读全文
摘要:什么是异常? 异常发生之后在他后面的代码就不执行了。 为什么要进行异常处理? 不处理你的程序还怎么运行? 异常处理的方法: 1,使用if判断语句 1 num1=input('>>: ') #输入一个字符串试试 2 int(num1) 1 num1=input('>>: ') #输入一个字符串试试 2
阅读全文
摘要:__str__和__repr__ 改变对象的字符串显示__str__,__repr__ 自定义格式化字符串__format__ __del__:对象实例化之后回收实例化,节省内存
阅读全文
摘要:setattr:delattr:getattr:hasattr
阅读全文
摘要:特性(property): 作为装饰器使用,调用方式从最初的方法调用改变为属性调用 类方法(classmethod):和类进行交互,单不和实例进行交互 在函数中可以不用上传参数 静态方法(staticmethod):有一些和类相关函数,但不要使用该类或者该类的实例;比如更改环境变量或者修改其他类的属性等。 类方法和静态方法不需要实例化就可以调用类的方法(既不需要实例化) ...
阅读全文
摘要:继承:继承是一种创建新类的方式,在Python中,新建的类可以继承一个或者多个父类,父类又可以称为基类或者超类,新建的类称为派生类或者子类。 类的继承分为单继承和多继承: 继承与重用性: 派生:在继承的基础上子类也可以添加自己新的属性(不会影响到父类)。 抽象类与接口类: 接口类: 钻石继承: 多态
阅读全文
摘要:因为在开发过程中读代码多余写代码,所以保持代码的一致性很重要,,下边就看看都有哪些代码规范 一、代码布局 二、字符串引用 三、表达式和语句中的空格 四、注释 五、版本标签 六、命名规定 七、一些建议
阅读全文
摘要:模块 import 一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名字加上.py的后缀 模块的使用:假如自定义一个模块my_moudle.py,文件名my_moudle.py,模块名my_moudle 1 #my_moudle.py 2 print('from the my_mo
阅读全文
摘要:1 可以把list,tuple,dict和string相互转化。 2 ################################################# 3 字符串转换成列表 4 >>>a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" 5 >>>type(a) 6 7 >>> b = eval(a) 8 >>> print b ...
阅读全文
摘要:时间模块 1 def v_code(): 2 code = '' 3 for i in range(8): #产生8个字符 4 num = random.randint(0,9) #num取0-9的数字,头尾都顾 5 alf = chr(random.randint(65,90)) 6 alp =
阅读全文
摘要:总结 而不用多此一举的先构造一个列表: 小结 使用生成器的优点: 1.延迟计算,一次返回一个结果。也就是说,它不会一次生成所有的结果,这对于大数据量处理,将会非常有用。 2.提高代码可读性
阅读全文