字符串(str):以单引号或者双引号括起来的任意文本。
1.创建字符串:
str1 = "tom"
str2 = "上官"
str3 = "1234"
2.字符串运算:
str4 = "tom's chines name is"
str5 = "上官"
print(str4 + str5)
输出:
tom's chines name is 上官
3.输出重复字符串:
str6 = "tom Chinese name is 上官"
print(str6 * 3)
输出:
tom Chinese name is 上官 tom Chinese name is 上官 tom Chinese name is 上官
4.访问字符串:
访问字符串中的某个字符,通过索引下标查找字符,索引从0开始
格式:字符串名[下标]
str7 = "tom Chinese name is 上官"
print(str7[2])
输出:
m
5.字符串改变:
执行下面代码,编译器报错,故说明:字符串不可变
str7[3] = "a"
--------------
编译器报错
6.截取字符串的一部分:
从开始下标开始截取到给定下标之前
str[star:end]
str8 = "tom Chinese name is 上官"
print(str8[2:5])
输出:
m C
7.判断元素是否在字符串中
“元素” in str 元素在返回True,不在返回Flase
“元素” not in str 元素不在返回True,在返回Flase
str8 = "tom Chinese name is 上官"
print("name" in str8)
print("name" not in str8)
输出:
True
False
8.字符串格式输出:
num= 10
str9 = "tom's age is"
print("str9 = %s,num = %d "%(str9,num))
输出:
str9 = tom's age is ,num = 10
9.字符串处理
eval(str)
功能:将字符串str当做有效的表达式来求值,并返回计算结果
print(eval("+ 123"))
print(eval("- 123"))
print(eval("1 + 23"))
print(eval("1 - 23"))
print(type(eval("123"))) # type():返回变量的数据类型
输出:
123
-123
24
-22
<class 'int'>
10.返回字符串的长度(字符个数)
len(str)
str10 = "tom"
print(len(str10))
输出:
3
11.转换大写为小写
str.lower()
str11 = "TOM IS A CHINESE"
print(str11.lower())
输出:
tom is a chinese
12.转换小写字母为大写
str.upper()
str12 = "tom is a chinese"
print(str12.upper())
输出:
TOM IS A CHINESE
13.转换字符串中的大写转换为小写,小写转换为大写
str.swapcase()
str13 = "tom is a CHINESE"
print(str13.swapcase())
输出:
TOM IS A chinese
14.首单词首字母大写,其他单词字母小写
str.capitalize()
str14 = "tom is a CHINESE"
print(str14.capitalize())
输出:
TOM IS A chinese
15.每个单词的首字母大写
str.title()
str15 = "tom is a chinese"
print(str15.title())
输出:
Tom Is A Chinese
16.返回一个指定宽度且居中的字符串
str.center(width[,fillchar])(宽度,填充符号)、
fillchar可不写,默认空格填充
str16 = "tom is a chinese"
print(str16.center(40))
print(str16.center(40,"*"))
输出:
tom is a chinese
************tom is a chinese************
17.返回一个指定宽度的左对齐字符串
str.ljust(width[,fillchar])
fillchar可不写,默认空格填充
str17 = "tom is a chinese"
print(str17.ljust(40))
print(str17.ljust(40,"*"))
输出:
tom is a chinese
tom is a chinese************************
18.返回一个指定宽度的右对齐字符串,
str.rjust(width[,fillchar])
fillchar可不写,默认空格填充
str18 = "tom is a chinese"
print(str18.rjust(40))
print(str18.rjust(40,"*"))
输出:
tom is a chinese
************************tom is a chinese
19.返回一个长度为width的字符串,字符串左对齐,前面补0
str.zfill(width)
str19 = "tom is a chinese"
print(str19.rjust(40))
输出:
tom is a chinese
20.从开始位置到结束位置查找指定元素x的个数并返回。
str.count(‘x’[,start][,end])
start,end不写默认从开头都结束
str20 = "tom is a chinese"
print(str20.count('a'))
print(str20.count('a',1,5))
输出:
1
0
21.find()方法
从左向右检测某元素x中是否包含在字符串中,可指定范围,默认从头到尾,得到该元素第一次出现的下标,如果没有返回-1
str.find(‘x’[,start][,end])
str21 = "tom is a chinese"
print(str21.find('e',8,len(str21)))
print(str21.find('y'))
输出:
13
-1
22.rfind()方法
从右向左检测某元素x中是否包含在字符串中,可指定范围,默认从头到尾,得到该元素第一次出现的下标,如果没有返回-1
str.rfind(‘x’[,start][,end])
str22 = "tom is a chinese"
print(str22.rfind('e',8,len(str22)))
print(str22.rfind('y'))
输出:
15
-1
23.index()方法
和find()方法一样只不过所找元素不存在时,会报错
str23 = "tom is a chinese"
print(str23.index('e',8,len(str23)))
print(str23.index('y'))
输出:
13
ValueError: substring not found
24.rindex()方法
和rfind()方法一样只不过所找元素不存在时,会报错
str24 = "tom is a chinese"
print(str24.rindex('e',8,len(str24)))
print(str24.rindex('y'))
输出:
15
ValueError: substring not found
25.lstrip()方法
截掉字符串左侧指定字符,默认为空格
str.lstrip()
str25 = " tom is a chinese *"
print(str25.lstrip())
输出:
tom is a chinese *
26.rstrip()方法
截掉字符串右侧指定字符,默认为空格
str.rstrip()
str26 = "* tom is a chinese "
print(str26.rstrip())
输出:
* tom is a chinese
27.strip()方法
截掉字符串两侧指定字符,默认为空格
str.strip()
str27 = " tom is a chinese "
print(str27.strip())
输出:
tom is a chinese
28.splir()方法
以以特殊字符作为分隔符截取字符串,若指定截取数量num,则仅截取num个字符,剩下的字符作为一个整体字符
str.solir(”[,num])
str28 = "tom****is****a*****chinese"
print(str28.split('*'))
print(str28.split('*',2))
输出:
['tom', '', '', '', 'is', '', '', '', 'a', '', '', '', '', 'chinese']
['tom', '', '**is****a*****chinese']
求单词的数量:
str29 = "tom****is****a*****chinese"
str30 = str29.split("*")
c=0
for s in str30:
if (len(s)>0):
c += 1
print(c)
输出:
4
29.splitlines([keepends])方法
keepends 为 True:按换行符切割,默认为True
str.splitlines()
str31 = '''tom is a chinese
tom's age is 18 years
tom like play game'''
print(str31.splitlines())
输出:
['tom is a chinese', "tom's age is 18 years", 'tom like play game']
30.join()方法
将seq列表转换为以指定符号作为分隔符的字符串
”.join(seq)
list32 = ['tom','is','a','chinese']
str32 = '*'.join(list32)
print(str32)
输出:
tom*is*a*chinese
31.max()和min()方法
取字符串中ASCII值最大的和最小的元素。
max(str) min(str)
str33 = "tom is a chinese"
print(max(str33))
print('*' + min(str33) + '*')
输出:
t
* *
32.replace()方法
将字符串中的oldstr替换成newstr,num为替换前几个,默认为全部替换
str.replace(‘oldstr’,’newstr’[,num])
str34 = "tom is a chinese,tom's age is 18,tom like play game."
print(str34.replace('tom','jack'))
print(str34.replace('tom','jack',1))
输出:
jack is a chinese,jack's age is 18,jack like play game.
jack is a chinese,tom's age is 18,tom like play game.
33.isalpha()方法
如果字符串中至少有一个字符且所有字符都是字母则返回True,否则返回False
str.isalpha()
str35 = "tom is a chinese"
str36 = "tomisachinese"
print(str35.isalpha())
print(str36.isalpha())
输出:
False
True
34.isalnum()方法
如果字符串中至少有一个字符且所有字符都是字母或数字返回True否则返回False
str.isalnum()
str37 = "djadj245"
str38 = "djadj 245"
print(str37.isalnum())
print(str38.isalnum())
输出:
True
False
35.isupper()方法
如果字符串至少有一个英文字符且所有字符都是大写英文字母则返回True,否则返回False
srt.isupper()
print("ABC".isupper())
print("ABC1".isupper())
print("aBC1".isupper())
print("ABC#".isupper())
print("1".isupper())
输出:
True
True
False
True
False
36.islower()方法
如果字符串至少有一个英文字符且所有字符都是小写英文字母则返回True,否则返回False
str.islower()
print("abc".islower())
print("abc1".islower())
print("Abc1".islower())
print("abc#".islower())
print("1".islower())
输出:
True
True
False
True
False
37.istitle()方法
如果字符串是标题化的返回True,否则返回False
标题化:首单词首字母大写,其他字母小写
str.istitle()
print("Sunck is".istitle())
print("Sunck Is".istitle())
print("sunck is".istitle())
输出:
False
True
False
38.isdigit()方法
如果字符串只包含数字字符,返回true,否则返回False
str.isdigit()
print("123".isdigit())
print("123a".isdigit())
print("".isdigit())
输出:
True
False
False
39.类似用法:
1)isnumeric():如果字符串只包含数字字符,返回true,否则返回False(与上面那个一样)
2)isdecimal():字符串只包含十进制字符返回True否则False
3)isspace():字符串中只包含空格,返回True,否则返回false
print(" ".isspace())
print(" ".isspace())
print("\t".isspace())
print("\n".isspace())
print("\r".isspace())
输出:
True
True
True
True
True
原来字符串这么多命令!!终于写完了