python字符串操作

爬虫(二)正则表达式

只谈情不闲聊 提交于 2019-11-27 21:29:13
文章目录 一.正则表达式简介 1.什么是正则表达式? 2.使用正则表达式的目的 二.正则表达式匹配规则 1.正则表达式匹配规则 2.正则表达式匹配规则小案例 (1)实例1 (2)实例2 三.re模块 1.re模块一般使步骤 2.compile函数 3.Pattern对象 4.match方法 5.search方法 6.findall方法与finditer方法 7.split方法 8.sub方法 9.贪婪模式与非贪婪模式 一.正则表达式简介 1.什么是正则表达式? 正则表达式 ,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是对字符串操作的一种 逻辑公式 ,就是用事先定义好的一些 特定字符 、及这些 特定字符的组合 , 组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种 过滤逻辑 。 2.使用正则表达式的目的 给定的字符串是否符合正则表达式的过滤逻辑(“匹配”); 通过正则表达式,从文本字符串中获取我们想要的特定部分(“过滤”)。 二.正则表达式匹配规则 1.正则表达式匹配规则 2.正则表达式匹配规则小案例 (1)实例1 实例1.匹配所有的qq邮箱,username@qq.com,其中username必须是字母数字或者下划线,次数为2-12之间 字母,数字或者下划线:[a-zA-Z0-9_] 非单词字符:\W import re

python3和python2的区别

偶尔善良 提交于 2019-11-27 19:45:54
print 函数 在 python3 中print语句没有了,取而代之的是print()函数: python2 print "hello world" python3 print ( " hello world " ) input 函数 在 python3中 raw_input 没有了,取而代之的是input: python2 name=raw_input ("input you name:") 在2.0中输入的是数字读取到的就是数字,输入的是字符串读取到的就是字符串 python3 name= input ( "input you name:" ) 在3.0中无论输入的是什么,读取到的都是字符串 字符编码 由于在 python 3.0中字符串以 unicode 编码存储,要在网络上传输和写入二进制文件时,字符串无法直接写入(或读取),必须以某种方式的编码为字节序列后,方可写入。 1.字符串编码(encode) 为 bytes msg='hello world' b = msg.encode( 编码方式) b 就是 bytes 类型的数据 2.bytes 解码(decode)为字符串 msg=b'hello world' s=msg.decode( 编码方式) s 就是字符串 常用的编码方式为 : "utf-8", "gbk", "gb2312", "ascii" ,

基本数据类型

。_饼干妹妹 提交于 2019-11-27 14:16:40
数字类型及操作 整数类型 与数学中整数的概念一致 - 可正可负,没有取值范围限制 - pow(x,y)函数:计算 x y ,整数无限制,想算多大算多大 >>> pow(2,100) 1267650600228229401496703205376 >>> pow(2,pow(2,15)) 1415461031044954789001553…… 4种进制表示形式 - 十进制:1010, 99, -217 - 二进制,以0b或0B开头:0b010, -0B101 - 八进制,以0o或0O开头:0o123, -0O456 - 十六进制,以0x或0X开头:0x9a, -0X89 浮点数类型 - 带有小数点及小数的数字 - 浮点数取值范围和小数精度都存在限制,但常规计算可忽略 - 取值范围数量级约-10^307 至10^308 ,精度数量级10^-16 0.1 53位二进制表示小数部分,约10 -16 0.00011001100110011001100110011001100110011001100110011010 (二进制表示) 0.1000000000000000055511151231257827021181583404541015625 (十进制表示) 0.1 + 0.2 二进制表示小数,可以无限接近,但不完全相同 结果无限接近0.3,但可能存在尾数 - round(x, d)

python的22个基本语法

