前言
介绍py中的字符串。
介绍
构造
string中的内容使用单引号和双引号都没问题的,但是单引号里面只能双引号,双引号里面只能有单引号。
a = 'abc'
a = "abc"
转义
从runoob上截的图,py中的转义字符:
当字符串中有特殊字符的时候需要转义,在py中还有特殊的方法转义。
#转义
print('\\n')
print(r'''\r\n''') # 也可以一对单引号
print(R'''\r\n''')
编码
py中的默认编码是Unicode,我们尽量写文件格式为utf-8。
编码中字符对应了整数,可以用方法互转。ord是将字符转为对应编码中的整形,chr是将整型编码转为字符。
print(isinstance(str(ord('a')), str)) # True
print(isinstance(chr(97), str)) # False
设置字符串编码、解码格式
a = "a"
a = a.encode("utf-8", 'strict') # 设置编码格式,后面的参数是Error的处理方案
a.decode('utf-8', 'strict') # 设置解码格式
运算符
+连接字符串
a = "abc"
b = "ABC"
print(a + b) # abcABC
*字符串出现次数
print(a * 2) # abcabc
[字符串中字符索引] 根据索引找字符
print(a[0]) # a
[截取字符串起始位置:截取到位置(不包括此位置)]
print(a[1:2]) # b
in / not in 判断给定字符是否存在于字符串中
print('a' in a) # True
print('a' not in b) # True
r / R 转义
print(r'\b\r') # \b\r
% 格式化
print('hi %s' % 'Jack!') # hi Jack!
格式化
在上面的例子中已经看到了字符串格式化该怎么写,有几个%占位符,后面就需要几个变量,当有多个变量的时候需要括号。
print('hi %s,i am %s' % ('李雷', '韩梅梅')) # hi 李雷,i am 韩梅梅
还可以用上format,用{0}…{1}…{2}代表站位符位置,不需要%了。
print('hi {0},i am {1}'.format('李雷', '韩梅梅')) # hi 李雷,i am 韩梅梅
内置方法(函数)
这里介绍一部分常用的字符串内置函数
#String常用方法
a = "abcABC"
print(a.upper()) # ABCABC 转大写
print(a.lower()) # abcabc 转小写
print(a.startswith('abc')) # True 是否以某字符串开始
print(a.endswith('ccc')) # False 是否以某字符串结尾
print(a) # abcABC a本身是没有改变的,函数之前返回的是另外的字符串
print(a.index('a')) # 0 查找
print(a.rindex('a')) # 0 从右往左找
print(a.find('a')) # 0 字符'a'在字符串a中的位置
print(a.split(',')) # ['abcABC'] 以逗号分隔,返回list
print(a.replace('c', 'd')) # abdABC 替换
print(a) # abcABC 函数返回的字符串与a没有关系
a = a.replace('c', 'd') # 赋值后a发生改变
print(a) # abdABC
总结
复习了一下字符串感觉有很多东西都忘了,写博客看来很重要哈。下一篇讲list!