字符串相关
1. 字符串声明,利用单引 'hello' 或者双引 "hello" 来进行创建字符串。当需要创建的文本有多行时,python提供三个引号来创建多行字符串:
s = """
青青子衿,
悠悠我心。
"""
2. 转义符
字符串中有些符号需要使用时,如单引双引 ‘’“”会被误解,这是需要使用转义符来告诉python解释器,这是一个干嘛的东西。常见的转义符有:
\n 换行符
\t 制表符(空出一大格)
\' 单引号
\" 双引号
\\ 反斜杠
\v 纵向制表符
3. 切片工具
切片工具能返回序列中需要的元素。
[x] 返回索引为x的元素
[x:y] 返回索引x至y-1的元素
[x:y:z] z为步长,即隔几个取一次元素。z为0
时报错
当X为0时可省略,y省略时自动取到结尾。参数可以为负数,-1表示序列的倒数第一个元素,z为-1时返回倒序。
4. 判断
x in str 判断字符串中是否存在 x 元素,存在返回True
x not in str 判断字符串中是否不存在 x 元素,存在返回False。
这两个判断同理也可用于其他的序列,如列表,元组,字典(字典中为查找键)。
s = 'asd520'
print('a' in s) >> True
print('0' not in s) >> False
注:0虽然为数字,但是要在字符串中是str格式,因此要加引号
5. 转换字符串
str(obj) 将非字符串类型转换为字符串,原对象不变化,返回一个新的字符串
n = 123
m = str(n)
type(m) >> <class 'str'>
6. R r
字符串第一个引号左边加 R 或者 r 可取消字符串里的转义以及格式化功能
n = r"abc\n\t%r%s"
print(n) >> abc\n\t%r%s
7. 格式化符号
占位符
%s 字符串用
%r 所有类型
%d 整数
%f 浮点数 %.3f 保留小数点后3位
format方法
str.format(xx)
n = "my name is %s,I'm %.2fm tall"
print(n %(小明,1.20)
m = "my name is {name},age{age}"
print(m.format(name="小红",age=18)
format方法字符串的花括号里也可不写东西,使用时要放入的内容要按照顺序。
8. 字符串的一些方法
len(str) 返回长度
count(str)返回出现次数
count(str, beg=0, end=len(string)) beg=0
这种键值对形式的为定义函数时给函数的默认参数,表示省略次参数时,默认值为多少。
功能:查找str出现的次数
str.capitalize() 首字符大写
str.title() 所有单词首字母大写,以空格判断单词
- find(str, beg=0, end=len(string)) 查找首个str,返回出现的下标.若不存在返回-1
- rfind( ) 同上,从右往左查找
- index(str, beg, end=len(string)) 同find, 若不存在时报错。
- split(str="", num=string.count(str) 以字符串中的 str 作为分割符,将字符串分割返回一个list. num为分割多少次
- str.join( x ) 用 str 作为 分隔符 合并x序列。x序列中的元素应为字符串
n = "啊*啊*啊"
n.split("*") >> ['啊','啊','啊']
m = ['啊','啊','啊']
b = "&"
b.join(m) >> "啊&啊&啊"
str.upper() 大写
str.lower() 小写
startswith(str) 判断是否以str 开头
endswith(str) 判断是否以str 结尾
- str.ljust(len, 'str') 若字符长度不足 len , 用str 在结尾处往左补齐。 str应为单个字符
- str.rjust() 在开头处往右补齐
- str.center() 左右平均补齐,所缺长度不为偶数时右边多一个。
s = "asd" s.ljust(7,'0') >> "asd0000" s.rjust(7,"@") >> "@@@@asd" s.center(8, "!") >> "!!asd!!!"
- str.strip() 去除两端空格
- str.lstrip() 去除左边空格
- str.rstrip() 去除右边空格
string.partition(str) 以 str 为分隔符 将字符串分割三份,返回一个tuple,左边为分隔符前的元素,中间为分隔符,右边为分隔符后的元素。
s = "Today is Saturday"
s.partition("is")
>> ("Today ","is"," Saturday")
str.splitlines( x=False) 以换行符/n为分隔符拆分,传入参数True时会保留 \n。返回一个list
- str.isalpha() 判断字符串是否全是字母或汉字
- str.isdigit() 判断是否全是数字
- str.isalnum() 判断是否全是字母,汉字或数字