转义字符
Python支持的转义字符表,部分的也是常用的,等用到更复杂的时候在去查找。
转义字符 说明
\b 退格符
\n 换行符
\r 回车符
\t 制表符
\" 双引号
\' 单引号
\\ 反斜线
字符串格式化
- Python提供了“%”对各种类型的数据进行格式化输出。
user = "hanmeimei"
age = 8
# 格式化字符串有两个占位符,第三部分提供2个变量
print("%s is a %s years old boy" % (user , age))
- 使用“%”作为分隔符。后面跟字母,表示不同的含义。
- 格式化字符串的“%s”被称为转换说明符,作用相当于一个占位符。
转换说明符表
转换说明符时可指定转换后的最小宽度。
num = -28
print("num is:%6i" % num)
指定最小宽度为6,程序自动在数值前面补充了三个空格。
转换出来的字符串总是右对齐的,不够宽度时左边补充空格。
添加一个标志来改变这种行为:(三种标志可同时存在)
-:指定左对齐。
+:表示数值总要带着符号(正数带“+” ,负数带" -")。
0:表示不补充空格, 而是补充0 。
浮点数指定小数点后的数字位数,字符串指定字符串的最大字符数。统称精度值。放在最小宽度之后,中间用点(.)隔开。
my_value = 3.001415926535
# 最小宽度为8,小数点后保留3位
print("my_value is:%8.3f" % my_value)
the_name = "Charlie"
# 只保留3个字符
print("the name is: %.3s" % the_name) # 输出Cha
序列相关方法
索引操作字符串,直接在方括号([ ])中使用索引即可。
字符串中第一个字符索引为0,第二个字符的索引为1。
允许从后面开始计算索引,最后一个字符的索引为-1,倒数第二个索引为-2。
允许省略起始索引或结束索引。
支持用in运算判断是否包含某个字串。
获取字符串的长度,用内置函数len()函数。
获取字符串中最小字符和最大字符,用min()和max()函数。
s = 'crazyit.org is very good'
# 获取s中从右边开始,索引4处的字符
print(s[-4]) # 输出g
# 获取s中从索引3处到索引5处(不包含)的子串
print(s[3: 5]) # 输出zy
# 获取s中从索引3处到倒数第5个字符的子串
print(s[3: -5]) # 输出zyit.org is very
# 获取s中从倒数第6个字符到倒数第3个字符的子串
print(s[-6: -3]) # 输出y g
# 输出s字符串中最大的字符
print(max(s)) # z
# 输出s字符串中最大的字符
print(min(s)) # 空格
大小写相关方法
Python字符串由内建的str类代表。
dir():列出指定类或模块包含的全部内容(包含函数、方法、类、变量等)
_开头和_结尾的方法被约定成私有方法,不希望被外部直接调用。
help():查看某个函数或方法的帮助文档。
例如:dir(str)
help(str.title)
str类大小写相关方法:
title():将每个单词的首字母改为大写。
lower():将整个字符串改为小写。
upper():将整个字符串改为大写。
删除空白
str类删除空白方法:
strip():删除字符串前后的空白。
lstrip():删除字符串前面(左边)的空白。
rstrip():删除字符串后面(右边)的空白。
字符串一旦形成,它所包含的字符序列就不能发生任何改变。所以:以上三个方法只是 返回字符串前面或后面空白被删除之后的副本,并没有真正改变字符串本身。
上面三个方法传入指定参数:
s2 = 'i think it is a scarecrow'
# 删除左边的i、t、o、w字符
print(s2.lstrip('itow'))
# 删除右边的i、t、o、w字符
print(s2.rstrip('itow'))
# 删除两边的i、t、o、w字符
print(s2.strip('itow'))
查找、替换相关方法
startswith( ):判断字符串是否以指定子串开头。
endswith( ):判断字符串是否以指定子串结尾。
find( ):查找指定子串在字符串中出现的位置,如果没有找到指定子串,则返回-1。
index( ):查找指定子串在字符串中出现的位置,如果没有找到指定子串,则引发
ValueError错误。
replace( ):使用指定子串替换字符串中的目标子串。
s = 'crazyit.org is a good site '
# 判断s是否以crazyit开头
print(s.startswith('crazyit'))
# 从索引为9处开始查找'org'的出现位置
print(s.find('org', 9)) # -1
# 从索引为9处开始查找'org'的出现位置
print(s.index('org', 9)) # 引发错误
# 将字符串中所有it替换成xxxx
print(s.replace('it', 'xxxx'))
# 将字符串中1个it替换成xxxx
print(s.replace('it', 'xxxx', 1))
translate( ):使用指定的翻译映射表对字符串执行替换。
# 定义替换表:97(a)->945(α),98(b)->945(β),116(t)->964(τ),
table = {97: 945, 98: 946, 116: 964}
print(s.translate(table)) # crαzyit.org is α good site
str类提供了一个maketrans( )方法,通过该方法可以非常方便地创建翻译映射表。
参数一:需要映射的所有字符
参数二:目标字符
table = str.maketrans('abt','αγτ')
print(table) #{97: 945, 98: 947, 116: 964}
table = str.maketrans('abc','123')
print(table)#{97: 49, 98: 50, 99: 51}
Python2.x先导入string模块,然后调用该模块的maketrans()函数。
import string
table = string.maketrans('abc','123')
分割、连接方法
str提供了分割和连接方法:
split( ): 将字符串按指定分割符分割成多个短语。
join( ):将多个短语连接成字符串。
例如:
s = 'crazyit.org is a good site'
# 使用空白对字符串进行分割
print(s.split()) # 输出 ['crazyit.org', 'is', 'a', 'good', 'site']
# 使用空白对字符串进行分割,最多只分割前2个单词
print(s.split(None, 2)) # 输出 ['crazyit.org', 'is', 'a good site']
# 使用点进行分割
print(s.split('.')) # 输出 ['crazyit', 'org is a good site']
mylist = s.split()
# 使用'/'为分割符,将mylist连接成字符串
print('/'.join(mylist)) # 输出 crazyit.org/is/a/good/site
# 使用','为分割符,将mylist连接成字符串
print(','.join(mylist)) # 输出 crazyit.org,is,a,good,site