译注:这是一篇在Stackoverflow上很热的帖子。提问者自称已经掌握了有关PythonOOP编程中的各种概念,但始终觉得元类(metaclass)难以理解。他知道这肯定和自省有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理解,以及在什么情况下需要进行元编程。于是e-satis同学给出了神一般的回复,该回复获得了985点的赞同点数,更有人评论说这段回复应该加入到Python的官方文档中去。而e-satis同学本人在StackO
系统 2019-09-27 17:52:16 2017
整个排序算法分两部分来总结,这篇总结第一部分一些相对简单和常用的排序算法,包括冒泡排序、选择排序、插入排序和希尔排序。冒泡排序冒泡排序应该是大家接触的最早的排序方法了,理解起来也十分简单。冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法描述比较相邻的
系统 2019-09-27 17:52:14 2017
来自:Python编程与实战(微信号:pthon1024),作者:Jerryning没有办法转,整个复制下来了本文要点字符串拼接拆分含有多种分隔符的字符串判读字符串a是否以字符串b开头或结尾调整字符串中文本的格式对字符串进行左,右,居中对齐删除字符串中不需要的字符字符串拼接实际场景:把列表中的数据拼接成一个字符串解决方案:使用str.join()方法>>>li=['cxk','cxk','kk','caibi']>>>''.join([str(i)fori
系统 2019-09-27 17:52:00 2017
-re.I#忽略大小写-re.M#多行匹配,将正则作用到源数据的每一行-re.S#单行匹配,将正则作用到整个源数据,输出一个整体字符串(包括换行符也打印)string='''fallinlovewithyouiloveyouverymuchilovesheiloveher'''#去除以i开头的每一行数据re.findall('^i.*',string,re.M)['iloveyouverymuch','iloveshe','iloveher']#匹配全部行
系统 2019-09-27 17:51:20 2017
Numpy、Pandas是Python数据处理中经常用到的两个框架,都是采用C语言编写,所以运算速度快。Matplotlib是Python的的画图工具,可以把之前处理后的数据通过图像绘制出来。之前只是看过语法,没有系统学习总结过,本博文总结了这三个框架的API。以下是这三个框架的的简单介绍和区别:Numpy:经常用于数据生成和一些运算Pandas:基于Numpy构建的,是Numpy的升级版本Matplotlib:Python中强大的绘图工具NumpyNum
系统 2019-09-27 17:51:19 2017
今天我们来到了循环队列这一节,之前的文章中,我介绍过了用python自带的列表来实现队列,这是最简单的实现方法。但是,我们都知道,在列表中删除第一个元素和删除最后一个元素花费的时间代价是不一样的,删除列表的第一个元素,那么在它之后的所有元素都要进行移动。所以当列表特别长的时候,这个代价就比较明显了。我们本文介绍的循环队列可以避免这个问题,同样我们上篇文章提到的用链表实现的方法也可以避免。下面,我们来介绍循环队列。循坏队列循环队列,就是将普通的队列首尾连接起
系统 2019-09-27 17:50:25 2017
一、Python简介1.Python发展史Python是由GuidovanRossum在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。Python本身也是由诸多其他语言发展而来的,这包括ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unixshell和其他的脚本语言等等。像Perl语言一样,Python源代码同样遵循GPL(GNUGeneralPublicLicense)协议。现在Python是由一个核心
系统 2019-09-27 17:49:50 2017
1.模块(Module)在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。使用模块有什么好处?最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编
系统 2019-09-27 17:49:11 2017
python中对对象dump报错:ObjectoftypeCOUPON_CATE_V2isnotJSONserializable使用classObj.__dict__如打印对象:print(str(coupon_cate_v2.__dict__))
系统 2019-09-27 17:48:11 2017
标题python基础题~九九乘法表forxinrange(1,10):forjinrange(1,x+1):print('{0}*{1}={2}'.format(x,j,x*j),end='\t')print()1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=165*1=55*2=105*3=155*4=205*5=256*1=66*2=126*3=186*4=246*5=306*6=367*1=77*2
系统 2019-09-27 17:47:42 2017