一、多线程同步由于CPython的python解释器在单线程模式下执行,所以导致python的多线程在很多的时候并不能很好地发挥多核cpu的资源。大部分情况都推荐使用多进程。python的多线程的同步与其他语言基本相同,主要包含:Lock&RLock:用来确保多线程多共享资源的访问。Semaphore:用来确保一定资源多线程访问时的上限,例如资源池。Event:是最简单的线程间通信的方式,一个线程可以发送信号,其他的线程接收到信号后执行操作。二、实例1)L
系统 2019-09-27 17:54:05 2111
一、面向对象概述如今主流的软件开发思想有两种:一个是面向过程,另一个是面向对象。面向过程出现得较早,典型代表为C语言,开发中小型项目的效率很高,但是很难适用于如今主流的大中型项目开发场景。面向对象则出现得更晚一些,典型代表为Java或C++等语言,更加适合用于大型开发场景。两种开发思想各有长短。对于面向过程的思想:需要实现一个功能的时候,看重的是开发的步骤和过程,每一个步骤都需要自己亲力亲为,需要自己编写代码(自己来做)对于面向对象的思想:当需要实现一个功
系统 2019-09-27 17:53:52 2111
计算机为数组分配一段连续的内存,从而支持对数组随机访问;由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基本地址和项的偏移地址相加。数组的基本地址就是数组的第一项的机器地址。一个项的偏移地址就等于它的索引乘以数组的一个项所需要的内存单元数目的一个常量表示(在python中,这个值总是1)importarray#array模块是python中实现的一种高效的数组存储类型。它和list相似,但是所有的数组成员必须是同一种类型,
系统 2019-09-27 17:53:12 2111
一、isinstance(obj,cls)和issubclass(sub,super)1.1isinstanceisinstance(obj,cls)检查obj是否是类cls的对象包括继承关系1classFoo(object):2pass34obj=Foo()5print(isinstance(obj,Foo))#True1.2issubclassissubclass(sub,super)检查sub类是否是super类的派生类判断类与类之间的继承关系1cl
系统 2019-09-27 17:52:37 2111
zip文件是我们经常使用的打包格式之一,python解压和压缩zip效率非凡。python解压zip文档:复制代码代码如下:#/usr/bin/python#coding=utf-8importos,sys,timeimportzipfilefilename='callofdutyblackopszombies_1349649132343_my.zip'#要解压的文件filedir='data/'#解压后放入的目录r=zipfile.is_zipfile(
系统 2019-09-27 17:52:13 2111
写在前面centos6.8中默认自带的python版本为python2.6,那么这里需要将其改为python3下载并解压官方下载地址为https://www.python.org/downloads/,这里已3.6.3为例。#下载wgethttps://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz#解压tar-zxvfPython-3.6.3.tgzcdPython-3.6.3安装[root@localh
系统 2019-09-27 17:50:51 2111
最近在弄flask的东西,好久没写博客的,感觉少了点什么,感觉被别人落下好多,可能渐渐的养成了写博客的习惯吧。也是自己想学的东西太多了(说白了就是基础太差了,只是knowhow,不能做到konwwhy)。不说那些毒鸡汤了,我们来说说我们今天的python基础面试题吧。一,Q:python的优缺点有什么?A:优点:1,基础语法简单易学,对于初学者来说,语法还是相对简单的,比较容易学习,网上的学习资料也很多。2,面向对象,在python里继承和封装较多,而py
系统 2019-09-27 17:50:49 2111
压缩数据创建gzip文件先看一个略麻烦的做法importStringIO,gzipcontent='Lifeisshort.Iusepython'zbuf=StringIO.StringIO()zfile=gzip.GzipFile(mode='wb',compresslevel=9,fileobj=zbuf)zfile.write(content)zfile.close()但其实有个快捷的封装,不用用到StringIO模块f=gzip.open('fil
系统 2019-09-27 17:50:34 2111
这是一个我用于调试或分析工具概述,不一定是完整全面,如果你知道更好的工具,请在评论处标记。日志是的,的确,不得不强调足够的日志记录对应用程序是多么的重要。您应该记录重要的东西,如果你的记录足够好的话,你可以从日志中找出问题从而节省大量的时间。如果你曾经用print语句来调试代码现在停下吧,用logging.debug替代,开始可以慢慢来,以后完全禁用它...追踪有时看到程序如何被执行会很有帮助。你可以使用IDE的调试共轭ngn一步一步的运行程序,但你需要知
系统 2019-09-27 17:49:14 2111
一、引言在《第11.2节Python正则表达式支持函数概览》介绍了re模块的主要函数,在《第11.3节Python正则表达式搜索支持函数search、match、fullmatch、findall、finditer》重点介绍了几个搜索函数,后续章节将介绍re模块的其他函数,本节先介绍re.split函数的功能。二、语法释义调用语法:re.split(pattern,string,maxsplit=0,flags=0)参数及返回结果释义:1)这个函数的功能与
系统 2019-09-27 17:49:14 2111