简单来说python的内存管理机制有三种1)引用计数2)垃圾回收3)内存池接下来我们来详细讲解这三种管理机制1,引用计数:引用计数是一种非常高效的内存管理手段,当一个pyhton对象被引用时其引用计数增加1,当其不再被引用时引用计数减1,当引用计数等于0的时候,对象就被删除了。2,垃圾回收(这是一个很重要知识点):①引用计数引用计数也是一种垃圾回收机制,而且是一种最直观,最简单的垃圾回收技术。在Python中每一个对象的核心就是一个结构体PyObject,
系统 2019-09-27 17:54:17 2039
Pandas中对时间这个属性的处理有非常非常多的操作。而本文对其中一个大家可能比较陌生的方法进行讲解。其他的我会陆续上传。应用情景是这样的:考虑到有一个数据集,数据集中有用户注册账号的时间(年-月-日),如下图格式。如果我们希望对用户账号注册时间转为具体的天数,我们可以用如下代码。importpandasaspdtd=data['user_reg_tm']Time=pd.to_datetime(td)Start=pd.datetime(2016,4,16)
系统 2019-09-27 17:53:59 2039
变量不是盒子在示例所示的交互式控制台中,无法使用“变量是盒子”做解释。图说明了在Python中为什么不能使用盒子比喻,而便利贴则指出了变量的正确工作方式。变量a和b引用同一个列表,而不是那个列表的副本>>>a=[1,2,3]>>>b=a>>>a.append(4)>>>b[1,2,3,4]如果把变量想象为盒子,那么无法解释Python中的赋值;应该把变量视作便利贴,这样示例中的行为就好解释了注意:对引用式变量来说,说把变量分配给对象更合理,反过来说就有问题
系统 2019-09-27 17:53:57 2039
用Python实现常规的静态网页抓取时,往往是用urllib2来获取整个HTML页面,然后从HTML文件中逐字查找对应的关键字。如下所示:复制代码代码如下:importurllib2url="http://mm.taobao.com/json/request_top_list.htm?type=0&page=1"up=urllib2.urlopen(url)#打开目标页面,存入变量upcont=up.read()#从up中读入该HTML文件key1='ke
系统 2019-09-27 17:53:24 2039
转https://www.cnblogs.com/ducklu/p/8943903.html1.遍历key值1>>>d={'Python':'astonishing','C++':'complicated','Java':'versatile'}2>>>forkeyind:3...print(key+':'+d[key])4...5Python:astonishing6C++:complicated7Java:versatile同理,可把下列代码的d改为d
系统 2019-09-27 17:52:37 2039
这篇文章主要介绍了PythonDjango简单分页的实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下models.py:fromdjango.dbimportmodelsclassBook(models.Model):title=models.CharField(max_length=32)def__str__(self):returnself.titleclassMeta:db_table="
系统 2019-09-27 17:52:00 2039
目录第十五章、Python多线程同步锁,死锁和递归锁1.引子:2.同步锁3.死锁引子:4.递归锁RLock原理:不多说,放代码总结:5.大总结第十五章、Python多线程同步锁,死锁和递归锁1.引子:1.创建线程对象t1=threading.Thread(target=say,args=('tony',))2.启动线程t1.start()后面又说了两个点就是join和守护线程的概念以上就是python多线程的基本使用说明:前面说的两个功能是相互独立的,
系统 2019-09-27 17:51:52 2039
功能:为已存在的函数或对象添加额外的功能原则:不改变源代码为其添加功能不改变函数的调用方式方法:装饰器=高阶函数+嵌套函数(高阶函数:一个函数可以作为参数传递给另外一个函数,或者,一个函数的返回值是一个函数,即函数的入口地址)函数名作为参数传递给装饰器(@decorator_name)装饰函数返回函数名(函数地址)注意:默认情况下,装饰器会修改名字和文档说明,但是可以使用functools中的@wraps()解决。@wraps接受一个函数来进行装饰,并加入
系统 2019-09-27 17:51:46 2039
如下所示:importlogging#创建一个loggerlogger=logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)#创建一个handler,用于写入日志文件fh=logging.FileHandler('test.log')fh.setLevel(logging.DEBUG)#再创建一个handler,用于输出到控制台ch=logging.StreamHandler()ch.set
系统 2019-09-27 17:51:25 2039
Python解释器运行Python代码时,得到的是一个包含Python代码的以.py为扩展名的文本文件,要运行代码,就需要Python解释器去执行.py文件主要有以下几种解释器1.Cpython解释器(解释器是用C语言开发的)2.IPython解释器(基于Cpython之上的一个交互式解释器(>>>orIn[序号]))3.PyPy解释器(对Python代码进行动态编译,执行速度大大提高)4.Jython解释器(运行在Java平台上的python解释器,可以
系统 2019-09-27 17:51:21 2039