python字符串操作

爬虫核心基础第二讲(正则表达式)

蓝咒 提交于 2020-02-24 16:31:48
正则表达式 正则表达式简介 正则表达式就是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定的字符以及这些特定字符的组合,组成一个有规则的字符串。这个字符串用来表达对字符串一种过滤的逻辑。 import re pattern = 'python' str = 'python and java' # 第一个参数pattern 正则表达式 模板 # 第二个参数str 表示要匹配的字符串 # 第三个参数 标志位 匹配方式 result = re . match ( pattern , str ) if result : print ( result . group ( ) ) print ( result . start ( ) ) print ( result . end ( ) ) print ( result . span ( ) ) print ( result . string ) else : print ( '没有匹配' ) 匹配单个字符 匹配单个字符 1 .匹配任意除了换行的任意1个字符 2 [] 匹配[]中列举的字符 3 \d 匹配数字 0-9 4 \D 匹配非数字 5 \s 匹配空白 空格 tab键 6 \S 匹配非空白 7 \w 匹配单词字符 a-z A-Z 0-9 _ 8 \W 匹配非单词字符、 # 匹配单个字符 # 1.匹配任意除了换行的任意1个字符 # 2

python 05 列表 元组 (序列)

自闭症网瘾萝莉.ら 提交于 2020-02-23 14:37:58
循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。                            [ 循环则技能对应集合,列表,数组等,也能对执行代码进行操作。]                       迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。                            [迭代只能对应集合,列表,数组等。不能对执行代码进行迭代。]                 遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。                             [遍历同迭代一样,也不能对执行代码进行遍历。] 递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。                            [线性递归和尾递归。] 列表的数据项不需要具有相同的类型 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示: list1 = [ ' Google ' , ' Runoob ' , 1997 , 2000 ] ; list2 = [ 1 , 2 , 3 , 4 , 5 ] ; list3 = [ " a " , " b "

Python笔记

╄→尐↘猪︶ㄣ 提交于 2020-02-21 22:37:13
文章目录 一、基础 1. 注释 单行注释 TODO注释 多行注释 2. 数据类型 3. 运算符 数值运算 字符串运算 成员运算符 身份运算符 4. 转义字符 二、高级变量 1. 列表 定义 方法 2. 元组 定义 方法 3. 字典 定义 方法 4. 字符串 定义 方法 5. 切片 6. 全局变量 三、判断与循环 1. 判断 if else elif 2. 循环 while for 四、函数与方法 1. 封装 2. 导入 3. 参数 4. 返回值 5. 常用函数 输入 输出 随机数 eval 其他 五、类 1. 封装 实例属性与实例方法 类属性与类方法 静态方法 案例与总结 内置方法 私有属性与私有方法 2. 多态 单继承 多继承 重写 六、异常 1. 异常捕获 2. 异常传递 3. 异常抛出 七、文件操作 1. 文件读写 2. 文件访问方式 3. 大文件读取 八、模块 1. 模块导入 2. 包 一、基础 1. 注释 单行注释 单行注释快捷键crtl+/ # 行注释 print ( "hello world" ) # 语句注释 重要代码块使用等号隔开 # ====================== # ====================== TODO注释 # TODO 待完成任务 多行注释 """ 多行注释 """ 2. 数据类型 Python中定义变量时不需要指定变量类型

Python基础(8)--文件

▼魔方 西西 提交于 2020-02-21 22:32:04
文件是我们储存信息的地方,我们经常要对文件进行读、写、删除等的操作,在Python中,我们可用Python提供的函数和方法方便地操作文件。文件可以通过调用open或file来打开,open通常比file更通用,因为file几乎都是为面向对象程序设计量身打造 本文地址: http://www.cnblogs.com/archimedes/p/python-file.html ,转载请注明源地址。 文件处理的函数和方法 使用Open()函数可打开文件,语法格式如下: file_handler = open(filename,[,mode[,bufsize]] filename是你要操作的文件名,如果不在当前路径,需指出具体路径。mode是打开文件的模式,表示你要如何操作文件,bufsize表示是否使用缓存。 mode 模式 描述 r 以读方式打开文件,可读取文件信息。 w 以写方式打开文件,可向文件写入信息。 a 以追加方式打开文件,文件指针自动移到文件尾。 r+ 以读写方式打开文件,可对文件进行读和写操作。 w+ 消除文件内容,然后以读写方式打开文件。 a+ 以读写方式打开文件,并把文件指针移到文件尾。 b 以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。 bufsize bufsize取值 描述 0 禁用缓冲

python中的f''、b''、u''、r''

不羁的心 提交于 2020-02-20 04:22:26
f/format() 格式化操作,相当于format()函数 案例如下: name = 'wy' l = f'{name}' print(l) # 打印出的l是 wy b:bytes 二进制 拓展: encode和decode也可以在二进制和字符串之间转换 u/U 表示unicode字符串 不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码。 一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一般不带u;但是中文, 必须表明所需编码, 否则一旦编码转换就会出现乱码。 建议所有编码方式采用utf8 r/R 非转义的原始字符串,原意输出 相对特殊的字符,其中可能包含转义字符,反斜杠加上对应字母,表示对应的特殊含义的, 比如最常见的”\n”表示换行,”\t”表示Tab等 以r开头的字符,常用于正则表达式,对应着re模块。 来源: https://www.cnblogs.com/python-Arvin/p/11749050.html

(01)-Python3之--字符串操作

…衆ロ難τιáo~ 提交于 2020-02-19 12:21:35
1.字符串取值 字符串的取值通过索引来读取,从0开始。 取区间值如下:字符串变量名[起始索引:结束索引]。包含起始,但不包含结束。 例如: str_my = "hello,python!我来了!" print(str_my[0:4]) # 取0,1,2,3位 print(str_my[0:5]) # 取0,1,2,3,4位 # 从第6个开始,一直取到最后。 print(str_my[5:]) # 从头开始,取到索引下标为7 print(str_my[:8]) print(str_my[0:8]) 结果: hell hello ,python!我来了! hello,py hello,py 2.字符串长度 获取字符串长度一般用len函数 str_my = "hello,python!我来了!" print(len(str_my)) 结果: 23 3.查找子字符串 语法:字符串变量名.find(子字符串) 如果找到了,返回的是起始索引。如果没有找到了,返回的是-1。 例如: str_my = "hello,python!我来了!" # 查找python print(str_my.find("python")) # 查找ph print(str_my.find("ph")) # 查找! print(str_my.find("!")) 结果: 6 -1 12 4.替换操作 语法:字符串变量

Python 2 一些实用模块的使用

穿精又带淫゛_ 提交于 2020-02-19 07:31:19
time模块 , sys模块, os模块 , random模块, shutil 模块 , json & pickle 模块, re模块 time模块: 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。 time.localtime([secs]) 将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。time.gmtime([secs]) 和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。time.time() 返回当前时间的时间戳。time.mktime(t) 将一个struct_time转化为时间戳。time.sleep(secs) 线程推迟指定的时间运行。单位为秒time.asctime([t]) 把一个表示时间的元组或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。如果没有参数,将会将time.localtime()作为参数传入。time.ctime([secs]) 把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time

Python学习

泪湿孤枕 提交于 2020-02-19 00:04:07
Python 中的标识符是 区分大小写 的。   所有 Python 的 关键字 只包含 小写字母 以 下划线 开头的标识符是有特殊意义的。   以 单下划线开头 _foo 的代表 不能直接访问的类属性 ,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;   以 双下划线开头 的 __foo 代表 类的私有成员 ;   以 双下划线开头和结尾 的 __foo__ 代表 Python 里 特殊方法专用的标识 ,如 __init__() 代表类的构造函数。 Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用 缩进来写模块 。   缩进的空白数量是可变的,但是所有代码块语句必须包含 相同的缩进空白数量 ,这个必须 严格执行    IndentationError: unindent does not match any outer indentation level 错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。   相同数目的 行首缩进 空格数   建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用   如果是 IndentationError: unexpected indent 错误, 则 python 编译器是在告诉你"

数据类型、字符串、for循环

隐身守侯 提交于 2020-02-18 23:55:57
一、python的基本数据类型 1. int ==> 整数. 主要用来进行数学运算 2. str ==> 字符串, 可以保存少量数据并进行相应的操作 3. bool==>判断真假, True, False 4. list==> 存储大量数据, 用[ ]表示 5. tuple=> 元组, 不可以发生改变 用( )表示 6. dict==> 字典, 保存键值对, 同样可以保存大量数据 7. set==> 集合, 保存大量数据. 不可以重复. 其实就是不保存value的dict int类型 bit_length() 计算整数在内存中占用的二进制码的长度 bool类型 布尔只有两个值. True,False. 一般是没有什么操作的. 类型转换的问题: 想把xx转换成yy. yy(xx) 可以表示False的内容:0, "", [], tuple(), {}, None 所有的空都是False. 所有的非空是True str类型 由',",''', """阔起来的内容就是字符串 字符串是不可变的数据类型.不论你执行任何操作. 源字符串是不会改变的, 每次操作都会返回新字符串 1. 索引和切片 索引从0开始, 使用[下标]可以获取到每一个字符, 还可以倒着数 切片: [起始位置:结束位置:步长] 1. 顾头不顾尾 2. 默认从左到右取值. 3. 当步长为负可以从右往左取值 2. 字符串相关操作

常用模块

天大地大妈咪最大 提交于 2020-02-18 23:37:52
阅读目录 认识模块 什么是模块 模块的导入和使用 常用模块一 collections模块 时间模块 random模块 os模块 sys模块 序列化模块 re模块 常用模块二 hashlib模块 configparse模块 logging模块 认识模块    返回顶部 什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别:    1 使用python编写的代码(.py文件)   2 已被编译为共享库或DLL的C或C++扩展   3 包好一组模块的包   4 使用C编写并链接到python解释器的内置模块 为何要使用模块? 如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.py方式去执行,此时test.py被称为脚本script。 随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用, 返回顶部 模块的导入和使用 模块的导入应该在程序开始的地方 更多相关内容 https://www.cnblogs