这篇文章主要讲解了“Python字符串的使用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python字符串的使用方法有哪些”吧!
1.字符串是 Python 中最常用的数据类型。我们可以使用''
,""
,
''' '''
,
""" """
这四种方式来定义字符串;
a = 'x' b = "y" c = '''xxx''' d = """yyy""" print(a,b,c,d) #输出:x y xxx yyy
2.字符串是不可变的,字符串一旦定义就不能改变;
string = 'world' string = 'hello world'
3.字符串的转义;
\:续行符; \e:转义; \n:换行; \ \:反斜杠符号; \ ":单引号; \ ":双引号; \000:空; \v:纵向制表符; \t:横向制表符; \r:回车; \f:换页; \oyy:八进制数,yy代表的字符,例如:\o12代表换行; xyy:十六进制数,yy代表的字符,例如:\x0a代表换行; \other:其它的字符以普通格式输出;
4.字符串可以通过索引和循环迭代两种方式来访问;
# 索引访问 str = 'hello' print(str[1]) #输出:e # 循环迭代访问 str1 = 'hello' for item in str1: print(item) #输出:h e l l o
5.字符串的连接方式
使用
+
号直接连接;
string1 = 'hello' string2 = '\t' string3 = 'world' print(string1 + string2 + string3) #输出:hello world
使用join方法连接;
lst = ['1', '2', '3', '4', '5'] lst_new = ''.join(lst) print(lst_new) #输出:12345
6.字符串的切割
使用 split(sep=None, maxsplit=num) -> list of strings , 从左向右切割,sep指定分隔符,maxsplit指定切割的次数, num指定切割多少次,如果不设置maxsplit参数,那就根据sep切割,不限定次数;
string1 = '1,2,3,4,5' new_obj1 = string1.split(',') new_obj2 = string1.split(',', maxsplit=1) print(new_obj1) #输出:['1', '2', '3', '4', '5'] print(new_obj2) #输出:['1', '2,3,4,5']
使用rsplit方法, rsplit(sep=None, maxsplit=num) -> list of strings,参数设置和split方法类似,不同之处在于, rsplit方法是从右向左切割的;
string1 = '1,2,3,4,5' new_obj1 = string1.rsplit(',') new_obj2 = string1.rsplit(',', maxsplit=1) print(new_obj1) #输出:['1', '2', '3', '4', '5'] print(new_obj2) #输出:['1,2,3,4', '5']
使用splitlines方法, splitlines([keepends]) -> list of strings, 换行符('\r', '\r\n', \n')
切割, keepends指是否保留分隔符,True为保留,False不保留;
string1 = 'I love xkd \nI love xkd' new_obj1 = string1.splitlines() new_obj2 = string1.splitlines(True) print(new_obj1) #输出:['I love xkd ', 'I love xkd'] print(new_obj2) #输出:['I love xkd \n', 'I love xkd']
使用partition方法, partition(sep) -> (head, sep, tail), 从左到右切割三段,中间那段为分隔符。如果只需要输出其中一段,可以把其它的段用_
下划线代替;
string1 = '1,2,3,4,5' new_obj1, seq, new_obj2 = string1.partition(',') print(new_obj1) #输出:1 print(seq) #输出:, print(new_obj2) #输出:2,3,4,5 new_obj1, _, _ = string1.partition(',') print(new_obj1) #输出:1
7.字符串对象方法
string = 'aBcd abcD' #初始化一个字符串string
全部转为大写;
print(string.upper()) #输出:ABCD ABCD
全部转为小写;
print(string.lower()) #输出:abcd abcd
大写改小写,小写改大写;
print(string.swapcase()) #输出:AbCD ABCd
所有单词首字母大写;
print(string.title()) #输出:Abcd Abcd
字符串首字母大写;
print(string.capitalize()) #输出:Abcd abcd
center方法,center(width[, fillchar]) -> str, 将字符串居中,width指定宽度, fillchar指定填充的字符;
print(string.center(100, '*')) 输出:**********aBcd abcD***********
ljust方法,ljust(width[, fillchar]), 将字符串居左,width指定宽度, fillchar指定填充的字符;
print(string.ljust(100, '*')) 输出:aBcd abcD********************
rjust方法,rjust(width[, fillchar]), 将字符串居右,width指定宽度, fillchar指定填充的字符;
print(string.rjust(100, '*')) 输出:********************aBcd abcD
zfill方法,zfill(width) -> str, 右对齐打印,左边使用0填充;
print(string.zfill(100)) 输出:00000000000000000000aBcd abcD
8.字符串修改
replace方法,replace(old, new[, count]) -> str, 字符串替换,old指需要被替换的字符串,new为替换字符串, count为指定的次数;
string = 'age' print(string.replace('a', 'z')) #输出:zge
strip方法,strip([chars]) -> str, 剔除两端的字符,chars指定剔除的字符,chars不指定则为剔除空白字符;
string = ' age ' print(string.strip()) #输出:age print(string.strip()) #输出:age
lstrip: 剔除左边的字符,rstrip: 剔除右边的字符;
print(string.rstrip()) #输出: age print(string.lstrip()) #输出:age
9.字符串查找
string = 'helloworld'
find方法,find(sub[, start[, end]]) -> int, 从左向右查找,sub指定要查找的字符串,[start,end] 为开始和结束索引,返回索引;
print(string.find('e')) #输出:1
index方法,index(sub[, start[, end]]) -> int,返回索引;
print(string.index('w')) #输出:5
count方法,count(sub[, start[, end]]) -> int, 返回字符出现的次数;
print(string.count('l')) #输出:3
10.字符串判断
string = 'hello' #初始化一个字符串string
startswith方法,startswith(prefix[, start[, end]]) -> bool, 是否以prefix开头;
print(string.startswith('')) #输出:True
endswith(suffix[, start[, end]]) -> bool, 是否以suffix结尾;
print(string.endswith('x')) #输出:False
isalnum() 是否是字母或数字;
print(string.isalnum()) #输出:True
isalpha() 是否是字母;
print(string.isalpha()) #输出:True
isdigit() 是否是数字;
print(string.isdecimal()) #输出:False
isdecimal() 是否是十进制;
print(string.isdecimal()) #输出:False
isidentifier() 是否是字母和下划线开头;
print(string.isidentifier()) #输出:True
islower() 是否是小写;
print(string.islower()) #输出:True
isupper() 是否是大写;
print(string.isupper()) #输出:False
isspace() 是否是全空白字符;
print(string.isspace()) #输出:False
11.符串格式化
C语言风格
print("I am %04d" % (100,)) # 前端补0 print('I am %s' % 'hello') # 字符串 print('%.3f' % (99.56789)) # 保留3位小数 print("I am %-5d" % (20,)) # 左对齐 print("I am %5d" % (20,)) # 右对齐
python format风格
S.format(*args, **kwargs) -> str, 其中args为元组,kwargs为字典,花括号为占位符 1: 占位 print('我是{}, 我在{}'.format('鱼儿', '海里')) print('我是{0}, 我在{1}'.format('鱼儿', '海里')) print('我是{1}, 我在{0}'.format('海里','鱼儿',)) print('我是{1}, 我在{0}'.format(*('海里','鱼儿'))) print('我是{name}, 我在{addr}'.format(name='鱼儿', addr='海里')) print('我是{name}, 我在{addr}'.format(**{'name':'鱼儿', 'addr':'海里'})) 2:对齐 # 指定100个位置,且左对齐 print('{0} + {1} = {2:<100}'.format(1,2,3)) # 指定100个位置,且右对齐 print('{0} + {1} = {2:>100}'.format(1,2,3)) # 指定100个位置,且左对齐,其他地方补0 print('{0} + {1} = {2:0<100}'.format(1,2,3)) # 指定100个位置,且右对齐,其他地方补0 print('{0} + {1} = {2:0>100}'.format(1,2,3)) # 指定100个位置,居中对齐 print('{0} + {1} = {2:^100}'.format(1,2,3)) # 指定100个位置,居中对齐, 其他地方补0 print('{0} + {1} = {2:0^100}'.format(1,2,'不知道')) # 进制 print("int: {0:d} bin: {0:b} hex: {0:x} oct: {0:o} ".format(100)) print("int: {0:d} bin: {0:#b} hex: {0:#x} oct: {0:#o} ".format(100))
感谢各位的阅读,以上就是“Python字符串的使用方法有哪些”的内容了,经过本文的学习后,相信大家对Python字符串的使用方法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。