前言或许你已经用过装饰器,它的使用方式非常简单但理解起来困难(其实真正理解的也很简单),想要理解装饰器,你需要懂点函数式编程的概念,python函数的定义以及函数调用的语法规则等,虽然我没法把装饰器变得简单,但是我希望可以通过下面的步骤让你由浅入深明白装饰器是什么。假定你拥有最基本的Python知识,本文阐述的东西可能对那些在工作中经常接触Python的人有很大的帮助。1、函数(Functions)在Python里,函数是用def关键字后跟一个函数名称和一
系统 2019-09-27 17:51:47 1873
点击上方“码农突围”,马上关注,每天早上8:50准时推送真爱,请置顶或星标摘要:分享个Python神工具。长时间使用浏览器会积累大量浏览器历史记录,这些是很隐私的数据,里面甚至可能有一些不可描述的网站或者搜索记录不想让别人知道。不过,我们自己可能会感兴趣,天天都在上网,想知道长期下来是都在摸鱼还是有认真工作。其次,了解下自己每天打开多少次网页、哪些网站上的最多、常搜哪些关键词,这些也很有趣。下面就来给大家介绍一款Python编写的神工具,可以一键分析你的上
系统 2019-09-27 17:51:41 1873
考虑这种情况:如果一个线程遇到锁嵌套的情况该怎么办,这个嵌套是指当我一个线程在获取临界资源时,又需要再次获取。根据这种情况,代码如下:复制代码代码如下:'''Createdon2012-9-8@author:walfred@module:thread.ThreadTest6'''importthreadingimporttimecounter=0mutex=threading.Lock()classMyThread(threading.Thread):de
系统 2019-09-27 17:50:55 1873
。。。。。。刚看到时,我有一点肤浅的吃惊:python都已经没了明确的数据类型概念,竟然还有类。好了,请忽略我的无知。下面我们来看知识点。类的定义首先是类的定义:classname:pass我们能看一下格式,首先是一个普通的class,然后是我们类的名字,冒号后则是类的具体内容。而这里的pass并不是我随便写的,而是有含义的。当我们创建了一个空的类或方法,并且一时半会不想设计它的内容,我们就需要为其加上一个pass来告诉编译器,这是一个空的类或函数。继承p
系统 2019-09-27 17:50:39 1873
SeriesSeries类似一维数组,由一组数据及一组相关数据标签组成。使用pandas的Series类即可创建。importpandasaspds1=pd.Series(['a','b','c,','d'])print(s1)#输出:0a#1b#2c#3d#dtype:object上面是传入一个列表实现,上面的0,1,2,3就是数据的默认标签。另外可以通过index属性自定义标签。s2=pd.Series(['1','2','3,','4'],index
系统 2019-09-27 17:50:09 1873
Python重试模块retrying工作中经常碰到的问题就是,某个方法出现了异常,重试几次。循环重复一个方法是很常见的。比如爬虫中的获取代理,对获取失败的情况进行重试。刚开始搜的几个博客讲的有点问题,建议看官方文档,还有自己动手实验。参考:https://segmentfault.com/a/1190000004085023https://pypi.org/project/retrying/最初的版本importrequestsclassProxyUtil
系统 2019-09-27 17:49:24 1873
我用了简单工厂和建造者模式,与python的GUI配合实现了一个简单的计算器系统,下面是运行结果,之后会向大家讲解。类图如下:部分代码如下:builderModel.py建造者模式代码classProduct():"""复杂产品类该类用于存放并返回两个操作数Attributes:self.NumOne:第一个操作数self.NumTwo:第二个操作数"""def__init__(self,NumOne,NumTwo):self.__NumOne=NumOn
系统 2019-09-27 17:49:07 1873
前言R:代表redis-cliP:代表python的redis准备pipinstallredispool=redis.ConnectionPool(host='39.107.86.223',port=6379,db=1)redis=redis.Redis(connection_pool=pool)redis.所有命令下面命令所有命令我都省略了,有和Python内置函数冲突的我会加上redis.全局命令dbsize(返回key的数量)R:dbsizeP:pr
系统 2019-09-27 17:48:51 1873
我觉得,开始学习一门编程时候,不仅仅是要去学习它的语法,而是在给你一段代码的时候,你能够对这段代码的主要结构在心里面有一个大致的框架,也就是你要知道这一块是干什么的,那一块又是干什么的,然后再一块一块的详细去看代码的具体语句。一、从对象到类1.对象是在应用程序中使用的、组合成一个单一的实体的数据。例如,如果编写一个程序使用汽车,那么将会创建一个Car对象,其中包含了一些汽车的信息,如车的重量、大小、引擎以及门的数量。如果你正在编写一个程序来记录人,那么你可
系统 2019-09-27 17:48:44 1873
现在拥有了正则表达式这把神兵利器,我们就可以进行对爬取到的全部网页源代码进行筛选了。下面我们一起尝试一下爬取内涵段子网站:http://www.neihan8.com/article/list_5_1.html打开之后,不难看出里面一个一个非常有内涵的段子,当你进行翻页的时候,注意url地址的变化:第一页url:http://www.neihan8.com/article/list_5_1.html第二页url:http://www.neihan8.com
系统 2019-09-27 17:48:39 1873