随笔分类 - python
摘要:线程同步 控制线程执行顺序 生产者与消费者 可以看下打印,是相对有序的 from queue import Queue # 队列类 import random import threading import time # 生产者线程 class Producer(threading.Thread):
阅读全文
摘要:线程互斥 该实例创建了3个线程t1、t2和t3同步执行,三个线程都访问全局变量data,并改变它的值。当第一个线程t1请求锁成功后,开始访问共享数据data,第二个线程t2和t3也开始请求锁,但是此时t1还没有释放锁,所以t2、t3处于等待状态,直到t1调用lock.release()释放锁,t3才
阅读全文
摘要:multiprocessing.dummy.Pool import time from multiprocessing.dummy import Pool def run(fn): time.sleep(2) print(fn) if __name__=="__main__": testFL=[1,
阅读全文
摘要:python的GIL导致python的并发不同于java,原因不说,下面直接说解决方案 concurrent.futures库提供了一个 ProcessPoolExecutor 类, 可被用来在一个单独的Python解释器中使用多核cpu执行计算密集型函数 threading库 对I/O密集型接口做
阅读全文
摘要:安装virtualenv pip install virtualenv 安装虚拟环境管理工具 pip install virtualenvwrapper pip install virtualenvwrapper-win #windows环境下使用 创建目录用来存放虚拟环境 mkdir $HOME/
阅读全文
摘要:本章内容: 1.构建python3及pip3开发环境 2.yum相关(替换源,误删yum恢复方案) 查看Python的位置 [root@centos bin]# whereis python python2: /usr/bin/python2 /usr/bin/python2.7 /usr/lib/
阅读全文
摘要:# @Time : '2021-1-11 20:35' # @Author : 'pc.kang' """ 使用前请把主键放在A1列并排序,保持两份文件顺序完全一致 代码遍历源文件的每一行,然后遍历每行的所有单元格去和目标文件相同位置的值作比较, 如果两边不一致,则在源文件把不一致的单元格填充背景色
阅读全文
摘要:不可变对象:该对象所指向的内存中的值不能被改变,修改对象的值时,由于其指向的值不能被改变,因此实际上是在内存中重新开辟一个地址用来存储新的值,然后将对象指向这个新值。本质上是两个对象,赋值前后对象id发生了变化。python中的不可变对象包括:bool、int、str、float、tuple、fro
阅读全文
摘要:mock demo 目录结构 用到的库: unittest:单测框架 mock:从python3.3以后,mock已经集成到unittest 断言知识点: 断言结果:如果成功返回None,如果失败,返回失败信息 依赖的外部支付接口 __author__ = 'kangpc' __date__ = '
阅读全文
摘要:简介 环境 实操演示 pyinstaller使用注意的点 使用pyinstaller 实现python脚本打包成exe程序 1. 简介 将python程序打包成exe可执行程序的办法很多,如pyinstaller、py2exe、cx_Freeze等,这里介绍pyinstaller方法 2. 环境 w
阅读全文
摘要:''' 1.实现__new__方法 2.并将一个类的实例绑定到类变量_instance上 3.如果cls._instance为None说明该类还没有实例化过,实例化该类,并返回 4.如果cls._instance不为None,直接返回cls._instance 5.super(Singleton,
阅读全文
摘要:进入不同语言版本的Python交互环境 py -2 py -3 pip 命令的执行 : py -2 -m pip install xxxx py -3 -m pip install nose 执行python文件 py -2 a.py py -3 a.py py2: print "hello" py
阅读全文