您现在的位置是:首页 > 文章详情

Python零基础学习笔记(十二)—— 字符串及其常用方法

日期:2019-01-16点击:444


''' 什么是字符串 字符串就是以单引号或双引号括起来的任意文本 ''' #创建字符串 str1 = "My name is jjking" str2 = "I am a Little White" ''' 字符串运算 ''' #字符串连接 str3 = "My name is " str4 = "jjking. " str5 = str3 + str4 print("str5 = ",str5) #输入重复字符串 str6 = str5 * 3 print(str6) #访问字符转中的某一个字符,通过索引下标查找字符,从0开始 str7 = "My name is jjking" print(str7[0]) print(str7[1]) print(str7[2]) print(str7[3]) #第 0 个为 M, 第1个为 y, 第 2 个是空格没打印出来,以此类推... #截取字符串中的一部分 str8 = "My name is jjking" str9 = str8[0:7] #[包含,不包含] str10 = str8[:7] #默认为0开始 str11 = str8[4:] #默认截取到最后 print(str9) print(str10) print(str11) #成员运算符测试jjking是否在str8 的字符串中 if "jjking" in str8: print("jjking 在 str8中出现了") print("name" in str8) #输出格式化 num = 1 str12 = "My name is jjking." f = 1.23 print("num = ", num, "str12 =", str12, "f =", f ) #使用%s %d %f 占位符 print("num = %d, str = %s, f = %f" % (num, str12, f)) #%3.f 表示保留小数点后3位,四舍五入法 print("f = %.3f"% f) ''' 转义字符 \ \n 输出 换行 \\ 输出 \ \" 输出 " \t 制表符 ''' print("num = %d\nstr = %s\nf = %f" % (num, str12, f)) print("num = %d\n\"str = %s\"\nf = %f\\" % (num, str12, f)) print("one\tsecond") print("\\\t\\") # r 字符串中有好多字符需要转移时使用,python允许使用 r 表示内部字符串默认不转义 # windows系统下的路径打印常用 print(r"\\\t\\") print(r"C:\Users\Administrator\PycharmProjects\untitled\day003") #按照格式输出 print('''--------------- first second Third ''') str12 = "My name is jjking." #eval(str) #功能:将字符串str当成有效的表达式来求值并返回计算结果 num1 = eval("123") print(num1) print(type(num1)) print(eval("+123")) print(eval("-123")) print(eval("12+3")) print(eval("12-3")) #len(str) #功能:返回字符串的长度 print(len("My name is jjking!")) print(len(str12)) #lower() 转换字符串中的大写字母为小写字母 print(str12.lower()) #upper() 转换字符串中的小写字母为大写字母 print(str12.upper()) #swapcase() 大小写互换 print(str12.swapcase()) #capitalize() 首字母大写 print(str12.capitalize()) #title() 单词的首字母大写 print(str12.title()) #center(width, fillchar) 返回指定宽度的居中的字符串用后面的字符填充 print(str12.center(30,"#")) #ljust(width[, fillchar]) 返回指定宽度的左对齐的字符串用后面的字符填充 print(str12.ljust(30,"*")) #rjust(width[, fillchar]) 返回指定宽度的右对齐的字符串用后面的字符填充 print(str12.rjust(30,"*")) #zfill(width) 返回指定宽度右对齐前面用 0 填充的字符串 print(str12.zfill(30)) #count([str[, start][, end]) 返回字符串中str出现的次数,可以指定一个范围,默认从头到尾 print(str12.count("is")) #find(str[, start][, end]) # 从左向右检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾得到的是第一次出现的开始下标,没有返回-1 print(str12.find("is")) #rfind(str[, start][, end]) # 从右向左检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾得到的是第一次出现的开始下标,没有返回-1 print(str12.rfind("is")) #index(str,start=0, end=len(str)) 和find()一样,但在str不存在的时候会报异常 print(str12.index("is")) #rindex(str,start=0, end=len(str)) 和rfind()一样,但在str不存在的时候会报异常 print(str12.rindex("is")) #lstrip() 截掉字符串左侧指定的字符,要从头开始,默认为空格 print(str12.lstrip("My")) #lstrip() 截掉字符串右侧制定的字符,,要从最后面开始,默认为空格 print(str12.rstrip("jjking.")) #split("", a) 以“ ”中的内容为分隔符截取字符串,a默认为1 print(str12.split(" ")) #splitlines([keepends]) 按照# ('\r', '\r\n', '\n')分隔 stra = (''' My name is jjking. I am a boy! ''') print(stra.splitlines()) #join(seq) 以一个特定的字符串分隔符,将seq中的所有元素组合成一个字符串 strjo =["a", "s", "s"] str_join = "##".join(strjo) print(str_join) #max() 返回字符串中ascii码值最大的 print(max(str12)) #min() 返回字符串中ascii码值最小的 print("$" + min(str12) + "$") #replace(oldstr, newstr, count) 默认全部替换,如果指定了count数量,那么只替换前count个 str_replace = str12.replace("is", "isn't", 1) print(str_replace) #创建一个字符串映射表 str_maketrans = str12.maketrans("is", "nt") # i->n s->t str13 = "P is is kjs is;" str_translate = str13.translate(str_maketrans) print(str_translate) #startswith(str, start = 0, end = len(str)) #在给定的范围内判断是否以给定的字符串开头的,如果没有给定范围,默认整个字符串 print(str12.startswith("is" )) #endwith(str, start = 0, end = len(str)) #在给定的范围内判断是否以给定的字符串结尾的,如果没有给定范围,默认整个字符串 print(str12.endswith("is" )) #编码 #encode(encoding="utf-8", error="strict") print(str12.encode()) data = str12.encode("utf-8", "ignore") #解码 注意:要和编码使用的码制一致 python3之后没有decode()了 str_encode = data.decode("utf-8","ignore") print("###",str_encode, "###") print(type(str_encode)) #isalpha() #如果字符串中至少有一个字符且所有字符都是字母返回True,否则返回False print(str12.isalpha()) #isalnum() #如果字符串中至少有一个字符且所有字符都是字母或数字返回True,否则返回False print(str12.isalnum()) #isupper() #如果字符串中至少有一个英文字符且所有字符都是大写字母或数字或特殊字符返回True,否则返回False str_upper = "ACSD" print(str_upper.isupper()) print("ASD1".isupper()) print("ASD1#".isupper()) #islower() #如果字符串中至少有一个英文字符且所有字符都是小写字母或数字或特殊字符返回True,否则返回False str_upper = "acs" print(str_upper.islower()) print("asd1".islower()) print("asd1#".islower()) #istitle() #如果字符串是标题化的返回True,否则返回False print("My name".istitle()) #错的 print("My Name".istitle()) #对的 #isdigit() #如果字符串只包含数字字符返回True,否则返回False print("123".isdigit()) print("ade".isdigit()) #错的 #isnumeric() #如果字符串只包含数字返回True,否则返回False print("123".isnumeric()) print("ade".isnumeric()) #错的 #isdecimal() #如果字符串只包含十进制字符返回True,否则返回False print("123".isdecimal()) print("ade".isdecimal()) #错的 #isspace() #如果字符串中只包含空格则返回True,否则返回False print(" ".isspace()) print("\t".isspace()) print("\r".isspace()) print("\n".isspace()) #都是对的