一世执手 提交于 2019-11-27 13:29:51
“人生苦短,我用Python”。Python编程语言是最容易学习、并且功能强大的语言。只需会微信聊天、懂一点英文单词即可学会Python编程语言。但是很多人声称自己精通Python,然后自己却写不出Pythonic的代码,对很多常用的包不是很了解。万丈高楼平地起,咱们先从Python中最最基础的开始。 01 Python的优点 · Python是一种类似人类讲话的语言 · 极其简单易学的语言 · 也是开源的语言之一 · 可移植性良好,在各大平台都可以运行,比如Windows、Mac、Linux上都可运行 · 丰富的第三方库:只有你想不到,没有Python做不到 · 解释性语言:可以直接从源代码运行。 · 既支持面向对象编程,又支持面向过程编程。 · 可扩展性好,部分程序可以使用其他语言编程,比如C/C++ 02 Python开发环境 目前,主流的Python开发环境有三个(开发环境也被称为IDE, Integrated Development Environment),分别是PyCharm、Anaconda 和Jupyter Notebook,我们称之为Python三剑客。为了说明它们的主要区别,笔者引用Python实战圈圈友劳元辉的一段话:“我三剑客在手,感觉可以屠进天下报表和模型。Anaconda,最主要是整体开发环境和第三方库的安装方便;Pycharm

Python基础知识

