2021-10-22python学习笔记---字符串的常用方法

字符串是不可变序列

1.字符串级联

>>> str='1''2'
>>> str
'12'

2.常用的判断方法

>>> str2 = "123一二三"
>>> str2.isdigit()     #判断是否全为数字
False
>>> str2.isnumeric()   #判断是否全为数字(包含中文)
True
>>> str3 = "12abc"
>>> str3.isdigit()
False
>>> str3.isnumeric()
False
>>>
>>> str3.isalnum()      #判断是否全为数字字母
True
>>> str4 = "The One"
>>> str4.istitle()      #是否为标题格式(字符串中的单词 第一个字符大写,其他全为小写)
True
>>> str4 = "he One"
>>> str4.istitle()
False
>>> str4.isalpha()      #是否全为字母
False
>>> str3.isalpha()
False
>>> str4.isupper()      #是否全为大写
False
>>> str5 = "ABC"
>>> str5.isupper()
True
>>> str1 = "1abc"
>>> str1.isidentifier()   #判断是否为合法标识符,但是不能判断关键字
False
>>> "1abc".isidentifier()
False
>>> "True".isidentifier()
True
>>> True = 10
  File "<stdin>", line 1
SyntaxError: can't assign to keyword
>>> "if".isidentifier()
True
>>> str6 = "abc"
>>> str6.islower()       #判断是否全为小写
True
>>> str7 = "helloabc xx zz"
>>> str7.startswith("hell")   #判断字符串以xx开头,可以指定搜索范围
True
>>> str7.startswith("h")
True
>>> str7.startswith("ha")
False
>>> str7.startswith("abc",5)
True
>>> str7.startswith("abc",5,7)
False
>>> str7.endswith("zz")   #判断以xx结束,也可以指定搜索范围
True

3.查找统计类

1、长度统计 len

>>> len(str7)
14

2、统计某个字符出现次数 count

>>> str7
'helloabc xx zz'
>>> str7.count("l")
2
>>> str7.count("ll")
1

3、查找某个子串第一次出现的下标位置 – index
如果没有就报错

>>> str7.index("l")
2
>>> str7.index("a")
5
>>> str7.index("y")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

4、find 返回第一次出现的下标,没有找到就返回-1

>>> str7.find("x")
9
>>> str7.find("y")
-1

4.字符串转换类

>>> str8 = "AbDDCfg"
>>> str8.upper()     #转换成大写
'ABDDCFG'
>>> str8.lower()     #转换成小写
'abddcfg'
>>> str8.title()     #单词首字母大写
'Abddcfg'
>>> str8.swapcase()  #大小写互换
'aBddcFG'
>>> str10 = "a#bcd#e"
>>> str10.split("#")  #切割字符串
['a', 'bcd', 'e']
>>> lst1 = ["x","yy","z"]
>>> "@".join(lst1)    #拼接字符串
'x@yy@z'
>>> "".join(lst1)
'xyyz'
>>> str1 = "  abc   "
>>> str1.strip()
'abc'
>>> str2 = "xxabcxx"
>>> str2.strip("xx")     #去除收尾字符串,默认是空白
'abc'

5.字符串格式化

1、%
将格式符和实体对应起来

基本格式:
%s %+s
基本格式
%[(name)][flags][width].[precision]typecode

  • (name):命名
  • flags: +,-,’ ‘或0。+表示正数的加号;-表示左对齐;’ '为一个空格,表示在正数的左侧填充一个空
    格,从而与负数对齐,0表示使用0填充。
  • width表示显示宽度
  • precision表示小数点后精度

typecode
s 字符串
d 十进制数
f 浮点数
x 十六进制数
%% 表示百分号本身、

format

>>> a=10
>>> b=5
>>> result=f'a:{
      
      a},b:{
      
      b}'
>>> result
'a:10,b:5'
name = "sc"
age = 4
print("format01 -->姓名:{},年龄:{}".format(name, age))
print("format02 -->姓名:{1},年龄:{0},{1},{1}".format(name,age))
print("format03 -->姓名:{username},年龄:{userage}".format(username=name,userage = age))

{变量:[填充字符][对齐方式 <^>][宽度][格式]}

print("format01 -->{0:*^10}".format(10,20))
print("format01 -->{1:*>10}".format(10,20))
print("format02 -->{1:*>15.2f}".format(1/3, 5.33333333))
print("format03 -->{0:b}".format(30))
#千分位格式
print("format04 -->{0:,}".format(234983745304958))

猜你喜欢

转载自blog.csdn.net/kapri/article/details/120961134
今日推荐