执行结果:

C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\python.exe C:/Users/Administrator/PycharmProjects/untitled/day003/String.py str5 = My name is jjking. My name is jjking. My name is jjking. My name is jjking. M y n My name My name ame is jjking jjking 在 str8中出现了 True num = 1 str12 = My name is jjking. f = 1.23 num = 1, str = My name is jjking., f = 1.230000 f = 1.230 num = 1 str = My name is jjking. f = 1.230000 num = 1 "str = My name is jjking." f = 1.230000\ one second \ \ \\\t\\ C:\Users\Administrator\PycharmProjects\untitled\day003 --------------- first second Third 123 <class 'int'> 123 -123 15 9 18 18 my name is jjking. MY NAME IS JJKING. mY NAME IS JJKING. My name is jjking. My Name Is Jjking. ######My name is jjking.###### My name is jjking.************ ************My name is jjking. 000000000000My name is jjking. 1 8 8 8 8 name is jjking. My name is ['My', 'name', 'is', 'jjking.'] ['', 'My name is jjking.', 'I am a boy!'] a##s##s y $ $ My name isn't jjking. P nt nt kjt nt; False False b'My name is jjking.' ### My name is jjking. ### <class 'str'> False False True True True True True True False True True False True False True False True True True True Process finished with exit code 0 


原文链接:https://yq.aliyun.com/articles/687985
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章