python字符串操作

格式化字符串时尽量使用format()方式而不是%

余生颓废 提交于 2019-11-28 08:18:36
Python中内置的 %操作符 和 format()方式 都可以用于格式化字符串。 使用字符串格式设置运算符——百分号 %操作符 根据转换说明符所规定的格式返回一串格式化后的字符串,转换说明符的基本形式为: %[转换标记][宽度[.精确度]]转换类型 。 %操作符格式化字符串时有如下几种常见用法: 直接格式化字符或者数值 以元组的形式格式化 以字典的形式格式化 print ( "The %s is a kind of %s." % ( 'apple' , 'fruit' ) ) # The apple is a kind of fruit. person = { "name" : "watkins" , "address" : "siso" } print ( "The address of %(name)s is %(address)s." % person ) # The address of watkins is siso. 对字符串调用方法format print ( "The age of {name} is {age:02d}" . format ( name = 'watkins' , age = 5 ) ) # The age of watkins is 05 format()方法 格式字符串的调用格式为: "{字段名!转换标志:格式说明符}.format()"

string 字符串模块操作

社会主义新天地 提交于 2019-11-28 07:53:54
1. 常用方法 2.字符串常量 3.字符串模板Template 通过string.Template可以为Python定制字符串的替换标准,下面是具体列子: >>>from string import Template >>>s = Template('$who like $what') >>>print s.substitute(who='i', what='python') i like python >>>print s.safe_substitute(who='i') # 缺少key时不会抛错 i like $what >>>Template('${who}LikePython').substitute(who='I') # 在字符串内时使用{} 'ILikePython' Template还有更加高级的用法,可以通过继承string.Template, 重写变量delimiter(定界符)和idpattern(替换格式), 定制不同形式的模板。 import string template_text = ''' Delimiter : $de Replaced : %with_underscore Ingored : %notunderscored ''' d = {'de': 'not replaced', 'with_underscore': 'replaced',

字符串操作

萝らか妹 提交于 2019-11-28 07:53:05
1.字符串属性方法操作: 1.>字符串格式输出对齐 1 2 3 4 5 6 7 8 9 10 11 >>> str = "Python stRING" >>> print str .center( 20 ) #生成20个字符长度,str排中间 Python stRING >>> print str .ljust( 20 ) #生成20个字符长度,str左对齐 Python stRING >>> print str .rjust( 20 ) #生成20个字符长度,str右对齐 Python stRING 2.>大小写转换 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 >>> str = "Python stRING" >>> str .upper() #转大写 'PYTHON STRING' >>> str .lower() #转小写 'python string' >>> str .capitalize()      #字符串首为大写,其余小写 'Python string' >>> str .swapcase() #大小写对换 'pYTHON STring' >>> str .title() #以分隔符为标记,首字符为大写,其余为小写 'Python String' 3.>字符串条件判断 1 2 3 4 5 6 7 8 9 10 11 12 13

基础数据类型总结及编码进阶

旧城冷巷雨未停 提交于 2019-11-28 06:23:58
基础数据类型的总结 按存储空间的占用分(从低到高) 数字 字符串 集合:无序,即无序存索引相关信息 元组:有序,需要存索引相关信息,不可变 列表:有序,需要存索引相关信息,可变,需要处理数据的增删改 字典:有序,需要存key与value映射的相关信息,可变,需要处理数据的增删改(3.6之后有序) 按存值个数区分 标量/原子类型 数字,字符串 容器类型 列表,元组,字典 按可变不可变区分 可变 列表,字典 不可变 数字,字符串,元组,布尔值 按访问顺序区分 直接访问 数字 顺序访问(序列类型) 字符串,列表,元组 key值访问(映射类型) 字典 四. 编码的进阶 前两天咱们已经讲了编码,我相信大家对编码有一定的了解了,那么,咱们先回顾一下: 首先来说,编码即是密码本,编码记录的就是二进制与文字之间的对应关系,现存的编码本有: ASCII码:包含英文字母,数字,特殊字符与01010101对应关系。   a 01000001 一个字符一个字节表示。 GBK:只包含本国文字(以及英文字母,数字,特殊字符)与0101010对应关系。   a 01000001 ascii码中的字符:一个字符一个字节表示。   中 01001001 01000010 中文:一个字符两个字节表示。 Unicode : 包含全世界所有的文字与二进制0101001的对应关系。   a 01000001

