python字符串操作

Python爬虫实践 ——— Regular Expressions Python re模块

£可爱£侵袭症+ 提交于 2020-01-08 21:31:58
Python re 模块,提供了 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。 (1)re.match 函数   match函数   从字符串起始位置匹配一个模式。   语法: re . match ( pattern , string , flags = 0 )     parttern 匹配模式 string 要匹配的字符串 flag 限定修正符re.i re.g re.m (2)re.search 函数   search函数   扫描整个字符串并返回第一个成功的匹配。   语法:re.search( pattern , string , flags = 0 )     parttern 匹配模式 string 要匹配的字符串 flag 限定修正符re.i re.g re.m                     ****** re.match与re.search的区别 ****** re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。 (3)re.sub函数   sub函数   Python 的re模块提供了re.sub用于替换字符串中的匹配项。   语法: re . sub ( pattern , repl , string ,

Python常用模块

感情迁移 提交于 2020-01-08 12:03:57
os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.chdir() 改变当前工作目录os.getcwd() 获取当前文件路径os.mkdir() 新建目录os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree())os.makedirs() 创建多级目录os.removedirs() 删除多级目录os.stat(file) 获取文件属性os.chmod(file) 修改文件权限os.utime(file) 修改文件时间戳os.name(file) 获取操作系统标识os.system() 执行操作系统命令os.execvp() 启动一个新进程os.fork() 获取父进程ID,在子进程返回中返回0os.execvp() 执行外部程序脚本(Uinx)os.spawn() 执行外部程序脚本(Windows)os.access(path, mode) 判断文件权限(详细参考cnblogs)os.wait() 暂时未知os.path模块:os.path.split(filename) 将文件路径和文件名分割(会将最后一个目录作为文件名而分离)os.path.splitext(filename) 将文件路径和文件扩展名分割成一个元组os.path

python之字符串的魔法(三)

微笑、不失礼 提交于 2020-01-07 13:07:19
1.test="huashang\tzhengao" v=test.expandtabs(12) print(v) //输出结果为huashang zhengao,中间空格符占四位,且对于制作表格用途不错 2.test1="optistic" v1=test1.isalpha() print(v1) //输出结果为True,判断该字符串是否只含有字母 3.test2="②" v2=test2.isdecimal() v3=test2.isdigit() v4=test2.isnumeric() print(v2,v3,v4) //输出结果为False True True,都是用于判断当前的是否是数字 ,但前俩者对于特 殊型数字又有点区别,第三者判断中文数字为True,前俩者显示False 4.test3="1_define" v5=test3.isidentifier() print(v5) //输出结果为False,判断是否为合法标识符 5.test4="123\t" v6=test4.isprintable() print(v6) //输出结果为False,判断是否有不可显现的字符 6.test5=" " v7=test5.isspace() print(v7) //输出结果为True,判断是否全为空格字符 7.test6="your passion for your

python--数据类型之字符串

时光毁灭记忆、已成空白 提交于 2020-01-07 09:05:11
字符串:通过引号包起来的 空字符:里面没有任何字符 空白字符:里面有内容,内容是空格键 python中任何数据都是可以转换为布尔值 print(bool(s1)) #数据s1中没有内容,转换成布尔值后就是False print(bool(s2)) #数据s2中有内容,转换成布尔值后就是True 数值类型转换为字符串 s3=str(num_5) print(type(s3),s3) ——通过str()函数,就可以把数值类型转换为字符串类型 字符串操作 索引取值---可以正序取值,也可以倒序取值;正序取值索引从0开始,倒序取值索引从-1开始; eg:str='hello python' -----正序索引:res1=str[0] ; 倒序索引:res2=str[-1] 字符串切片---取出来的值还是--字符串 2.1 str[m:n]---m是开始索引,n是结束索引+1,取头不取尾 2.2 str[:n]----开始位置不写,默认从头开始 2.3 str[m:]---结束位置不写,默认到结束 2.4 str[m:n:k]---按步长切片,k就是步长,就是多少个取一个 字符串拼接 3.1 +号拼接 eg:str2=str+str1 3.2 join 方法 字符串x.join((字符串1,字符串2)) eg:str3=','.join((str,str1)), join里面是一个参数

08_基本的输入与输出

人盡茶涼 提交于 2020-01-06 23:37:04
1. 变量的输入 所谓 输入 ,就是 用代码 获取 用户通过 键盘 输入的信息 例如:去银行取钱,在 ATM 上输入密码 在 Python 中,如果要获取用户在 键盘 上的输入信息,需要使用到 input 函数 1.1 关于函数 一个 提前准备好的功能 (别人或者自己写的代码), 可以直接使用 ,而 不用关心内部的细节 目前已经学习过的函数 函数 说明 print(x) 将 x 输出到控制台 type(x) 查看 x 的变量类型 1.2 input 函数实现键盘输入 在 Python 中可以使用 input 函数从键盘等待用户的输入 用户输入的 任何内容 Python 都认为是一个 字符串 语法如下: 字符串变量 = input ( "提示信息:" ) 1.3 类型转换函数 函数 说明 int(x) 将 x 转换为一个整数 float(x) 将 x 转换到一个浮点数 1.4 变量输入演练 需求 收银员输入 苹果的价格,单位: 元/斤 收银员输入 用户购买苹果的重量,单位: 斤 计算并且 输出 付款金额 演练方式 1 # 1. 输入苹果单价 price_str = input ( "请输入苹果价格:" ) # 2. 要求苹果重量 weight_str = input ( "请输入苹果重量:" ) # 3. 计算金额 # 1> 将苹果单价转换成小数 price = float (

