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