Python中字符串的介绍和使用
Python概念
Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
字符串概念
在程序中,文本内容用字符串来表示字符串是有一系列有序的字符组成,如: 'helloworld'字符串和列表,元组一样,都属于序列类型'可以将字符串看做字符的列表,列表的很多操作对于字符串也是适用的没有单独的字符类型,字符就是指包含一个元素的字符串 例如: 'a', 'b', 'c'字符串的创建
'''使用双引号或者单引号都可以创建字符串'''s='ok'print(s,type(s))#ok<class'str'>s1="ok1"print(s1,type(s1))#ok1<class'str'>'''使用内置函数str,传入的可以是数字,可以是字母,也可以是浮点数,最终该数据类型为str类型'''s2=str('abc')print(s2,type(s2))#abc<class'str'>s3=str('123')print(s3,type(s3))#123<class'str'>
转义字符
1、使用转义字符无法表示的特殊字符
当字符串中包含换行、回车、水平制表符、退格等无法直接表示的特殊字符时,该如何表示呢?
换行: newline,光标移动到下一行的开头
回车: return,光标移动到本行开头
水平制表符:tab键,光标移动下一组4个空格开始处
退格:backspace键,回退一个字符
可以使用如下转义字符
换行: \n
回车: \r
水平制表符: \t
退格: \b
print('abc\ndef')#abcdef换行显示print('abc\rdef')#def回车,移动到光标本行开头print('123456\t123\t45')#12345612345制表符4个空格,按整体字符长度算print('abc\bdef')#abdef退格,删除了c
2、使用反斜杠"\",作为转义符
例如想直接打印一个字符串,但想在该字符串中包含单引,双引等,需要使用\进行转义
print('what\'syouname')#what'syounameprint('打印一个双引号\"')#打印一个双引号"print('打印一个反斜杠\\')#打印一个反斜杠\
3、原始字符串
例如想打印 '\tC:\Program Files' -t为制表符,不想让-t生效,那么可以使用到原始字符串raw
print('\t:programfiles')#:programfilesprint(r'\t:programfiles')#\t:programfilesprint(R'\t:programfiles')#\t:programfiles
4、字符串查操作
a) 使用index、rindex、find、rfind查找字符串中元素索引
s='12334567'print(s.index('3'))#2print(s.rindex('3'))#3print(s.find('3'))#2print(s.rfind('3'))#3#可以指定查找start和stop,例如从索引1开始到5结束,查找元素3的索引print(s.index('3',1,5))#2print(s.rfind('3',1,5))#3#当查找的元素不在指定索引中时,index和rindex方法会抛出valueerror#当查找的元素不在指定索引中时,find和rfind方法会返回-1print(s.index('9',1,5))#ValueError:substringnotfoundprint(s.rindex('9',1,5))#ValueError:substringnotfoundprint(s.find('9',1,5))#-1print(s.rfind('9',1,5))#-1
b) 亦可使用查找列表查操作,查找对应索引的元素
s='Python'print(s[3])#hprint(s[1:4])#ythprint(s[:-1])#Pythoprint(s[::-1])#nohtyPprint(s[:])#Pythonprint(s[:2:-1])#noh
5、字符串的比较
a) 使用 >, <, ==, !=对字符串进行比较
s1='abc's2='def'print(s1==s2)#Falseprint(s1[0]<s2[0])#Trueprint(s1[1]>s2[0])#Falseprint(s1!=s2)#True
b)字符串也可以适用is,==是比较相等性,is是比较同一性,但是对于字符串来说,python重复进行调用
a=b='123'c='123'print(aisb)#Trueprint(a==c)#Trueprint(aisc)#Trueprint(id(a),id(c))#139917133452656139917133452656
6、字符串的反转
使用内置函数reversed对字符串进行反转
s='helloworld'print(list(reversed(s)))#['d','l','r','o','w','','o','l','l','e','h']
7、字符串的排序
使用内置函数sorted对字符串进行排序
s='EdfaCb'#可以指定排序规则,例如先转换成小写,然后进行排序,或者排序完对字符串进行反转#不指定规则,则按照ord()的方式排序print(sorted(s,key=str.lower))#['a','b','C','d','E','f']print(sorted(s,reverse=True))#['f','d','b','a','E','C']print(sorted(s))#['C','E','a','b','d','f']
8、字符串的大小写转换
a) upper 将所有字符转换成大写
b) lower 将所有字符转换成小写
c) swapcase 把所有小写转换成大写,大写转小写
d) title 把每个单词的开头转换成大写
s='javaPytHonShell'print(s.lower())#javapythonshellprint(s.upper())#JAVAPYTHONSHELLprint(s.swapcase())#JAVApYThONsHELLprint(s.title())#JavaPythonShell
9、字符串的对齐
a) center 中心对齐
b) rjust 右对齐
c) ljust 左对齐
以上方法可以指定两个参数,第一个参数是宽度,第二个参数是对齐符号,不指定第二个参数默认是空格。
d) zfill:右对齐,左边用0填充
该方法值接收一个参数,用于指定字符的宽度,如果指定的字符宽度小于字符串本身,那么返回字符串本身
s='helloworld'print(s.center(20,'*'))#****helloworld*****print(s.ljust(18,'^'))#helloworld^^^^^^^print(s.rjust(18,'$'))#$$$$$$$helloworldprint(s.zfill(15))#0000helloworld
10、字符串的替换
调用replace方法,对字符串进行替换,str.replace('old','new','replace_num')
s='hihihihello'#将hi替换为hello,最大替换个数为2个,不指定替换个数默认为全部print(s.replace('hi','hello',2))#hellohellohihello
11、去除字符串的前导符和后导符
调用方法lstrip、rstrip、strip对字符串前导符和后导符进行去除
s='****helloworld^^^^^'print(s.lstrip('*'))#helloworld^^^^^print(s.rstrip('^'))#****helloworldprint(s.strip('*^'))#helloworld
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。