Python解释器的探讨:第二部分代码对象

本文是python解释器系列文章的一部分,第一部分文章请看这里:http://blog.csdn.net/caimouse/article/details/47342357 从第一部分文章里可知,主要分析了一下函数对象相关的内容。本文里继续深入分析python解析器相关内容,主要分析函数的代码对象。>>> def foo(a):...     x = 3...     return x + a.....
阅读(1433) 评论(0)

3.3.7 使用difflib.get_close_matches函数

在一个列表里查找一个最相似的词组,比如需要从多行文本里找到有“深圳”的词组。例子:#python3.4.3 import difflib word = '深圳' poss = ['深山里的圳', '深山里的圳2', '来过深圳', '来过圳深'] print(word, ':') for line in difflib.get_close_matches(word, poss): p...
阅读(1494) 评论(0)

3.3.6 使用difflib.context_diff函数

只想简单地比较一下文本之间是否有变化,就可以函数defflib.context_diff来实现。例子:#python3.4.3 import difflib text1 = ''' 1. Beautiful is better than ugly. 2. Explicit is better than implicit. 3. Simple is better than comp...
阅读(1620) 评论(1)

180亿美元的三行代码

这几天,心目中的女神--大众给拉下了神坛,这是从美国传来尾气造假的事实,这份报告清晰地交待整个调查过程,以事实和证据说话。随后媒体并给出下面几行简单的地代码来说明造假的过程:.mudge @dotMudgeBasically, VW EPA cheat mode is: if(drive_wheels_moving && non_drive_wheels_stationary){Enable_Dy...
阅读(2697) 评论(2)

3.3.5 使用HtmlDiff对象

当想创建一个HTML来表示文件之间差异时,就可以使用HtmlDiff对象。特别对于Web服务器的应用就更加方便了,直接把数据返回即可。例子:#python3.4.3 import difflib text1 = '''  1. Beautiful is better than ugly.   2. Explicit is better than implicit.   3. Simple is b...
阅读(1774) 评论(1)

《Linux/Unix设计思想:软件的杠杆效应》读后感

《Linux/Unix设计思想:软件的杠杆效应》读后感CSDN送一本书给我,本来我是选择Python相关的书,可惜没有货了,CSDN的美女给我一个目录列表,我选择了这本《Linux/Unix设计思想》,当我读到下面这个故事时,深深地打动了我,让我不断反思,久久不能入睡,下面将这个故事分享如下: 我的姑姑却在一年时间内,卖出了价值将近一百万美元的特百惠产品。当我听说这件事情时,我首先想到的就是:“这...
阅读(1678) 评论(3)

3.3.3 Differ对象

3.3.3 Differ对象Differ对象是进行全文比较,然后列表那一个位置增加、减少或者相同。类difflib.Differ(linejunk=None, charjunk=None) 构造一个Differ对象,linejunk和charjunk是可选的过滤函数,如果不设置,默认为None。linejunk是一个可以过滤不需要的字符串行的函数对象,当不需要时返回True。charjunk是一个...
阅读(1424) 评论(1)

在XP系统上出现无法定位程序输入点 K32GetProcessMemoryInfo

在XP系统上出现无法定位程序输入点 K32GetProcessMemoryInfoVC2012升级补丁5.0之后,编译出来的程序发现在XP系统无法定位程序输入点 K32GetProcessMemoryInfo于动态链接库kernel32.dll之上。之前程序一直在XP上安装正常,今天测试组的同事突然发现,新发布的版本不能在XP上使用,这个问题比较奇怪,因为以往的版本都是没有问题的。为什么会突然出现...
阅读(4369) 评论(0)

3.3.2 使用SequenceMatcher对象

查找最大相同序列例子:#python3.4.3 import difflib s1 = [ 1, 2, 3, 5, 6, 4 ]s2 = [ 2, 3, 5, 4, 6, 1 ] print('s1 = ', s1)print('s2 = ', s2)print('s1 == s2', s1 == s2)print('') matcher = difflib.SequenceMatcher(Non...
阅读(2315) 评论(0)

3.3.1 SequenceMatcher对象

类difflib.SequenceMatcher(isjunk=None, a='', b='', autojunk=True) 本函数是构造函数,主要创建任何类型序列的比较对象。isjunk是关键字参数,主要设置过滤函数,比如想丢掉a和b比较序列里特定的字符,就可以设置相应的函数,比如不要空格和跳格符:lambda x: x in " \t"。a和b是比较序列。autojunk是用来设置是否自动...
阅读(1504) 评论(0)

3.3 difflib--比较不同序列之间差异库

3.3 difflib--比较不同序列之间差异库本库主要提供一些类和一些函数来比较不同序列对象,提取出来差别部分,特别在文本方面的比较更加有用。例如在文件方面进行比较,在不同的格式下比较会产生不同的差别的结果,可以支持HTML文本比较,也可以支持纯文本比较和以及只产生修改的文本显示。对于文件目录和文件的比较,可以使用filecmp库来进行比较差别。 类difflib.SequenceMatcher...
阅读(2661) 评论(1)

3.2.5.10 识别中文的正则表达式

3.2.5.10 识别中文的正则表达式在我们编写程序时,经常需要判断输入的字符是否包括有中文字符,比如特定的注册帐号,一般不支持中文字符。又比如在电话输入框里输入了中文字符,这时就需要正则表达式来判断是否合法了。例子:import re print('[u4e00-u9fa5]')m = re.findall('[\u4e00-\u9fa5]', 'abc abc 中国 456')if m:   ...
阅读(1658) 评论(0)

我的第一个项目——说说那些年我们一起写过的代码

我的第一个项目——说说那些年我们一起写过的代码 时间回拨到15年前,那是2000年的夏天,天气正热的时候,我刚从大学毕业了,来到了改革开放最前沿的城市--深圳。坐火车到了广州之后,就搭乘长途大巴从广州省站出发,当车开出广州之后,看到广深高速两边全是楼房,一栋接着一栋,没有间断的地方,可谓让我吃惊不已。因为与西安那边相比,只看到公路两旁都是没有草木的黄土高原,那是形成极大的反差。当大巴车驶离高速公路...
阅读(2634) 评论(2)

3.2.5.9 写一个词法分析器

词法分析器或者叫扫描器主要用来分析字符串的文本,然后把文本里组成的单词分析出来,识别为某一类型的属性。对于编写编译器或者解析器的第一步工作就是做这样的事情:词法分析。以前有很多种使用字符串搜索的办法,这里使用正则表达式来实现这个目的。例子:print("词法分析器") import collections import re Token = collections.namedtuple('To...
阅读(1644) 评论(0)

3.2.5.8 原始字符串的使用方法

在正则表达式里,经常要使用斜线(\)来指明一个集合,但是斜线(\)也是字符串里转义字符的特定标志,为了编写正则表达式更简单,可以使用原始字符串的方式,也就是在字符串前面添加小写字母r来指明。下面这个例子使用到两个正则表达式语句是等价的。例子:print(r'text')print( re.match(r"\W(.)\1\W", " ff "))print( re.match("\\W(.)\\1\...
阅读(1299) 评论(0)
21条 共2页1 2 下一页 尾页
    个人资料
    • 访问:5574840次
    • 积分:72912
    • 等级:
    • 排名:第25名
    • 原创:1584篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2082条
    文章存档
    最新评论