引言logging的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求:假设需要将某功能封装成类库供他人使用,如何处理类库中的日志?数年前在一个C#开发的项目中,我用了这样的方法:定义一个logging基类,所有需要用到日志的类都继承这个基类,这个基类中定义一个LogHandler事件,该事件用于实现具体的记录日志动作,同时可以通过将类A的LogHandler委托挂到类B的LogHandler上,实现将两个类的日志信息添加到一起。自从看了py
系统 2019-09-27 17:47:37 1929
好程序员Python学习路线分享实现快速排序算法,快速排序算法是一种基于交换的高效的排序算法,由C.R.A.Hoare于1962年提出,是一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divideandconqueralgorithm)。分治法的基本思想将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。快速排序的基本思想先找到一个基准点(一般指数组的中部),然后数组被该基准点分为
系统 2019-09-27 17:47:30 1929
Matplotlib简介Matplotlib是一个Python工具箱,用于科学计算的数据可视化。借助它,Python可以绘制如Matlab和Octave多种多样的数据图形。最初是模仿了Matlab图形命令,但是与Matlab是相互独立的.通过Matplotlib中简单的接口可以快速的绘制2D图表初试MatplotlibMatplotlib中的pyplot子库提供了和matlab类似的绘图API.复制代码代码如下:importmatplotlib.pyplo
系统 2019-09-27 17:47:25 1929
在python2.x中,从object继承得来的类称为新式类(如classA(object))不从object继承得来的类称为经典类(如classA())新式类跟经典类的差别主要是以下几点:1.新式类对象可以直接通过__class__属性获取自身类型:type2.继承搜索的顺序发生了改变,经典类多继承时属性搜索顺序:先深入继承树左侧,再返回,开始找右侧(即深度优先搜索);新式类多继承属性搜索顺序:先水平搜索,然后再向上移动例子:经典类:搜索顺序是(D,B,
系统 2019-09-27 17:47:02 1929
对Python中正则表达式的理解,主要就是对符号的理解,本文即对Python中常用的正则表达式符号进行简析。其主要的符号有:.默认匹配一个字符,不包含换行符,如果设置DOTALL则匹配换行符^匹配行首$匹配行尾*匹配0个或者多个重复+匹配一个或者多个重复?匹配一个或者零个重复*?,+?,??按照非贪婪模式匹配{m},{m,n},{m,n}?分别匹配m个重复,m至n个重复,m至n个重复按照非贪婪模式\转义[][abc],[a-z][^a-z]|或者匹配'a|
系统 2019-09-27 17:46:52 1929
forsplitValueinset(dataset[:,featureIndex].tolist()):首先set是一个无序,无重复的数据结构,所以很多时候使用它来进行去重;但是set接收的函数是原生array,这个怎么办?我现在有的numpy里面的matrix;于是我查了一下,直接使用matrix.tolist(),但是发现返回值有问题:importosos.chdir("D:\\galaxy\\aliyunsvn\\code\\MLInAction\
系统 2019-09-27 17:46:43 1929
Python的MySQLdb模块是Python连接MySQL的一个模块,默认查询结果返回是tuple类型,只能通过0,1..等索引下标访问数据默认连接数据库:复制代码代码如下:MySQLdb.connect(host=host,user=user,passwd=passwd,db=db,port=port,charset='utf8')查询数据:复制代码代码如下:cur=conn.cursor()cur.execute('selectb_idfromblo
系统 2019-09-27 17:46:17 1929
本文介绍的关于Python时间日期处理,日期时间处理在实际应用场景中无处不在,所以这也成了编程语言中必不可少的模块,Python也不例外。但是,你知道在Python中有多少个相关的模块吗?datetime、time、calendar、dateutil、pytz等等。你知道有多少种数据类型吗?date、time、datetime、tzinfo、timedelta等等。有天我遇到这样的需求,想获取当前月的前一个月是几月,假设本月是2018年1月,那么上个月就是
系统 2019-09-27 17:46:11 1929
学习python少不了写爬虫,不仅能以点带面地学习、练习使用python,爬虫本身也是有用且有趣的,大量重复性的下载、统计工作完全可以写一个爬虫程序完成。用python写爬虫需要python的基础知识、涉及网络的几个模块、正则表达式、文件操作等知识。昨天在网上学习了一下,写了一个爬虫自动下载「糗事百科」里面的图片。源代码如下:复制代码代码如下:#-*-coding:utf-8-*-#上面那句让代码里支持中文#------------------------
系统 2019-09-27 17:45:42 1929
本文实例讲述了Python中迭代的用法,是一个非常实用的技巧。分享给大家供大家参考借鉴之用。具体分析如下:如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)。在Python中,迭代是通过for...in来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码:for(i=0;i可以看出,Python的for循环抽象程度要高于Java的for循环,因
系统 2019-09-27 17:45:31 1929