搜索到与相关的文章
Python

Python_垃圾回收机制之GC模块③

一.垃圾回收机制Python中的垃圾回收是以引用计数为主,分代收集为辅。1、导致引用计数+1的情况对象被创建,例如a=23对象被引用,例如b=a对象被作为参数,传入到一个函数中,例如func(a)对象作为一个元素,存储在容器中,例如list1=[a,a]2、导致引用计数-1的情况对象的别名被显式销毁,例如dela对象的别名被赋予新的对象,例如a=24一个对象离开它的作用域,例如f函数执行完毕时,func函数中的局部变量(全局变量不会)对象所在的容器被销毁,

系统 2019-09-27 17:55:03 2181

Python

廖雪峰Python教程笔记(六)

廖雪峰Python教程笔记(六)8模块使用模块8模块在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。模块的好处:最大的好处是大大提高了代码的可维护性。引用其他模块,编写代码不必从零开始可以避免函数名和变量名冲突,尽量不要与内置函数名字

系统 2019-09-27 17:54:19 2181

Python

Python 由字符串函数名得到对应的函数(实例讲解)

把函数作为参数的用法比较直观:deffunc(a,b):returna+bdeftest(f,a,b):printf(a,b)test(func,3,5)但有些情况下,‘要传递哪个函数'这个问题事先还不确定,例如函数名与某变量有关。可以利用func=globals().get(func_name)来得到函数:deffunc_year(s):print'func_year:',sdeffunc_month(s):print'func_month:',sstr

系统 2019-09-27 17:54:04 2181

Python

python爬取知乎神回复

看知乎的时候发现了一个“如何正确地吐槽”收藏夹,里面的一些神回复实在很搞笑,但是一页一页地看又有点麻烦,而且每次都要打开网页,于是想如果全部爬下来到一个文件里面,是不是看起来很爽,并且随时可以看到全部的,于是就开始动手了。工具1.Python2.72.BeautifulSoup分析网页我们先来看看知乎上该网页的情况:网址:,容易看到,网址是有规律的,page慢慢递增,这样就能够实现全部爬取了。再来看一下我们要爬取的内容:我们要爬取两个内容:问题和回答,回答

系统 2019-09-27 17:53:39 2181

Python

Python Web框架Flask信号机制(signals)介绍

信号(signals)Flask信号(signals,oreventhooking)允许特定的发送端通知订阅者发生了什么(既然知道发生了什么,那我们可以知道接下来该做什么了)。Flask提供了一些信号(核心信号)且其它的扩展提供更多的信号。信号是用于通知订阅者,而不应该鼓励订阅者修改数据。相关信号请查阅文档。信号依赖于Blinker库。钩子(hooks)Flask钩子(通常出现在蓝图或应用程序现存的方法中,比如一些内置装饰器,例如before_reques

系统 2019-09-27 17:53:22 2181

Python

python控制台实现tab补全和清屏的例子

在shell(bash)下有2个很基本的功能,那就是tab补全,和clear清屏,对于我这种时不时不自觉的就手残要clear清屏一下的人来说,python控制台不能清屏很不爽,经过google的帮忙,找到了解决办法。执行“manpython”可以看到这样一个环境变量:PYTHONSTARTUPIfthisisthenameofareadablefile,thePythoncommandsinthatfileareexecutedbeforethefirst

系统 2019-09-27 17:52:47 2181

Python

Spark学习实例(Python):共享变量Shared Variables

通常在使用Spark算子函数,比如使用map()或者reduce函数我们向函数传入条件时,函数内部可以使用驱动程序中定义的变量,但是这样会使集群中所有任务都会得到变量新的副本,这些副本的更新不会传播回驱动程序,导致读写共享变量效率低下或者内存溢出,为了解决这个问题Spark提供了两种共享变量类型:广播变量和累加器广播变量:用来高效分发较大对象,只能在Driver定义,不能在Executor端定义,同时RDD不存储数据所以不能广播出去累加器:用来对信息进行聚

系统 2019-09-27 17:52:33 2181

Python

Python中列表乘法需注意的问题/

前几天看到一个关于Python的面试题lst=[1,2,[3]]lst1=lst*2#[1,2,[3],1,2,[3]]lst1[2].append(4)#[3,4]print(lst1)开始时,就处理错了。最终上机测试发现,乘法貌似是内存地址的拷贝。也就是说lst1[2]和lst1[5]都指向同一个对象,最终lst1结果如下:print(lst1)#[1,2,[3,4],1,2,[3,4]]

系统 2019-09-27 17:52:30 2181

Python

弄懂这56个Python使用技巧(轻松掌握Python高效开发)

1.枚举-enumerate可以有参数哦之前我们这样操作:i=0foriteminiterable:printi,itemi+=1现在我们这样操作:fori,iteminenumerate(iterable):printi,itemenumerate函数还可以接收第二个参数。就像下面这样:>>>list(enumerate('abc'))[(0,'a'),(1,'b'),(2,'c')]>>>list(enumerate('abc',1))[(1,'a')

系统 2019-09-27 17:52:08 2181

Python

第十五章、Python多线程之信号量和GIL

目录第十五章、Python多线程之信号量和GIL1.信号量(Semaphore)2.GIL说明:第十五章、Python多线程之信号量和GIL1.信号量(Semaphore)信号量用来控制线程并发数的,Semaphore管理一个内置的计数器,每当调用acquire()时-1,调用release()时+1。计数器不能小于0,当计数器为0时,acquire()将阻塞线程至同步锁定状态,直到其他线程调用release()。其实就是控制最多几个线程可以操作同享资源。

系统 2019-09-27 17:51:26 2181