首页 > 代码库 > String_字符串

String_字符串

字符串,string。

eg.

1 str1 = "zifuchuan"
2 str2 = zifuchuan

 

1、String格式:

  用一对单引号或双引号包起来的内容。

  单引号或双引号不是String内容。

 

2、String操作:

  1)重复输出

1 print("hello"*2)    #结果,hellohello

  2)索引,切片,同list,略。

  3)成员运算,in

1 print("he" in "hello")  #判断"he"是否在"hello"中,结果True

  4)格式化输出:

1 name = "python"
2 print("%s is good." % name) # 结果 python is good

  5)string拼接:

 1     #(1)
 2 str2 = "123"
 3 str3 = "abc"
 4 str4 = str2 + str3 # 效率不高
 5 print(str4)     #结果 "123abc"
 6     #(2)join方法
 7 str5 = "".join([str2,str3])     #注意,join前面的""是拼接连接符;join里可以是list,也可以是tuple
 8 str6 = "-".join([str2,str3])    #比如,不用空字符串"",而是用"-",那么str6就是 "123-abc"
 9 print(str5)     # 结果 123abc
10 print(str6)     # 结果 123-abc

 

3、string常用内置方法:

  1 #常用内置方法
  2 
  3 str7 = "hello python"
  4 
  5 #1)重要,统计个数
  6 print(str7.count("e"))  # 结果为 1
  7 
  8 #2)将字符串第1个字母大写
  9 print(str7.capitalize())
 10 
 11 #3)重要,字符串居中,参1为总字符个数,参2为用于填充多余的字符位
 12 print(str7.center(20,"-"))  # 结果 ----hello python----
 13 
 14 #4)encode和decode后面再说。
 15 
 16 #5)判断字符串结尾是否与参数一致(多位)
 17 print(str7.endswith("on"))  # 结果 True
 18 print(str7.endswith("n"))   # 结果 True
 19 
 20 #6)重要,判断字符串开头是否与参数一致(多位),重要方法。
 21 print(str7.startswith("hell"))  # 结果 True
 22 print(str7.startswith("h"))       # 结果 True
 23 
 24 #7)设置字符串中tab转义等于多少个空格(没啥用)
 25 str8 = "he\tllo"
 26 print(str8)                         # 结果 he    llo
 27 print(str8.expandtabs(tabsize=6))   # 结果 he      llo
 28 
 29 #8)在字符串中找一个子串,并返回找到的第1个位置(索引从0开始),重要。找不到会返回-1
 30 print(str7.find("p"))   #结果 6
 31 
 32 #9)重要,格式化输出
 33 str9 = "hello {name},{time}"
 34 print(str9.format(name = "python",time = "2018"))   # 结果 hello python,2018
 35 
 36 #10)格式化输出
 37 print(str9.format_map({"name":"python","time":"2019"})) # 结果 hello python,2019
 38 
 39 #11)功能和find一样,不同点在于index找不到会报错,find不会。
 40 print(str7.index("p"))  #结果 6
 41 
 42 #12)判断字符串是否由字母数字组成。
 43 print("123bac".isalnum())       # 结果 True
 44 print("123".isalnum())          # 结果 True
 45 print("abc".isalnum())          # 结果 True
 46 print("!abc13".isalnum())       # 结果 False
 47 
 48 #13)判断字符串是不是一个数字(十进制)
 49 print("11".isdecimal())     # 结果 True
 50 print("0x01".isdecimal())   # 结果 False
 51 print("a".isdecimal())      # 结果 False
 52 
 53 #14)判断是否数字(整型)
 54 print("123".isdigit())      # 结果 True
 55 print("123.1".isdigit())    # 结果 False
 56 
 57 #15)和isdigit一样
 58 print("123".isnumeric())    # 结果 True
 59 print("123.1".isnumeric())  # 结果 False
 60 
 61 #16)判断是否有非法字符(变量起名规则)
 62 print("123abc".isidentifier())  # 结果 False
 63 
 64 #17)判断字符串是否全部小写
 65 print(str7.islower())   # 结果 True
 66 print("aBc".islower())  # 结果 False
 67 
 68 #18)判断字符串是否全部大写
 69 print("ABC".isupper())  # 结果 True
 70 print("AbC".isupper())  # 结果 False
 71 
 72 #19)判断字符串是否空格
 73 print(" ".isspace())        # 结果 True
 74 print("python ".isspace())  # 结果 False
 75 
 76 #20)判断是否标题样式(每个单词首字母大写)
 77 print("Python Title".istitle())     # 结果 True
 78 print("Python title".istitle())     # 结果 False
 79 
 80 #21)重要,转小写
 81 print("Abc".lower())    # 结果 abc
 82 
 83 #22)重要,转大写
 84 print("Abc".upper())    # 结果 ABC
 85 
 86 #23)大小写反转(原大写变小写,原小写变大写)
 87 print("Abc".swapcase()) #结果 aBC
 88 
 89 #24)靠左对其,参1定义总占位,参2填充剩余位
 90 print("python".ljust(20,"*"))   #结果 python**************
 91 
 92 #25)靠右对其,参1定义总占位,参2填充剩余位
 93 print("python".rjust(20,"*"))   #结果 **************python
 94 
 95 #26)很重要,去掉字符串前后的”空格、换行符“,中间的不会去掉
 96 print(" p y t h o n ".strip())
 97 print("python\n".strip())
 98 
 99 #27)去掉字符串前面的”空格、换行符“等特殊字符,中间的不去
100 print("\tpython\t".lstrip())    # 结果 python    (注意后面输出了一个tab)
101 
102 #28)去掉字符串后面(即右面)的”空格、换行符“等特殊字符,中间的不去
103 print("\tpython\t".rstrip())    #结果    python  (注意前面输出了一个Tab)
104 
105 #29)重要,替换
106 print("Hello world".replace("world","Python"))  # 结果 Hello Python
107 print("hello world".replace("o","z"))   #结果 hellz wzrld (可以看到,都替换了)
108 print("hello world".replace("o","z",1)) #参3指定替换个数,结果 hellz world  (可以看到,第二个没被替换)
109 
110 #30)从右面往左面找,但是索引号还是按照从左往右数。
111 print("hello python".rfind("o"))    #结果 10
112 
113 #31)重要,以参1为分割符将字符串分割,获得一个List,参2限定分割次数,参2默认全部分割
114 print("Hello Python World".split(" "))    # 结果 [‘Hello‘, ‘Python‘, ‘World‘]
115 print("Hello Python World".split(" ",1))    # 结果 [‘Hello‘, ‘Python World‘]
116 
117 #32)参见split
118 print("hello python world".rsplit(" "))     #结果与split一样 [‘Hello‘, ‘Python‘, ‘World‘]
119 print("Hello Python World".rsplit(" ",1))  #结果 [‘Hello Python‘, ‘World‘]
120 
121 ‘‘‘
122     可以发现:
123         split:从左往右分割,指定次数,从左边开始。
124         rsplit:从右往左分割,指定次数,从右边开始
125 ‘‘‘
126 
127 #33)格式化输出为 标题 的样式(每个单词首字母大写)
128 print("hello python world".title()) # 结果 Hello Python World

 

String_字符串