Python3字符串

大兔子大兔子 提交于 2019-11-28 05:59:30
字符串是Python中最常用的数据类型,可以使用单引号或双引号来创建字符串 创建字符串很简单,为变量分配一个值即可。 val1 = ‘hello world’ var2 = “Runoob” Python 访问字符串的值 Python不支持单字符类型,单字符在Python中也是作为 一个字符串使用 Python访问子字符串,可以使用方括号来截取字符串,如下: /*** string.py ***/ var1 = 'hello world' var2 = "runoob" print ("var1[0]: ",var1[0]); print ("var2[1:5]: ",var2[1:5]) 运行结果: robot@ubuntu:~/wangqinghe/python/20190822$ python3.5 string.py var1[0]: h var2[1:5]: unoo Python 字符串更新 可以截取字符串的一部分和其他字段拼接,如下: Python 转义字符 在需要在字符中使用特殊字符,python用反斜杠转义字符 转义字符 描述 \(在行尾) 续行符 \\ 反斜杠符 \’ 单引号 \” 双引号 \a 响铃 \b 退格(space) \000 空 \n 换行 \v 纵向制符表 \t 横向制符表 \r 回车 \f 换页 \oyy 八进制,yy表示字符, \xyy

Python全栈学习入门(二)

懵懂的女人 提交于 2019-11-28 05:45:39
Python全栈学习入门(二) 代码注释 单行注释 单行注释只需要在代码前面加上#号 多行注释 多行注释用三个单引号或者三个双引号躲起来 """ 注释内容 """ 或者 ''' 注释内容 ''' 编写长段的提示信息时,可以使用多行注释 代码示例: docs=""" print "I'm a Python developer" print "My blog URL: https://xxxxxxxx.me" print "Life is short, you need Pytho" """ """ 字符串数据类型 标准的字符转义码 字符串内建方法 str='人生苦短'print(len(str.encode())) #utf8每个中文占3个字节12print(len(str.encode("gbk"))) #gbk每个中文占2个字节8 string.expandtabs(tabsize=8) # tab符号转为空格 #默认8个空格 string.endswith(obj,beg=0,end=len(staring)) # 检测字符串是否已obj结束,如果是返回True #如果beg或end指定检测范围是否已obj结束 string.count(str,beg=0,end=len(string)) # 检测str在string里出现次数 f.count('\n',0,len(f))

python 正则表达式

与世无争的帅哥 提交于 2019-11-28 05:35:46
闭包操作符 | 等同于 or exp:a|b|c . 匹配任意一个字符 (若匹配本字符,需转义使用 \. 不能匹配换行符\n及空字符串) (^:匹配首部【\b:匹配首部 \B:匹配任意位置】 $:匹配尾部) [abc]:匹配中括号内任意字符 ^置于首位表示不取该字符 -连接:表字符范围 exp: A-Z 0-9 *:表示0次或多次 +:表示一次或多次 ?: 表示0次或1次 \d:表十进制数字匹配 \w:表字符数字的字符集匹配 \s:表示空格字符匹配 ( 大写表取反 ) (?...)表示对匹配字符串进行筛选 re.I :使匹配对大小写不敏感 r:Python中字符串前面加上 r 表示原生字符串(rawstring) 原因:阿斯克码值和特殊字符存在冲突 #match:从起始部分对字符串进行匹配,匹配失败,抛出Attribute Error异常 (pattern,string) #search:从字符串任一位置进行匹配 #findall:返回所有符合匹配的字段 #sub/subn:用字符串替换匹配的字段,subn返回匹配个数 group():返回匹配的字段、groups():以数组形式返回匹配字段 来源: https://www.cnblogs.com/bkyf/p/11394383.html

正则表达式的总结和思考

