1.字符串
1 word = '字符串'
2 sentence = "这是一个句子。"
3 paragraph = """这是一个段落,
4 可以由多行组成"""
2.字符串换行
1 x = 'a'
2 y = 'b'
3 #换行输出
4 print (x)
5 print (y)
6
7 print ('----------')
8 #不换行输出
9 print (x,end = " ")
10 print (y,end = " ")
11 print ()
12 print (x,y)
以上代码得到结果:
1 a
2 b
3 ----------
4 a b
5 a b
3.用户输入
name = input() #用户输入内容至()内,则变量name的值为用户输入的值
4.占位符%以及转义符\
1 num = 10
2 str1 = 'hello'
3 f = 10.1267
4 #%d整数类型 %s 字符串类型 %f 浮点数
5 # 占位符 按顺序 浮点数类型小数几位
6 print ('num = %d,str1 = %s,f = %.3f' %(num,str1,f))
7
8
9 #\n换行 \t制表符 \\表示\ \'表示'
10 print ('num = %d\nstr1 = %s,f = %.3f' %(num,str1,f))
得到输出为:
1 num = 10,str1 = hello,f = 10.127
2 num = 10
3 str1 = hello,f = 10.127
5.eval()函数对字符串的处理
1 #eval(str) 功能:将字符串str当成有效的表达式来求值并返回计算结果
2 numb2 = eval('123')
3 print (numb2)
4 numb2 = eval('12+3')
5 print (numb2)
6 numb2 = eval('12-3')
7 print (numb2)
得到输出为:
1 123
2 15
3 9
6.截掉字符串左侧或者右侧的指定字符
1 #lstrip() 截掉字符串左侧的字符,默认为空格
2 str6 = "@@@@@@@@@@@@@liangge is a very very good man"
3 print (str6.lstrip("@"))
4 #liangge is a very very good man
5
6 #rstrip() 截掉字符串左侧的字符,默认为空格
7 #strip() 同时截掉字符串左侧以及右侧的字符,默认空格
得到输出为:
1 liangge is a very very good man
7.对字符串进行大小写转换
1 #str.lower()转换字符串中的大写字母为小写字母
2 #str.upper()转换字符串中的小写字母为大写字母
3 #str.swapcase()转换字符串中的小写字母为大写字母,转换字符串中的大写字母为小写字母
4 #str.captalize()字符串的首个字母大写
5 #str.title()每个单词的首字母大写
8.对字符串进行填充
1 #center(width,fillchar) 返回一个指定宽度的居中字符串,fillchar为填充的字符串,默认空格填充
2 str2 = "A is a nice man"
3 print (str2.center(20,"*"))
4 #ljust(width[,fillcha]) 返回一个指定宽度的左对齐字符串,fillchar为填充字符,默认空格填充
5 print (str2.ljust(40,"$"))
6 #A is a nice man$$$$$$$$$$$$$$$$$$$$$$$$$
7 #rjust(width[,fillcha]) 返回一个指定宽度的右对齐字符串,fillchar为填充字符,默认空格填充
8 print (str2.rjust(40))
9 #zfill(width) 返回一个长度为width的字符串,原字符串右对齐,前面填充0
10 print (str2.zfill(40))
以上代码返回结果:
1 **A is a nice man***
2 A is a nice man$$$$$$$$$$$$$$$$$$$$$$$$$
3 A is a nice man
4 0000000000000000000000000A is a nice man
9.检查字符是否在字符串中以及字符在字符串中的个数
1 #.count(sub[,start][,end]) 返回字符串中sub出现的次数,可以指定一个范围,默认从头到尾
2 str3 = "liangge is a very very good man"
3 print (str3.count("very",15,len(str3)))
4 #find(str[,start][,end]) 检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾,得到的是第一次出现的开始下标,没有返回-1
5 str4 = "liangge is a very very good man"
6 print (str4.find("very"))
7 #rfind(str[,start][,end]) 从右侧检测
8 str5 = "liangge is a very very good man"
9 print (str5.rfind("very"))
10 #index(str,start=0,end=len(str)) 跟find()一样,只不过如果str不存在的时候会报错
11 #rindex() 从右侧检测
以上代码返回结果:
1 1
2 13
3 18
10.分割字符串
1 #split(str="",num)以str为分隔符截取字符串,指定num,则仅截取num个字符串
2 str7 = "abc*xyz*lmn*opq***deg"
3 print (str7.split("*",3))
返回结果:
1 ['abc', 'xyz', 'lmn', 'opq***deg']
另外还有其他分割字符串的方法
1 #splitlines([keepends]) 按照('\r','\r\n','\n')分割,返回一个列表
2 #keepends == True 会保留换行符
3
4 #.join(seq) 以指定的字符串分隔符,将seq中的所有元素组合成一个字符串
11.替换字符串中指定字符
有两种替换方法
1 #replace("a","b",n) 用b替换a,替换前n个
2 str8 = "ace,nice,apple"
3 str9 = str8.replace("a","x")
4 print (str9)
返回结果:
1 xce,nice,xpple
以及字符串映射表
1 #创建一个字符串映射表,将字符串中对应"a"字符转换成"6","c"转换成"5"
2 t = str.maketrans("ac","65")
3 str8 = "ace,nice,apple"
4 str9 = str8.translate(t)
5 print (str9)
返回结果:
1 65e,ni5e,6pple
12.编码
1 #.encode(enconding='utf-8',errors='strict')
2 str10 = "liangge jiayou"
3 #ignore 忽略错误
4 data = str10.encode("utf-8","ignore")
5 print (str10)
6 print (data)
返回结果:
1 liangge jiayou
2 b'liangge jiayou'
13.解码
解码时要注意与编码时的编码格式一致:
1 str11 = data.decode("utf-8")
2 print (str11)
返回结果:
1 liangge jiayou
14.检查字符串
1 #startswith(str[,start][,end=len(str)]) 在给定的范围内判断是否以给定的字符串开头,如果没有指定范围,默认整个字符串
2 #endswith()
3 #.isalpha() 如果字符串中至少有一个字符且所有字符都为字母,那么返回True,否则返回False
4 #.isalnum() 如果字符串中至少有一个字符且所有字符都为字母或者数字,那么返回True,否则返回False
5 #.isupper() 如果字符串中至少有一个英文字符且所有字符都是大写的英文字母,那么返回True,否则返回False
6 #.islower() 如果字符串中至少有一个英文字符且所有字符都是小写,那么返回True,否则返回False
7 #.istitle() 如果字符串是标题化的返回True,否则返回False
8 #.isdigit() 如果字符串只包含数字返回True,否则返回False
9 #.isnumeric() 如果字符串只包含数字字符(包括中文数字)返回True,否则返回False
10 "一二三".isnumeric()
11 True
12 "一二三".isdigit()
13 False
14 #.isdecimal()如果字符串中只包含十进制字符返回True,否则返回False
15 #.isspace() 如果字符串中只包含空格则返回True,否则返回False
15.其余操作
#len(str) 返回字符串的长度(字符个数)
#ord()转换字符为ASCII码
#chr()转换ASCII码为字符
#字符串比较大小,从第一个字符开始比较,谁的ASCII码值大谁就大,如果相等会比较下一个字符的ASCII码值大小,那么谁的值大谁就大
print ("bazzzz" > "ba")
结果为:
1 True