#什么是字符串 #字符串是单引号或双引号括起来的任意文本 # 'abc' "abc" #字符串不可变 #创建字符串 str1 = "ben is a good man" str2 = "ben is a nice man" str3 = "ben is a handsome man" #字符串运算 1.字符串连接 str4 = "ben is a " str5 = "good man" str6 = str4+str5 print(str6) #输出重复字符串 str7 = "good" str8 = str7*3 print("str8= ",str8) #访问字符串中的某一个字符 str9 = "ben is a good man" print(str9[1]) #截取字符串 str10 = "ben is a good man" str11 = str10[4:13] #[开始字符:结束字符] print(str11) #从头截取到下标之前 str12 = str10[:13] print(str12) #从给定下标截取到结尾 str13 = str10[13:] print(str13) #成员运算符 str14 = "ben is a good man" print("good" in str14) # 判断 good 是否在 str14里面,真 返回True 假 返回 False print("good1" not in str14) print(~5) ''' 00000101 11111010 10000110 ''' #格式化输出 print("ben is a good man") num = 10 str15 = "ben is a nice man" f = 10.1234 print("num= ",num) # .3f 精确到小数点后三位,会四舍五入 print("num = %d,str15 = %s, f = %.3f" % (num,str15,f)) #转义字符 \ 将一些字符转换成特殊含义的字符 print("num = %d\nstr15 = %s\nf = %.3f" % (num,str15,f)) #如果字符串内有很多换行,用/n 写在一行不好阅读 print(''' ben is a good man ''') #如果字符串很多字符串都需要转义,为了简化,python 允许用r表示内部的字符串默认不转义 print(r"\\\t\\") #eval() 功能:将字符串str当成有效的表达式来求值,并返回计算结果 num16 = eval("123") print(num16) print(type(num16)) print(eval("+123")) print(eval("-123")) #len(str) 返回字符串长度(字符个数) print(len("ben is a good man")) #lower() 转换字符串的大写为小写 str16 = "BEN is A Good MAN" print(str16.lower()) #upper() 转换字符串小写为大写 print(str16.upper()) #swapcase() 大写变小写,小写变大写 print(str16.swapcase()) #capitalize() 首字母大写, 其他小写 print(str16.capitalize()) #title 每个单词的首字母大写 print(str16.title()) #center(width,fillchar) 返回一个指定宽度居中的字符串, fillchar为填充字符串,不写默认空格 print(str16.center(40,"*")) #ljust(width[,fillchar]) 返回一个指定宽度的左对齐字符串, fillchar为填充字符串,不写默认空格 print(str16.ljust(40,"%")) #rjust(width[,fillchar]) 返回一个指定宽度的右对齐字符串, fillchar为填充字符串,不写默认空格 print(str16.rjust(40,"%")) #zfill(width) 返回一个长度为width的字符串,字符串右对齐,前面补0 print(str16.zfill(40)) #count(str[,start][,end]) 返回字符串str出现的次数,可以指定一个范围,默认从头到尾 str17 = "a a a abaafafaaf" print(str17.count("a",2,len(str17))) #find(str[,start][,end]) 检测str是否包含在字符串中,可以指定范围,默认从头到尾,得到第一次出现开始的下标,没有返回-1 print(str17.find("a")) print(str17.find("c")) #rfind(str[,start][,end]) 从右向左查找 print(str17.rfind("a")) print(str17.rfind("c")) #index(str,start=0,end=len(str)) 和find一样,只不过如果str不存在的时候回报一个异常 print(str17.index("a")) #print(str17.index("c")) #rindex(str,start=0,end=len(str)) 从右开始找 print(str17.rindex("a")) #print(str17.index("c")) #lstrip 截掉左侧指定字符,默认空格 str18 = " aaa" print(str18.lstrip()) #rstrip 截掉右侧指定字符,默认空格 str19 = " aaa " print(str19.rstrip()) #strip 截取左右侧字符,默认空格 print(str19.strip()) #split(str="",num) #以str为分隔符截取字符串,指定num,则截取num个字符串 str20 = "ben is a good man" print(str20.split(" ",1)) list21 = str20.split(" ") c = 0 for s in list21: if len(s) > 0: c += 1 print(c) #splitlines(keepends) 按照('\r','\r\n','\n') 分割,返回 #keepends = True 会保留换行符 str21 = '''a b c d ''' print(str21.splitlines()) print(str21.splitlines(True)) #join(seq) 以指定的字符串分隔符,将seq中的所有元素组合成一个字符串 str22 = ['a', 'b', 'c', 'd'] str23 = " ".join(str22) print(str23) #max() min() str24 = "ben is a good man" print(min(str24)) print(max(str24)) #replace(oldstr,newstr,count) 用newstr 替换oldstr, 默认是全部替换, 如果指定count 那么只替换前count个 str25 = "ben is a good good good man" str26 = str25.replace("good","nice",1) print(str25) print(str26) #创建一个字符串映射表 print("*************") t27 = str.maketrans("ac","65") #a->6 c->5 str28 = "ben is a good good good man" str29 = str28.translate(t27) print(str29) #startswith(str,start=0,end=len(str)) #在给定的范围内判断是否以指定的字符串开头,如果没有 默认整个 print("*************") str30 = "ben is a good man" print(str30.startswith("ben",5,16)) print(str30.startswith("ben")) #endswith(str,start=0,end=len(str)) print("*************") str31 = "ben is a good man" print(str30.endswith("man",5,16)) print(str30.endswith("man")) #encode(endcoding="utf-8",errors="strict") 编码 print("*************") str32 = "ben is a good man" #ignore 忽略错误 t = str32.encode("utf-8","ignore") print(str32.encode()) print(type(t)) #解码 注意,要与编码时的编码格式一致 str33 = t.decode("gbk") print(str33) #isalpha() 如果字符串中至少有一个字符且所有字符都是字母,返回True,否则返回False print("*************") str34 = "ben is a good man" print(str34.isalpha()) str35 = "benisagoodman" print(str35.isalpha()) #isalnum() 如果字符串中至少有一个字符且所有字符都是字母或数字,返回True,否则返回False print("*************") str36 = "123a" print(str36.isalnum()) str37 = "123a#" print(str37.isalnum()) #isupper() 如果字符串中至少有一个英文字符且所有字符都是大写英文字母,返回True,否则返回False print("*************") print("ABC".isupper()) print("1".isupper()) print("ABC1".isupper()) print("ABC1#".isupper()) print("ABC1a".isupper()) #islower() 如果字符串中至少有一个英文字符且所有字符都是小写英文字母,返回True,否则返回False print("*************") print("abc".islower()) print("1".isupper()) print("abc2".isupper()) print("abc1#".isupper()) print("abcA".isupper()) #istitle() 如果字符串是标题化的(首字母大写) 返回True 否则返回False print("*************") print("Ben".istitle()) print("Ben is".istitle()) print("Ben Is".istitle()) #isdigit() 如果字符串只包含数字字符,返回True 否则False print("*************") print("124".isdigit()) print("123a".isdigit()) #isnumeric() 同上 print("*************") print("123".isnumeric()) print("123a".isnumeric()) #isdecimal()字符串只包含十进制字符 print("*************") print("123".isdecimal()) print("123a".isdecimal()) #isspace() 如果字符串只包含空格,返回True 否则False print("*************") print(" ".isspace()) print(" ".isspace()) print("\t".isspace()) print("\n".isspace()) print("\r".isspace()) print("\f".isspace())
python学习之——006String(字符串)
最新推荐文章于 2022-07-07 14:17:53 发布