替换空格(C++和Python 实现)

别等时光非礼了梦想. 提交于 2020-01-03 03:52:25
(说明:本博客中的 题目 、 题目详细说明 及 参考代码 均摘自 “何海涛《 剑指Offer:名企面试官精讲典型编程题 》2012年”) 题目 请实现一个函数,把字符串中的每个空格替换为 "%20" 。例如输入 "We are happy.", 则输出 "We%20are%20happy." 。 进一步详细说明: 在网络编程中,如果 URL 参数中含有特殊字符,如空格、'#'、':' 等,可能导致服务器端无法获得正确的参数值。我们需要这些特殊符号转换成服务器可以识别的字符。转换规则是在 '%' 后面跟上 ASCII 码的两位十六进制的表示。如空格的 ASCII 码是 32,即十六进制的 0x20,因此空格被替换成 "%20" 。再比如 '#' 的 ASCII 码为 35,即十六进制的 0x23,它在 URL 中被替换为 "%32"。再比如 ':' 的 ASCII 码为 50,即十六进制的 0x32,它在 URL 中被替换为 "%32"。 算法设计思想 1. 时间复杂度为 O(n 2 ) 的算法思想 从头到尾,扫描字符串中的每个字符,遇到空格,先将剩余的字符(未遍历到的字符串)整体向后移动2个位置,然后,在空格和其后的2个字符的替换为"%20"。 2. 时间复杂度为 O(n) 的算法思想 先遍历整个字符串,计算字符串中空格的总数,从而可以计算出替换后的字符串长度(根据替换规则

python f-string

岁酱吖の 提交于 2020-01-03 02:25:53
文章目录 1. 主要内容 1.1. 旧时代的格式化字符串 1.1.1. Option #1: %-formatting 1.1.2. 怎样使用 %-formatting 1.1.3. 为什么 %-formatting不好用 1.2. Option #2: str.format() 1.2.1. 怎样使用Use str.format() 1.2.2. 为什么 str.format() 并不好 1.3. f-Strings:一种改进Python格式字符串的新方法 1.3.1. 简单例子 1.3.2. 任意表达式 1.3.3. 多行f-string 1.3.4. 性能 1.4. Python f-Strings:Pesky细节 1.4.1. 引号 1.4.2. 字典 1.5. 大括号 1.5.1. 反斜杠 1.5.2. lambda表达式 1.6. 结束语 <!-- Gallery --> <!-- Post Content --> <p><span></span><br><a id="more"></a></p> 主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今天开始使用f-string(后文称为 F字符串 )。 但首先,

高级测试工程师面试必问面试基础整理——python基础(一)(首发公众号:子安之路)

孤街浪徒 提交于 2020-01-02 17:35:38
现在深圳市场行情,高级测试工程师因为都需要对编程语言有较高的要求,但是大部分又没有python笔试机试题,所以面试必问python基础,这里我整理一下python基本概念, 陆续收集到面试中python相关问题都会整理在这里 (一)python数据类型问题list 1,Python3 数据类型有哪些? Number 数字String 字符串 List 列表 Tuple 元组 Dictionary 字典 Set 集合 Null 空值Boolean 布尔值 一共8种,前6种为常见数据类型。 ( 二)Python的数据类型概念,这里会问数据类型区别,例如,list和set区别,list和tuple区别等等: 1,Number 数字: int(整型) float(浮点型) complex(复数)  2,String 字符串: 可以使用单引号('')或双引号("")来表示字符串; 多行字符串可以使用三重引号 ''' 或 """来表示;字符串可以被索引和截取;加号(+)是字符串的连接符, 星号(*) 表示复制当前字符串,紧跟的数字为复制的次数;字符串内部既包含'又包含",可以用转义字符\来标识比如: 'I\'m \"OK\"!'\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\ 3,List 列表: 列表是有序的元素序列;元素的类型可以不同,支持数字、字符串,列表;用

Python的基础语法

别来无恙 提交于 2020-01-02 17:33:35
一,编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码: 1 # -*- coding: cp-1252 -*- 二,标识符 标识符是用于给变量、函数等命名的一串字符串,但是字符串未必是标识符 标识符规则 1.只能由字母,数字,下划线组成,并且不能为数字开头 2. 区分大小写,如Fruits和fruits为不同关键字 3.不能为关键字,关键字为python预留,可在Python中用import函数导出: 1 import keyword 2 keyword.kwlist 3 ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] #在Python3中

《Python核心编程》笔记

十年热恋 提交于 2020-01-01 22:56:47
1 python是大小写敏感的 2 遍历一个字典的键值: for a in dict_obj.keys(): print a 3 列表解析功能可以让代码很简洁,比如: squared = [x ** 2 for i in range(0, 3)] 还可以加上筛选条件: squared = [x ** 2 for i in range(0, 3) if not x % 2] 4 python的一些命名风格: __xxx__:系统定义的名字 __xxx:类中的私有变量名 5 在python程序中,我们经常看到 if __name__ == '__main__'这样的语句,这条语句一般写为顶级执行代码,__name__是一个系统变量,当程序是被其它模块导入时,该值为模块名字,当直接执行该文件时该值为'__main__' 6 del语句能够直接释放资源 7 python的垃圾收集器实际上是一个引用计数器和一个循环垃圾收集器,循环垃圾收集器是指会尝试清理未引用的循环 8 使用局部变量替换模块变量,可以加快查找速度,因为省去了名字查询,举例: ls = os.linesep os.linesep返回的是当前系统的行终止符,比如linux系统的是'\n',windows系统的是'\r\n',Mac系统的是'\r' 如果每次都使用os.linesep则解释器需要先确认os是一个模块