Python:笔记(6)——正则表达式 re模块 re模块用于在字符串中执行基于正则表达式模式的匹配和替换. 使用原始字符串 正则表达式使用 \ 对特殊字符进行转义,比如,为了匹配字符串 ‘python.org’,我们需要使用正则表达式 'python\.org'. 但是Python 的字符串本身也用 \ 转义,所以上面的正则表达式在 Python 中应该写成 'python\\.org',这会很容易陷入 \ 的困扰中,因此,我们建议使用 Python 的原始字符串,只需加一个 r 前缀,上面的…
字符串函数replace: #string.replace: #字符串的replace方法:替换子串,不改变原来的字符串 s = "broad road" #打印出来会发现不单单是road被替换了,broad也变了 #这是因为broad也包含road,replace方法 print s.replace('road', 'rd.') 原始字符串 r'string': #原始字符串:只要在普通字符串前加上 r 就可以 #这样做是表明这个字符串中的所有字符都不转义,避免反斜线灾难 print…
locals()与globals(): """ locals:局部命名空间 globals:全局命名空间 都是以dictionary的形式保存的,变量名是键,变量值是值 """ def func(): x = 1 print locals() #locals返回的只是一个拷贝,在这基础上做改动是无效的 locals()['x'] = 2 print x func() z = 1 #但是globals与locals完全相反,在globals的基础上…
import 与 from ... import ...: #types只是一个包,FunctionType只是这个包里的一个函数.这里用它来演示 import types #如果要用FunctionType(),则要这样 print types.FunctionType #如果不想每次都写types前缀,就可以用from import from types import FunctionType print FunctionType #高端一点的说法是,from import会把Functio…
常用的函数:callable():如果所给参数是可调用的,返回True 不可调用返回Fasle.这里指的是否能调用说的是方法.类方法等有doc string的东西,一个单纯的字符串等就不算了. import string #之前用过的join方法 #punctuation给出了可用的标点符号,他实际上就是一个字符串,里面给出了有效可用的标点符号. print string.punctuation print callable(string.join), callable(string.punct…
元组tuple: 类似list,只是tuple是不可变的list.类似java的String都是不可改变的.注意:tuple没有方法(有待考证),不可以像list那样那个list.pop 或者list.append()等操作.但是可以用 in 来判断一个元素是否在tuple中: mytuple = ('a', 'b', 'c') print 'a' in mytuple, 'd' in mytuple tuple与list相比较: tuple更安全,提供了“写保护”,当想要一组只用来遍历的数据时…
3.1 基本字符串操作: 所有的标准序列操作(索引,分片,乘法,判断成员资格,求长度,取最小值,取最大值)对于字符串同样有效.但是,请记住:字符串都是不可变的 3.2 字符串格式化:精简版 字符串格式化使用字符串格式化操作符,即百分号%来实现. %也可以用做莫运算(求余)操作符. 在%的左侧放置一个字符串(格式化字符串),而右侧则放置希望被格式化的值.可以使用一个值,如一个字符串或者数字,也可以使用多个值的元组或者字典.一般情况下使用元组: >>> format = "Hell…
有时候会获得一些带html标签的字符串,需要把html标签去掉,获得干净的字符串,这时候可以使用正则表达式. 代码如下: import re htmeString = '''<ul id="TopNav"><li><a href="/EditPosts.aspx" id="TabPosts">随笔</a></li> <li><a href="/EditArti…
一.创建字符串 使用 '' , "" , ''' 和 """ 来创建字符串 var1 = 'hello, world' var2 = "jack" 二.索引和切片 (1)索引 s = "伊丽莎白鼠"print(s[0])print(s[1])print(s[2])print(s[3])print(s[4])# print(s[5]) # 索引不能超过边界 print(s[-1]) # 倒数第一个print(s[-2]…
异常: Java异常: try catch块处理异常,throw引发异常. Python异常: try except块处理异常,raise引发异常. 异常如果不主动处理,则会交给Python中的缺省处理,终止程序.所以应该在可预见的地方添加try except块,比如打开文件时没有文件,链接数据库时不可链接等等. #使用多个except处理不同的异常 #缺省的except要在末尾 #else表示如果没有任何异常发生则执行else的语句 try: f = open("xxx", &quo…
模块: python中模块是很重要的概念,在模块中加入 if __name__ == "__main__": pass 会使模块应用起来更加灵活,避免出错. ================================== 字典dictionary: python 字典中元素是无序的,并且对于键来说是大小写敏感的. 向字典添加元素:直接写dic['new'] = 'new' del dic['new'] 删除一个元素 dic.clear() 清空dic,返回一个空dic,打印出的是…
一 调用函数 在写函数之前,我们先尝试调用现有的函数 >>> abs(-9) 9 除此之外,还有我们之前使用的len()等.可以用于数据类型转换的 int() float() str() bool()等函数.还有一些可以直接只用的内置函数等. 二.函数名称.参数.返回值 在写函数的时候,只需要定义定义函数的名称,参数即可,不必和java一样,定义返回值的类型,且在写参数的时候,不用指定参数的类型: return 返回值也更加奔放,可以返回任意类型的数据:例如 数值,列表,字典,甚至是函数…
字符串转为json对象并取值 >>> 使用了Json包中的loads()方法和dumps()方法 string =" { "status": "error", "messages": ["Could not find resource or operation 'BZK1.MapServer' on the system."], "code": 404 }"print…
1,私有属性 class Foo: def __init__(self, x): self.x = x 类的属性在实例化之后是可以更改的: f = Foo(1) print(f.x) # 1 f.x = 2 print(f.x) # 2 如果想禁止访问属性,即让属性私有,可以用“双下划线” 或者“单下划线”: class Foo: def __init__(self, x, y): self._x = x self.__y = y def __repr__(self): return 'f._x…
1.进程 1)调用unix/linux系统中的进程函数fork(),用法和linux相同,调用成功返回0,失败返回-1: import os print 'Process (%s) start...' % os.getpid() pid = os.fork() if pid==0: print 'I am child process (%s) and my parent is %s.' % (os.getpid(), os.getppid()) else: print 'I (%s) just…
函数一般是从第一行代码开始执行,结束于return语句.异常.或者函数所有语句执行完毕.一旦函数将控制权交还给调用者,就意味着全部结束.函数中做的所有工作以及保存在局部变量中的数据都将丢失.再次调用这个函数时,一切将从头创建. 定义函数 >>>def myfun(x,y): #定义函数名 print(x+y) #函数体 >>>myfun(3,4) #调用函数 12 当函数体中存在循环且每次需输出时,使用print来打印多个结果 函数的返回值 >>>de…
正则表达式语法 正则表达式 (或 RE) 指定一组字符串匹配它;在此模块中的功能让您检查一下,如果一个特定的字符串匹配给定的正则表达式 (或给定的正则表达式匹配特定的字符串,可归结为同一件事). 正则表达式可以连接到形式新的正则表达式; 如果A 和 B 两个都是正则表达式, 那么 AB i也是正则表达式. 本模块提供了类似于那些在 Perl 中找到的正则表达式匹配操作. 两个模式和字符串被搜索可以是Unicode字符串以及8位串.然而,Unicode字符串和8位串不能混用:也就是说,你不能匹配一…
python正则表达式知识预备 正则表达式使用反斜杠" \ "来代表特殊形式或用作转义字符,这里跟Python的语法冲突,因此,Python用" \\\\ "表示正则表达式中的" \ ",因为正则表达式中如果要匹配" \ ",需要用\来转义,变成" \\ ",而Python语法中又需要对字符串中每一个\进行转义,所以就变成了" \\\\ ". 上面的写法是不是觉得很麻烦,为了使正则表达式…
Python 正则表达式模块 (re) 简介 Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,和 Perl 脚本的正则表达式功能类似,使用这一内嵌于 Python 的语言工具,尽管不能满足所有复杂的匹配情况,但足够在绝大多数情况下能够有效地实现对复杂字符串的分析并提取出相关信息.Python 会将正则表达式转化为字节码,利用 C 语言的匹配引擎进行深度优先的匹配. 表 1. 正则表达式元字符和语法 符号 说明 实例 . 表示任意字符,…
一.变量 1.python变量 *变量用于存储某个或某些特定的值,它与一个特定标识符相关联,该标识符称为变量名称.变量名指向存储在内存中的值.在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.Python在声明变量时,无需说明变量的类型.因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符.*不过python与大多数其他的计算机语言的做法稍有不同,它并不是把值存储在变量中,而更像是把名字贴在值的是上变.可以比喻为"pyt…
参考:https://www.cnblogs.com/songbiao/p/12422632.html Python中正则表达式的写法,核心就是一个字符串.如下:re.compile(r'表达式')所以,如果要在正则表达式中包含变量,那么就可以用{}.format语法,类似string中包含变量的处理方法,当然要确保变量为string型.如下:re.compile(r'expression' + var + 'expression')re.compile(r'expression(%s)expr…
[第五章]思考题答案,仅供参考: 思考题1:第一种方法更快,原因就是{}不需要去调用相关的函数: 思考题2:用列表作为key在这里是不被允许的,因为列表是一个动态变化的数据结构,字典当中的key要求是不可变的,原因也很好理解,key首先是不重复的,如果key是可以变化的话,那么随便key的变化,这里就有可能会有重复的key,那么这就和字典的定义相违背:如果把这里的列表换成元组是可以的,元组是不可变的. 深入浅出字符串 Python 的程序中充满了字符串(string),在平常阅读代码时也屡见不鲜…
一.正则表达式基础 1.正则表达式介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同:但不用担心,不被支持的语法通常是不常用的部分.如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了. 下图展示了使用正则表达式进行匹配的流程: 正则表达式的大致匹…
Python中的正则表达式是通过 re 模块实现的. 通配符 .  表示除了换行以外的任何字符; 编写正则表达式时使用  r're'  , r + 正则表达式内容 >>> import re >>> >>> re.search(r'Fish.','I love FishC.com!') <_sre.SRE_Match object; span=(7, 12), match='FishC'> >>> # 如果要匹配 . 本身…
Python课堂笔记六 常用模块已经可以在单位实际项目中使用,可以实现运维自动化.无需手工备份文件,数据库,拷贝,压缩. 常用模块 time模块 time.time time.localtime time.strftime os模块:主要针对操作系统的一些方法,如:切换目录 sys模块:跟python解释器交互使用. shutil模块:针对目录或文件的复制,拷贝,重命名的操作等. hashlib模块:摘要算法模块. 1.文件的一致性校验 2.用户的加密认证 3.不可逆性,撞库,加盐 json/p…
目录 引言 什么是正则表达式? 正则表达式有什么用? 正则表达式的语法及使用实例 正则表达式语法有哪些? 这些正则到底该怎么用? 小结 参考文档 系列文章列表 引言 刚接触正则表达式,我也曾被它们天书似的符号组合给吓住,但经过一段时间的深入学习,发现它并没有想象中那么可怕,只要多实践,多理解,也是可以轻松搞定的. 而且我发现带着问题去学习,求知欲会驱使着你往前走,不知不觉就懂了. 下面就是我在学习中提出的几个问题,在后面会依次进行讨论.由于正则表达式涉及到的内容确实非常多,分成两篇来阐述. 什么…
1.re模块 Python通过re模块提供对正则表达式的支持,re 模块使 Python 语言拥有全部的正则表达式功能.使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,然后使用Pattern实例处理文本并获得匹配结果(一个Match实例),最后使用Match实例获得信息,进行其他的操作. #使用时引入re模块 import re 2.re.compile(strPattern[, flag]): 这个方法是Pattern类的工厂方法,用于将字符串形式的正则表达式编译为Pa…
正则表达式.原始字符串及re re是python中的一个文本解析工具,常用的方法有: 来源:https://www.ibm.com/developerworks/cn/opensource/os-cn-pythonre/index.html compile re.compile(pattern[, flags]) 把正则表达式的模式和标识转化成正则表达式对象,供 match() 和 search() 这两个函数使用. re 所定义的 flag 包括: re.I 忽略大小写 re.L 表示特殊字符…
模块 三种方法: import from 模块 import 成员,成员 from 模块 import * *代表所有的成员 隐藏成员: 模块中以下划线_开头的属性 隐藏成员不会被from 模块 import * 导入 导入模块时会将模块的代码全部执行 as 取别名 from module01 import f as f1 模块变量 __file__ : 模块对应的文件路径名,返回的是一个绝对路径 绝对路径:从盘符开始一层一层 __name__ : 模块自身的名字 如果在当前模块运行,则名字为_…
字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言. 创建字符串很简单,只要为变量分配一个值即可 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符 如果知道字符的整数编码,还可以用十六进制这么写str: 1 >>> '\u4e2d\u6587' 2 '中文' 由于Python的字符…