Python基本数据类型之字符串
发布时间:2025-09-01 01:32:35
作者:益华网络
来源:undefined
浏览量(0)
点赞(0)
摘要:str(字符串)1.字符串是 Python 中最常用的数据类型。我们可以使用,"", , """ """这四种方式来定义字符串; a =xb ="y"c =xxxd ="""yyy"""print(a,b,c,d)#输出:x y xxx yyy 2.字符串是不可变的,字符串一旦定义就不能改变;
str(字符串)
1.字符串是 Python 中最常用的数据类型。我们可以使用,"", , """ """这四种方式来定义字符串;
a =xb ="y"c =xxxd ="""yyy"""print(a,b,c,d)#输出:x y xxx yyy2.字符串是不可变的,字符串一旦定义就不能改变;
string=worldstring=hello world3.字符串的转义;
\:续行符;\e:转义;\n:换行;\ \:反斜杠符号;\ ":单引号;\ ":双引号;\000:空;\v:纵向制表符;\t:横向制表符;\r:回车;\f:换页;\oyy:八进制数,yy代表的字符,例如:\o12代表换行;xyy:十六进制数,yy代表的字符,例如:\x0a代表换行;\other:其它的字符以普通格式输出;4.字符串可以通过索引和循环迭代两种方式来访问;
# 索引访问str =helloprint(str[1])#输出:e# 循环迭代访问str1 =hellofor item in str1:print(item)#输出:h e l l o5.字符串的连接方式
使用 + 号直接连接; string1 =hellostring2 =\tstring3 =worldprint(string1 + string2 + string3)#输出:hello world 使用join方法连接; lst =[1,2,3,4,5]lst_new =.join(lst)print(lst_new)#输出:123456.字符串的切割
使用 split(sep=None, maxsplit=num) -> list of strings , 从左向右切割,sep指定分隔符,maxsplit指定切割的次数, num指定切割多少次,如果不设置maxsplit参数,那就根据sep切割,不限定次数; string1 =1,2,3,4,5new_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,5new_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 xkdnew_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,5new_obj1, seq, new_obj2 = string1.partition(,)print(new_obj1)#输出:1print(seq)#输出:,print(new_obj2)#输出:2,3,4,5new_obj1, _, _ = string1.partition(,)print(new_obj1)#输出:17.字符串对象方法
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 abcD8.字符串修改
replace方法,replace(old, new[, count]) -> str, 字符串替换,old指需要被替换的字符串,new为替换字符串, count为指定的次数; string=ageprint(string.replace(a,z))#输出:zge strip方法,strip([chars]) -> str, 剔除两端的字符,chars指定剔除的字符,chars不指定则为剔除空白字符; string= age print(string.strip())#输出:ageprint(string.strip())#输出:age lstrip: 剔除左边的字符,rstrip: 剔除右边的字符; print(string.rstrip())#输出: ageprint(string.lstrip())#输出:age9.字符串查找
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))#输出:310.字符串判断
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())#输出:False11.符串格式化
C语言风格 print("I am %04d"%(100,))# 前端补0print(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个位置,且左对齐,其他地方补0print({0} + {1} = {2:0<100}.format(1,2,3))# 指定100个位置,且右对齐,其他地方补0print({0} + {1} = {2:0>100}.format(1,2,3))# 指定100个位置,居中对齐print({0} + {1} = {2:^100}.format(1,2,3))# 指定100个位置,居中对齐, 其他地方补0print({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))参考:侠课岛(9xkd.com)Python同学计划(侵删)
扫一扫,关注我们
声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。
0