文章目录
1.基本操作
1.1表示
一般:
Python中的字符串用一对单引号(’ ')或一对双引号(" ")括起来
特殊:
三重引号表示→保留所有字符串的格式信息
>>> '''python
is 'a' language'''
"python\nis 'a' language"
1.2创建
赋值运算符=
或str()
函数
>>> str1="Hello"
>>> str1
'Hello'
>>> str2='Program \"Python\"'
>>> str2
'Program "Python"'
>>> str3=str() # 空字符串
>>>> str3
''
1.3元素读取
字符名[索引]
>>> str1[0]
'H'
>>> str1[-1]
'o'
1.4切片
字符串名[开始索引:结束索引:步长]
>>> str="Python Program"
>>> str[0:5:2]
'Pto'
>>> str[:]
'Python Program'
>>> str[-1:-20]
''
>>> str[-1:-20:-1]
'margorP nohtyP'
1.5连接
运算符+
,数字类型需要用str()
函数转换
print("python"+str(3))
# 输出结果:python3
1.6重复运算
运算符*
>>> 3*"hello"
'hellohellohello'
>>> "hello"*2
'hellohello'
1.7比较
使用关系运算符进行比较(基于ASCII码值)空字符串最小
>>> "a"=="A"
False
>>> "ab"<"c"
True
1.8成员运算
使用运算符in
或not in
:字符串1 [not ]in 字符串2
>>> "ab" in "acbdab"
True
2.字符串常用函数及其应用
2.1子串查找
使用find方法:str.find(substr[,start[,end]])
返回第一次的位置(首位字符所在索引),若无,则返回-1
>>> str="beijing,xi'an,tianjin,beijing,chongqing"
>>> str.find('beijing')
0
>>> str.find('beijing',2)
22
>>> str.find('beijing',2,25)
-1
2.2替换
str.replace(old,new(,max))
max指替换次数,若无,则默认全部替换
>>> str="This is a pen, isn't it?"
>>> str.replace('is','was')
"Thwas was a pen, wasn't it?"
>>> str.replace('is','was',1)
"Thwas is a pen, isn't it?"
>>> str.replace('is','was',2)
"Thwas was a pen, isn't it?"
2.3分离
str.split()
以括号内字符作为分隔符,将单个字符串分为多个;若无,则按空格拆分
>>> str="beijing,xi'an,tianjin,beijing,chongqing"
>>> str
"beijing,xi'an,tianjin,beijing,chongqing"
>>> str.split(',')
['beijing', "xi'an", 'tianjin', 'beijing', 'chongqing']
>>> str.split('a')
["beijing,xi'", 'n,ti', 'njin,beijing,chongqing']
2.4连接
sep.join(sequence)
["beijing,xi'", 'n,ti', 'njin,beijing,chongqing']
>>> str1=['beijing', "xi'an", 'tianjin', 'beijing', 'chongqing']
>>> sep="-->"
>>> sep.join(str1)
"beijing-->xi'an-->tianjin-->beijing-->chongqing"
2.5字符串常用方法
2.6应用举例
从键盘输入一行字符,分别统计其中英文字母、空格、数字和其它字符的个数
a=list(input('请输入一行字符:'))
letter=[]
space=[]
number=[]
other=[]
for i in range(len(a)):
if ord(a[i]) in range(65,90) or ord(a[i]) in range(97,122):
letter.append(a[i])
elif a[i] == ' ':
space.append(' ')
elif ord(a[i]) in range(48,58):
number.append(a[i])
else:
other.append(a[i])
print("英文字母:%s"%len(letter))
print("空格:%s"%len(space))
print("数字:%s"%len(number))
print("其他:%s"%len(other))
输出结果:
请输入一行字符:a1 32jc$
英文字母:3
空格:1
数字:3
其他:1