- 博客(6)
- 收藏
- 关注
原创 Python 使用threading+Queue实现线程池
一、线程池1、为什么需要使用线程池 1.1 创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率。 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3,如果T1+T3>T2,那说明开启一个线程来执 行这个任务太不划算了!在线程池缓存线程可用已有的闲置线程来执行新任务,避免了创建/销毁带来的系统开销。 ...
2018-03-15 16:26:42
6726
原创 详解Python编码格式
Python编码历史 由于Python创始人在开发初期的局限性选择了ASCII当做了默认编码,导致其无法支持其他的国家的开发者的语言,当后来大家对支持汉字、日文、泰文等语言的呼声越来越高时,Python于是准备引入unicode。但若直接把默认编码改成unicode的话是不现实的, 因为很多软件就是基于之前的默认编码ASCII开发的,改变编码后以前的程序的编码就都乱了,所以Pyth...
2018-03-02 08:41:54
1036
原创 使用MVC设计模式解耦pyqt程序(待完成)
pyqt程序解耦的必要性:1、python 是一种解释性语言,其运行速度较慢,而pyqt gui运行时只有一个线程,该线程需要完成界面显示与后台数据处理,因此会导致程序运行无比卡顿;2、 在面向过程的开发思想中,程序=数据结构+算法;在面向对象的开发思想中程序=对象+消息。经典的MVC设计模式中有数据层、业务逻辑层(包括数据加工与转发)、显示层,因此按照MVC的思想,将每...
2018-02-28 09:56:15
2295
原创 从Python的两种导入模块(from import和import)方式谈命名空间与作用域
在谈论python命名空间之前,首先介绍一个因为python命名空间引起的坑。 一、问题实例项目中使用pyqt编写gui,gui在处理文本文件时使用了10进制转16进制的hex函数代码片段:from PyQt4.QtCore import *print hex(10)期望的输出为0xa,但实际上运行的时候报错TypeError: hex(QTextStream): argument 1 h...
2018-02-07 15:43:43
4298
原创 Python 引用传递问题
a = [['hello world','','']] b = a[0] print b b[0] = b[0] + '123' a.append(b) print a以上属于引用传递,打印输出为[['hello world123','',''],['hello world123','','']]如果想不改变
2018-02-06 14:48:13
894
原创 Python ElementTree findall函数Bug
#import xml.etree.cElementTree as etree root.findall('country[last()]') # 最后一个country,实际上找到了所有的country from lxml import etreeroot.findall('country[last()]') # 实际上找到了最后
2018-02-02 16:54:42
2821
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人