≯℡__Kan透↙ 提交于 2019-11-28 05:35:02
正则表达式总结(python) 正则表达式(称为RE,或正则,或正则表达式模式)本质上是嵌入在Python中的一种微小的、高度专业化的编程语言,可通过 re 模块获得。正则表达式用于对字符串进行操作,最主要的为:匹配字符串、修改字符串。 匹配字符: 元字符 :这类字符拥有特殊含义,并且不匹配自己,相反它们表示应该匹配一些不同的东西,或者通过重复它们或改变它们的含义来影响正则的其他部分。 元字符的列表:. ^ $ * + ? { } [ ] \ | ( ) 。首先“[”和”]”, 它们用于指定字符类,它是你希望匹配的一组字符。 可以单独列出字符,也可以通过给出两个字符并用 '-' 标记将它们分开来表示一系列字符。 例如,[abc] 将匹配任何字符 a、b 或 c; 这与 [a-c] 相同,它使用一个范围来表示同一组字符。其次,最重要的元字符是”\”,反斜杠后面可以跟各种字符,以指示各种特殊序列,也用于转义所有元字符,可以通过反斜杠来移除它们的特殊含义,如:\[或\\。 \d 匹配任何十进制数字;这等价于类 [0-9]。 \D 匹配任何非数字字符;这等价于类 [^0-9]。 \s 匹配任何空白字符;这等价于类 [ \t\n\r\f\v]。 \S 匹配任何非空白字符;这相当于类 [^ \t\n\r\f\v]。 \w 匹配任何字母与数字字符;这相当于类 [a-zA-Z0-9_]。 \W

正则表达式

北慕城南 提交于 2019-11-28 04:13:06
转载,出处: https://segmentfault.com/a/1190000009162306 1. 正则表达式 1.1 什么是正则表达式 正则表达式 : 定义一个搜索模式的字符串。 正则表达式可以用于搜索、编辑和操作文本。 正则对文本的分析或修改过程为:首先正则表达式应用的是文本字符串(text/string),它会以定义的模式从左到右匹配文本,每个源字符只匹配一次。 1.2 示例 正则表达式 匹配 this is text 精确匹配字符串 "this is text" this\s+is\s+text 匹配单词 "this" 后跟一个或多个空格字符,后跟词 "is" 后跟一个或多个空格字符,后跟词 "text" ^\d+(\.\d+)? ^ 定义模式必须匹配字符串的开始, d+ 匹配一个或多个数字, ? 表明小括号内的语句是可选的, \. 匹配 ".",小括号表示分组。例如匹配:"5"、"1.5" 和 "2.21" 2. 正则表达式的编写规则 2.1 常见匹配符号 正则表达式 描述 . 匹配所有单个字符,除了换行符(Linux 中换行是 \n ,Windows 中换行是 \r\n ) ^regex 正则必须匹配字符串开头 regex$ 正则必须匹配字符串结尾 [abc] 复选集定义,匹配字母 a 或 b 或 c [abc][vz] 复选集定义,匹配字母 a 或 b 或 c

Python JSON的简单使用2

China☆狼群 提交于 2019-11-28 03:40:33
json简介 json是什么? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。 “在JSON出现之前,大家一直用XML来传递数据。因为XML是一种纯文本格式,所以它适合在网络上交换数据。XML本身不算复杂,但是,加上DTD、XSD、XPath、XSLT等一大堆复杂的规范以后,任何正常的软件开发人员碰到XML都会感觉头大了,最后大家发现,即使你努力钻研几个月,也未必搞得清楚XML的规范。 终于,在2002年的一天,道格拉斯·克罗克福特(Douglas Crockford)同学为了拯救深陷水深火热同时又被某几个巨型软件企业长期愚弄的软件工程师,发明了JSON这种超轻量级的数据交换格式。” json特点 json格式适合阅读,容易理解,对计算机来说处理起来也很方便。json文本格式与C家族语言(C,C++,C#,Java,JavaScript,Perl,Python以及许多其他语言)的传统变量非常的相似,它的文本语言建立在以下两种结构上: l “名称/值”对的无序集合(以下简称键值对),在其他编程语言中,这种“名称/值”对可能称为对象、记录、结构、字典、哈希表、键表或者关联数组。 l “值”的有序列表,对应其他语言中的数组,向量,链表或者序列。 上面这些基本的数据结构,几乎所有现代语言都能支持其中一种或多种