python
老司儿
这个作者很懒,什么都没留下…
展开
-
python垃圾回收机制
https://www.jianshu.com/p/b0bc1a162933转载 2020-07-02 00:39:57 · 194 阅读 · 0 评论 -
Python多线程和多进程谁更快?
python多进程和多线程谁更快python3.6threading和multiprocessing四核+三星250G-850-SSD自从用多进程和多线程进行编程,一致没搞懂到底谁更快。网上很多都说python多进程更快,因为GIL(全局解释器锁)。但是我在写代码的时候,测试时间却是多线程更快,所以这到底是怎么回事?最近再做分词工作,原来的代码速度太慢,想提速,所以来探求一下有效方法(文末有代码和...原创 2018-06-10 14:06:41 · 770 阅读 · 0 评论 -
Python之List中remove,pop,del区别分析
代码块remove#remove删除首个符合条件的元素,并不删除特定的索引。**n =[1,2,2,3,4,5]n.remove(3)print (n)**#输出 [1, 2, 2, 4, 5]123456pop#pop按照索引删除字符,返回值可以付给其他的变量,返回的是你弹出的那个数值。n =[1,2,2,3,4,5]a=n.pop(4)print (a)print (n)...原创 2018-06-08 16:30:15 · 6303 阅读 · 2 评论 -
python多线程和多进程
1 概念梳理:1.1 线程1.1.1 什么是线程线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。一个线程是一个execution context(执行上下文),即一个cpu执行时所需要的一串指令。1.1.2 线程的工作方式假设你正在读一本书,没有读完,你想休息一下...原创 2018-06-05 17:25:55 · 314 阅读 · 0 评论 -
完全理解 Python 迭代对象、迭代器、生成器
在了解Python的数据结构时,容器(container)、可迭代对象(iterable)、迭代器(iterator)、生成器(generator)、列表/集合/字典推导式(list,set,dict comprehension)众多概念参杂在一起,难免让初学者一头雾水,我将用一篇文章试图将这些概念以及它们之间的关系捋清楚。容器(container)容器是一种把多个元素组织在一起的数据结构,容器中...转载 2018-05-07 23:22:38 · 129 阅读 · 0 评论 -
Python中赋值、浅拷贝与深拷贝
python中关于对象复制有三种类型的使用方式,赋值、浅拷贝与深拷贝。他们既有区别又有联系,刚好最近碰到这一类的问题,研究下。一、赋值 在python中,对象的赋值就是简单的对象引用,这点和C++不同。如下: list_a = [1,2,3,"hello",["python","C++"]]list_b = list_a 这种情况下,list_b和list...转载 2018-05-04 14:48:42 · 153 阅读 · 0 评论 -
Python面向对象静态方法,类方法,属性方法
Python面向对象静态方法,类方法,属性方法属性: 公有属性 (属于类,每个类一份) 普通属性 (属于对象,每个对象一份) 私有属性 (属于对象,跟普通属性相似,只是不能通过对象直接访问) 方法:(按作用) 构造方法 析构函数方法:(按类型) 普通方法 私有方法(方法前面加两个下划线) 静态方法 类方法 属性方法静态方法@staticmethod静态方法,通过类直接...原创 2018-04-26 01:07:28 · 306 阅读 · 0 评论 -
Python装饰器的来龙去脉
以前你有没有这样一段经历:很久之前你写过一个函数,现在你突然有了个想法就是你想看看,以前那个函数在你数据集上的运行时间是多少,这时候你可以修改之前代码为它加上计时的功能,但是这样的话是不是还要大体读读你之前的这个的代码,稍微搞清楚一点它的逻辑,才敢给它添加新的东西。这样是不是很繁琐,要是你之前写的代码足够乱足够长,再去读它是不是很抓狂...。实际工作中,我们常常会遇到这样的场景,可能你的需求还不只...原创 2018-04-26 00:14:11 · 173 阅读 · 0 评论 -
linux安装python2.7.14
centos 7 安装最新的Python 2.7.14 1. 准备工作 sudo yum groupinstall "Development tools" sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-dev 2 ....原创 2018-08-15 15:02:18 · 1371 阅读 · 0 评论 -
python中安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))
安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError解决办法:1.访问外网受限pip install selectivesearch -i http://pypi.douban....原创 2018-08-09 12:47:24 · 3543 阅读 · 0 评论 -
pdb调试
遇到大型python项目,如何定位问题和监控程序的运行状态是一个程序员必须掌握的技能,今天小编为你带来python程序的单步调试方法,方便易用,简单易记!一、代码中使用pdb首先你需要在所调试程序的开头中:import pdb 并在你的代码行设置断点:pdb.set_trace()def get_input(Data, SuiteID, CaseID, caseinfolist):...原创 2018-08-13 17:21:27 · 1832 阅读 · 0 评论 -
python 下划线_、__和__xx__的区别
本文为译文,版权属于原作者,在此翻译为中文分享给大家。英文原文地址:Difference between _, __ and __xx__ in Python"_"单下划线Python中不存在真正的私有方法。为了实现类似于c++中私有方法,可以在类的方法或属性前加一个“_”单下划线,意味着该方法或属性不应该去调用,它并不属于API。在使用property时,经常出现这个问题:...翻译 2019-05-07 13:51:45 · 314 阅读 · 0 评论 -
python logging日志模块以及多进程日志
https://www.jianshu.com/p/d615bf01e37bhttps://blog.csdn.net/yypsober/article/details/51800120ConcurrentLogHandler多进程安全写按大小分割https://www.cnblogs.com/restran/p/4743840.htmlhttps://pypi.org/pr...原创 2019-01-14 00:59:06 · 1768 阅读 · 0 评论 -
python 缓存装饰器
1、使用python内存进行缓存autocache.py #!/usr/bin/env python#coding=utf-8 '''装饰器版的python自动缓存系统''' import timeimport hashlibimport picklefrom functools import wraps _cache = {} def _is_obsolete(...原创 2018-12-25 17:16:59 · 1024 阅读 · 0 评论 -
使用python-cassandra遇到的一个问题
https://blog.csdn.net/github_35817521/article/details/53621742转载 2018-12-24 17:32:43 · 195 阅读 · 0 评论 -
python-map的用法
map()函数map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。1、当seq只有一个时,将函数func作用于这个seq的每个元素上,并得到一个新的seq。 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]如果希望把list的每个元素都作...原创 2018-12-18 00:12:49 · 246 阅读 · 0 评论 -
python高性能编程方法
毫无疑问Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Python服务于每小时4千万视频的请求. 你所要做的就是编写高效的代码和需要时使用外部实现(C/C++)代码. 这里有一些建议,可以帮助你成为一个更好的Python开发者:使用内建函数: 你可以用Python写出高效的代码,但很难击败内建函数. 经查证. 他...原创 2018-12-18 00:06:51 · 602 阅读 · 0 评论 -
subprocess的用法
从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值。subprocess意在替代其他几个老的模块或者函数,比如:os.system os.spawn* os.popen* popen2.* commands.*一、subprocess.Popensubprocess模块定义了一个类: Popenc...原创 2018-12-09 18:34:22 · 17724 阅读 · 2 评论 -
python 之 多继承的顺序
python 支持多继承,但对与经典类和新式类来说,多继承查找的顺序是不一样的。 经典类:新式类 class P1: def foo(self): print 'p1-foo' class P2 : def foo(self): print 'p2-foo' def bar(self): p...原创 2018-05-02 23:12:53 · 3431 阅读 · 0 评论 -
Python中re的match、search、findall、finditer区别
这四个方法是从某个字符串中寻找特定子串或判断某个字符串是否符合某个模式的常用方法。1、match[python] view plain copyre.match(pattern, string[, flags]) 从首字母开始开始匹配,string如果包含pattern子串,则匹配成功,返回Match对象,失败则返回None,若要完全匹配,pattern要以$结尾。2、search[python...转载 2018-03-28 15:09:46 · 881 阅读 · 0 评论 -
Python中的random模块
Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。random.randomrandom.random()用于生成一个0到1的随机符点数: 0 random.uniform random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一原创 2016-09-07 20:56:23 · 749 阅读 · 0 评论 -
Python 标准库 urllib2 的使用细节
刚好用到,这篇文章写得不错,转过来收藏。 转载自 道可道 | Python 标准库 urllib2 的使用细节Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib2 这个 HTTP 客户端库。这里总结了一些 urllib2 库的使用细节。 1 Proxy 的设置2 Timeout 设置3原创 2016-09-07 20:53:52 · 374 阅读 · 0 评论 -
Python dictionary items()系列函数的使用
源自《Python cookbook》第3版7.1节第2个例子:[python] view plain copy print?import html # available only in Python 3.x def make_elements(name, value, **attrs): keyvals转载 2016-09-19 13:54:17 · 530 阅读 · 0 评论 -
用Python+Django在Eclipse环境下开发web网站
一、创建一个项目如果这是你第一次使用Django,那么你必须进行一些初始设置。也就是通过自动生成代码来建立一个Django项目--一个Django项目的设置集,包含了数据库配置、Django详细选项设置和应用 特性配置,具体操作步骤如下所示。1.新建Django项目选择sqlite数据库2.创建网站模块app3.测试新建的模块是否正常Vali原创 2016-09-06 21:23:43 · 1234 阅读 · 0 评论 -
Eclipse和PyDev搭建完美Python开发环境(Windows篇)
目录安装Pythonpython for eclipse插件安装配置PyDev插件测试安装Python从网站上下载最新的版本,从http://python.org/download/下载。安装过程与其他Windows软件类似。目前稳定版本为Python 2.7.6和Python 3.3.4。在Windows命令行中使用Python如果你想要从Windows命令行调用原创 2016-09-06 18:58:01 · 29177 阅读 · 2 评论 -
Python hashlib模块 (主要记录md5加密)
python提供了一个进行hash加密的模块:hashlib下面主要记录下其中的md5加密方式[python] view plain copy print?>>> import hashlib >>> m = hashlib.md5() >>> m.update("Nobody inspects")转载 2016-09-05 20:48:50 · 4675 阅读 · 0 评论 -
Django开发实战之URLconf详解
什么是URLconf? URLconf 就像是 Django 所支撑网站的目录。 它的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。 你就是以这种方式告诉 Django,对于这个 URL 调用这段代码,对于那个 URL 调用那段代码。 上篇文章(Django实战:构建一个blog)中我们新建了一个工程mysite,mysite/mysite/urls.py这个文件转载 2016-08-12 11:24:01 · 2436 阅读 · 0 评论 -
Python两个内置函数——locals 和globals
Python两个内置函数——locals 和globals这两个函数主要提供,基于字典的访问局部和全局变量的方式。在理解这两个函数时,首先来理解一下python中的名字空间概念。Python使用叫做名字空间的东西来记录变量的轨迹。名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变量的值。实际上,名字空间可以象Python的字典一样进行访问每个函数都有着转载 2016-08-23 20:25:40 · 404 阅读 · 0 评论 -
Python--正则表达模块re
正则表达式(regular expressiong)是用一种形式化语法描述的文本匹配模式。模式被解释为一组指令,然后会执行这组指令,以一个字符串作为输入,生成一个匹配的字迹或者原字符串的修改版本。“正则表达式”一词在讨论中通常会简写为“regex”或者“regexp”。表达式可以包括字面文字匹配、重复、模式组、分支以及其他复杂的规则。对于很多解析问题,用正则表达式解决会比创建特殊用途的词法分析器和转载 2016-08-31 19:06:29 · 457 阅读 · 0 评论 -
使用PyCharm进行远程开发和调试
使用PyCharm进行远程开发和调试你是否经常要在Windows 7或MAC OS X上面开发Python或Web应用程序,但是它们最后需要在linux上面来运行呢? 我们经常会碰到开发时没有问题但是到了正式的Linux环境下面却出现问题。那么怎样保证开发环境跟运行环境的一致呢?通常有两种方法解决。一种是使用PyCharm内置支持的Vagrant,这个教程可以参考Vagra原创 2016-11-06 00:15:11 · 68483 阅读 · 10 评论 -
python:open/文件操作
python:open/文件操作open/文件操作f=open('/tmp/hello','w')#open(路径+文件名,读写模式)#读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式如:'rb','wb','r+b'等等读写模式的类型有:rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 2原创 2016-11-24 15:20:56 · 378 阅读 · 0 评论 -
python替换字符串中的子串 %(xxxx)s
1.17 替换字符串中的子串-Python 2.4感谢:John Nielsen、Lawrence Oluyede、Nick Coghlan任务在Python 2.4的环境下,你想完成这样的任务:给定一个字符串,通过查询一个字符串替换字典,将字符串中被标记的子字符串替换掉。解决方案Python 2.4提供了一个新的string.Template类,可以应用原创 2017-10-24 13:45:19 · 3552 阅读 · 0 评论 -
Python 构造函数、 Python 析构函数、Python 垃圾回收机制
构造函数与析构函数构造函数:用于初始化类的内容部状态,Python提供的构造函数式 __init__();也就是当该类被实例化的时候就会执行该函数。那么我们就可以把要先初始化的属性放到这个函数里面。如下程序: __init__()方法是可选的,如果不提供,Python 会给出默认的__init__方法一般数据的获取需要定义的get和set方法原创 2017-10-11 21:29:09 · 431 阅读 · 0 评论 -
python time和datetime区别
Python 中提供了对时间日期的多种多样的处理方式,主要是在 time 和 datetime 这两个模块里。今天稍微梳理一下这两个模块在使用上的一些区别和联系。time在 Python 文档里,time是归类在Generic Operating System Services中,换句话说, 它提供的功能是更加接近于操作系统层面的。通读文档可知,time 模块是围绕着 Unix Tim原创 2017-08-28 16:45:03 · 4402 阅读 · 0 评论 -
Python字符串的encode与decode—乱码问题
为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“/xe4/xb8/xad/xe6/x96/x87”的形式?为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题。原创 2017-06-23 17:55:54 · 376 阅读 · 0 评论 -
python 的 subprocess模块用法 popen
从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值。subprocess意在替代其他几个老的模块或者函数,比如:os.system os.spawn* os.popen* popen2.* commands.*一、subprocess.Popensubprocess模块定义了一个类: Po转载 2017-05-20 21:32:56 · 608 阅读 · 0 评论 -
Python包管理工具——Pip
Python包管理工具——Pip1 前言pip 是一个Python包管理工具,主要是用于安装 PyPI 上的软件包,可以替代 easy_install 工具。GitHub: https://github.com/pypa/pipDoc: https://pip.pypa.io/en/latest/2 获取pip2.1 脚本安装pip$ c原创 2017-02-05 00:59:22 · 398 阅读 · 0 评论 -
Python_cmd的各种实现方法及优劣(subprocess.Popen, os.system和commands.getstatusoutput)
目前我使用到的python中执行cmd的方式有三种:1. 使用os.system("cmd")这是最简单的一种方法,特点是执行的时候程序会打出cmd在Linux上执行的信息。使用前需要import os。[python] view plain copy print?os.system("ls")原创 2016-12-08 20:45:36 · 490 阅读 · 0 评论 -
Python subprocess模块总结
subprocess最简单的用法就是调用shell命令了,另外也可以调用程序,并且可以通过stdout,stdin和stderr进行交互subprocess的主类subprocess.Popen( args, bufsize=0, executable=None, stdin=None, stdout=None,原创 2016-11-25 21:44:03 · 331 阅读 · 0 评论 -
python -- 正则表达式
零、引言在《Dive into Python》(深入python)中,第七章介绍正则表达式,开篇很好的引出了正则表达式,下面借用一下:我们都知道python中字符串也有比较简单的方法,比如可以进行搜索(index,find和count),替换(replace)和解析(split),这在本系列前篇数据结构篇中有所涉及,但是有种种限制。比如要进行大小写不敏感的搜索时,可能就需要先对字符串进行s转载 2016-08-19 17:49:25 · 520 阅读 · 0 评论