巧了我就是萌 提交于 2019-11-27 10:34:38
条件表达式 三元操作符 small = x if x<y else y 断言(assert) assert称为断言,当关键字后面的条件为假时候,出现自动崩溃并抛出AssertionError的异常 如 ```assert 3>4 # 会抛出AssertionError的异常,当我们要确保程序中某个条件一定为真才能让程序正常工作时可以使用 for循环 favor = "cicarius" for i in favor: print(i,end=" ") break 终止并退出 continue 中止本轮循环并开始下一次循环 range() range(start,stop,step=1) start,step可选,step默认为1 list(range(5)) # [0,1,2,3,4] 不包含5 for i in range(2,9) print(i) # 2,3,4,5,6,7,8 包含2不包含9 创建列表 member = ['Make','Jake','Joe','Sam'] number = [1,2,3,4,5] mix = [1,2,3.21,'Kaste','Max',2.34] #混合列表 empty = [] # 空列表 len(member) #长度 列表的append() member.append('Charle') # 添加新一个数组

正则表达式

£可爱£侵袭症+ 提交于 2019-11-27 10:01:26
一说正则我已经知道你很晕了,现在就让我们先来看一些实际的应用。 在线测试工具 http://tool.chinaz.com/regex/ 首先你要知道的是,谈到正则,就只和字符串相关了。在我给你提供的工具中,你输入的每一个字都是一个字符串。其次,如果在一个位置的一个值,不会出现什么变化,那么是不需要规则的。  比如你要用"1"去匹配"1",或者用"2"去匹配"2",直接就可以匹配上。这连python的字符串操作都可以轻松做到。那么在之后我们更多要考虑的是在同一个位置上可以出现的字符的范围。 来源: https://www.cnblogs.com/ops-song/p/11357623.html

python的变量以及常用的数据类型

好久不见. 提交于 2019-11-27 09:32:19
有关python的版本和安装以及概念特点可以参考上篇博文, python语言基础 此博文主要讨论问题如下: 一、python的变量 二、python常用的数据类型 一、什么是python的变量? 变量是计算机内存的一块区域,变量可以存储任何值,而且值可以改变。变量名由字母、数字和下划线组成。需要注意的是,不能使用python的关键字,英文大小写字母敏感,第1个字符必须是字母或下划线,不能是数字,示例代码如下: >>> x=1 >>> _x=2 >>> print(x) 1 >>> print(_x) 2 x和_x都是合法的变量名,print()是输出函数,能够输出变量的值,也可以不使用小括号。 python中的变量不需要声明,变量的赋值操作即是变量声明和定义的过程,如_x=2即是声明和定义的过程。还可以给几个变量同时赋值,示例代码如下: >>> a,b,c=4,5,6 >>> print (a) 4 >>> print(b,c) 5 6 a,b,c=4,5,6同时给3个变量进行了赋值操作,简化了多个变量赋值的代码。 二、python常用的数据类型有哪些? python内置的数据类型有 数字、字符串、元组、列表和字典 。 1、数字 数字类型包括整~型、浮点型、布尔型等,声明时由python内置的基本数据类型来管理变量,在程序的后台实现数值与类型的关联,以及转换等操作

Python 3 学习笔记:序列

时光毁灭记忆、已成空白 提交于 2019-11-27 08:42:45
序列 索引 序列是一块用于放置多个值得连续存储空间,并且按特定顺序排列,每个值(称为元素)都分配一个整数(由左至右则从 0 开始;由右至左则从 -1 开始),称为索引(index)或位置,如下所示: 可以根据索引获取每个元素实际的值 string = "飞流直下三千尺,疑是银河落九天。" print(string[5]) 复制 则上面的语句的运行结果为“千”。 切片 切片是访问序列中元素的另一种方法,该方法可以访问一定范围内的元素。 1 sequence[startIndex : endIndex : step] 复制 如果 startIndex 未指定,则默认从 0 开始;如果 endIndex 未指定,则默认一直到最后才结束切片;如果 step 未指定,则默认为 1,且其前面的冒号可以省略。 序列相加 在 Python 中支持将多个相同类型的序列相加(或者说拼接更准确),该操作只是单纯的将序列拼接在一起,而不进行其他附加的任何运算。 seq_1 = "飞流直下三千尺," seq_2 = "疑是银河落九天。" print(seq_1 + seq_2) 复制 当然,拼接之后实际上就是得到了一个新的序列,其索引将会重新排序。 序列相乘 数学意义上的乘法就是将一个数重复相加若干次之后得到一个结果,序列的乘法同样如此,也是将一个序列重复拼接若干次之后得到一个新的序列。 1 2

day16

杀马特。学长 韩版系。学妹 提交于 2019-11-27 08:16:25
1. 什么是模块 你要和某个东西打交道,而这个东西本身和python没有关系,这个东西本身就存在pyhton提供了一个功能的集合(模块), 专门负责和这和东西打交道 模块实际上就是给我们提供功能这个要操作的内容本来就存在,模块只不过是python提供给我们去操作这个内容的方法 模块: 一组功能的集合模块的类型: (1).内置模块: 不需要我们自己安装的,解释器自带的 (2).第三方模块: 需要我们自己安装的模块 (3).自定义模块: 需要我们自己写的 2. 正则表达式 2.1 正则表达式简介 (1) 正则表达式是是一种独立的规则,独立的语言.    正则表达式 只能和字符串打交道 (2)正则表达式的规则:     规则 字符串 从字符串中找到符合规则的内存 (3)正则表达式能干什么? # 1.从大段的文字中找到符合规则的内容(对正则要求较高) # 1>爬虫 从网页的字符串中获取你想要的的数据 # 2>日志分析 提取 2018-8-12 10:---- 花的所有钱 # 什么是日志: # 2018-8-12 10:00:00 楼下早点摊 3.00 # 2.判断某个字符串是否完全符合规则(对正则要求较低) # 表单验证: 手机号 QQ号码 邮箱 银行卡 身份证号 密码 2.2 正则表达式基础    普通字符就表示一个正常的字符  元字符表示它的特殊意义,如果转义元字符

语言、分支、循环、函数和模块、字符串和常用的数据结构

独自空忆成欢 提交于 2019-11-27 07:08:10
the second days 一、语言: 变量的类型: int、float、str(字符串)、bool(布尔型)、3+5j(复数型) 变量命名: 硬性规则: 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头。 大小写敏感(大写的 a 和小写的 A 是两个不同的变量)。 不要跟关键字(有特殊含义的单词)和系统保留字(如函数、模块等的名字)冲突。 PEP 8要求: 用小写字母拼写,多个单词用下划线连接。 受保护的实例属性用单个下划线开头。 私有的实例属性用两个下划线开头。 变量的使用: a = 321 b = 123 print(a + b) print(a - b) print(a * b) print(a / b) # 值为浮点数 print(a // b) # 值为整数 print(a % b) print(a ** b) # a的b次方 a = int(input('a = ')) # 输入用input()函数 这里用了类型转换int() b = int(input('b = ')) print('%d + %d = %d' % (a, b, a + b)) # 输格式中间用% print('%d - %d = %d' % (a, b, a - b)) print('%d * %d = %d' % (a, b, a * b))