3.使用字符串【python基础教程第三版 笔记】
2019-03-04 22:33
513 查看
字符串的基本操作
所有标准序列操作都适用于字符串,但字符串是不可变的,原有的元素赋值和切片赋值都是非法的:
>>>website = "www.faifj.com" >>>website[-3:] = 'com' TypeError:object doesn't support slice assignment
设置字符串的格式
1.使用百分号
>>>format = "hello, %s. %s enough for ya?" >>>values = ('world','hot') >>>format % values 'hello world.hot enough for ya?' %s为转换说明符,%s设置为字符串,%.3f设置为包含3位小数的浮点数
2.类似Unix shell
>>>from string import Template >>>tmpl = Template("hello \$who !,\$what enough for ya?") >>>tmpl.substitude(who = "mars",what = "hot") 包含等号的参数叫做关键字参数 hello mars!hot enough for ya?
3.字符串方法format
>>>"{},{} and {}".format("one","tow","three") 'first,second and three >>>"{3} {0} {2} {1} {3} {0}".format("be","not","or","to") >>>"to be or not to be" 索引{}为自动编号,{0}为手动编号,不能同时使用自动和手动。 >>>"{foo},{},{bar},{}".format(1,2,bar=3,foo=4) >>>"4,1,3,2" 数字不能放在关键字参数后面,也不能索引{2}位置的参数。 >>>from math import pi >>>"{name} is about {value:.2f}".format(value = pi, name = "pi") pi is about 3.14
如果变量名和替换字段同名,还可以简写——在字符串前面加上f
>>>from math import e >>>f"roughly {e:.2f}" 等价于 " roughly {e:2f} ".format(e=e) "roughly 2.71"
如果要包含花括号,就用两个花括号:
>>>"{{qwerty}}".format() >>>"{qwerty}"
不仅能使用值本身,还可以访问它的其他组成:
>>>full_name = ["1","2"] >>>"my name is {name[1]}".format(name=full_name) "my name is 2" >>>import math >>>temp = "the {mod._name_} defines {(mod.pi):.2f} for pi" >>>temp.format(mod=math) "the math defines 3.14 for pi"
4.基本转换:提供转换标志
>>>print("{pi!s}{pi!r}{pi!a}"),format=" π" π ' π' '\u03c0' s代表string,转化为基本字符串 r代表repr,转化为给定值的python表示(python2中是ascii码,这里是字符串字面量) a代表ascii,转换为ascii码
5.指定宽度
>>>"{num:10}".format(num=3) >>>"9个空格+3" >>>"{name:10}".format(name="b") >>>"b+九个空格" 数和字符串的对齐方式不同
6.指定精度
>>>"{pi:10.2f}".format(pi=pi) "6个空格+3.14" >>>"{:5}".format("qwertdhfh") 'qwert'
7.千位分隔符
>>>"{:,}".format(10*100000) '1,000,000'
同时设定宽度、精度、分隔符
>>>{:10,.2f}.format(10*100000) 1,000,000.00
8.符号、对齐、用0填充
用0填充,也可以是加号减号$或空格,
>>>"{:010.2f}".format(pi) '0000003.14' 左对齐< 右对齐> 居中^ >>>print({0:<10.2f}{0:>10.27}{0:^10.2f}).format(pi)) 3.14 3.14 3.14 前面加-为默认,遇到负数时要注意: >>>print(“{0:-.2}”\n{1:-.2}.format(pi,-pi)) 3.1 -3.1 说明符= >>>print("{0:10.2f}\n{1:10.2f}.format(pi,-pi)") 3.14 -3.14 >>>print("{0:10.2f}\n{1:=10.2f}.format(pi,-pi)") 3.14 - 3.14
9.#指定符号
对于二、八、十六进制,会在前面加上进制符前缀
>>>"{'0:b'}".format(42) '101010' >>>"{0:#b}".format(42) '0b101010'
对于十进制,要求必须包含小数点
>>>"{:g}".format(42) '42' >>>"{:#g}".format(42) '42.0000'
字符串格式优先级
{索引:填充符号 # 对齐 宽度 分隔符 精度}
模块string中几个很有用的常量
- string digits:包含数字0-9的字符串
- string.ascin_letters:包含所有ASCII字母(包括大小写)的字符串
- string.ascii_lowercase:包含所有小写ASCII字母的字符串
- string.printable:包含所有可打印的ASCII字符的字符串
- string.punctuation:包含所有ASCII标点字符的字符串
- 虽说是ascii字符串,但值是未编码的Unicode字符串。
常见的字符串方法
1.center 填充字符居中
>>>"center".center(10.*) "\*\*center\*\*"
2.find 寻找子串
>>>name = '$$$hifeo' >>>name.find('\$$$') 0 如果找到,返回第一个字符所在的索引,没找到返回-1 和in的区别 - python2.3之前,in只能查找单个字符 - in返回的是布尔值,find返回的是数值
还可以指定搜索的起点和终点:
object.find(字符串,起点,终点),包含起点,不包含终点。
3.join 合并字符串
常见错误
>>>seq = [1,2,3,4,5] >>>sep = '+' >>> sep.join(seq) 错误,只能合并字符串,而seq中的元素类型是int >>>seq = [‘1‘,’2‘,’3‘,’4‘,’5‘] >>>sep = '+' >>> sep.join(seq) '1+2+3+4+5'
4.replace指定字串替换
object.replace(’指定字符串‘,’要替换的字符串‘)
可实现查找替换功能。
5.split 将字符串拆分为序列
>>>'1+2+3+4+5'.split('+') ['1','2','3','4','5']
6.strip删除开头和末尾的空白
>>>names = ['1','2','3'] >>>name = '1 '(1后面多了个空格) >>>name.strip() in names true
还可以指定要删除的元素(仅删除开头和结尾,中间不删除):
>>>'*** SPAM * for * everyone!!!**'.strip('*!') 'SPAM * for * everyone'
7.translate替换字符的特定部分
和replace的区别:
- 只能进行单字符替换
- 能够同时替换多个字符,效率比replace高
使用translate首先要创建转换表,对字符串类型str调用maketrans(‘要查找的字符串’,‘要替换的字符串’,‘要删除的字符’),两个字符串长度必须相同,前一个参数中的每个字符替换成后一个参数的相应字符。
#创建转换表
>>>table = str.maketrans('cs','ab','llo')
#使用translate参数
>>>"hillo cs" .translate(table) 'hi ab'
相关文章推荐
- Python基础教程 第3章: 使用字符串 学习笔记
- Python基础教程笔记——第3章:使用字符串
- 廖雪峰python3.6教程笔记3-Python基础之使用list, tuple, dict和set
- Python 基础教程第三章 使用字符串
- Python基础教程——第三章 使用字符串
- python基础教程_学习笔记5:字符串
- python基础教程--使用字符串
- Python基础教程之第3章 使用字符串
- python基础教程学习笔记 —字符串
- <<Python基础教程>>学习笔记 | 第03章 | 字符串
- .Net程序员之Python基础教程学习----字符串的使用 [Second Day]
- python基础教程学习笔记 第三章 字符串
- 廖雪峰python3.6教程笔记3-Python基础之字符串与编码
- Python基础教程第三版学习笔记
- Python基础教程-第三章-使用字符串
- Python基础教程之第3章 使用字符串
- Python基础教程代码与注释P55 4.1 字典的使用 4.2.1 dict函数 4.2.3 字典的格式化字符串 4.2.3 字典的格式化字符串
- Python基础教程学习笔记----第三章 字符串
- <<Python基础教程>>学习笔记 | 第12章 | 图形用户界面
- Python 教程阅读笔记(一):使用解释器