字符串:用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符。
字符串的创建和赋值:
str1 = 'helloworld' str1 = str(10) str1 = str([1,2,3,4,5]) #将列表转换成字符串 str1 = str((1,2,3,4,5)) #将元组转换成字符串
字符串访问:
str = 'runoob' print (str) # 输出字符串 print (str[0:-1]) # 输出第一个个到倒数第二个的所有字符 print (str[0]) # 输出字符串第一个字符 print (str[2:5]) # 输出从第三个开始到第五个的字符 print (str[2:]) # 输出从第三个开始的后的所有字符 print (str * 2) # 输出字符串两次 print (str + "TEST") # 连接字符串
输出结果:
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
转义符:
\(在行尾时):续行符 \\:反斜杠 \':单引号 \b:退格键 \n:换行 \r:回车键 \f:换页 \v:纵向制表符 \t:横向制表符
例如:
>>> print ('let\'s go!') #用转义符“\”进行转义 let's go! 或者: >>> print ("let's go!") 例:输出C:\now路径 >>> str = 'C:\\now' #用转义符进行转义 >>> print (str) C:\now #如果存在很多这样的\时候,例如:C:\Program Files\Intel\WIFI\Help
#原始字符的使用非常简单,只需要在字符串前面加上一个英文字母r即可 >>> str = 'C:\now' >>> print (str) C: ow >>> str = r'C:\now' #加上r后 >>> print (str) C:\now
字符串格式化:
字符串格式化:% (%s:格式化字符串 %d:格式化整数,%c:格式化字符及其ASCII码,%f:格式化浮点
例:
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
输出结果:
我叫 小明 今年 10 岁!
字符串内置函数:
capitalize(): #将字符串的第一个字符转换为大写 center(width, fillchar): #返回一个指定的宽度width居中的字符串,fillchar为填充的字符,默认为空格 count(str, beg= 0,end=len(string)): #返回str在 string 里面出现的次数,如果beg或者end指定则返回指定范围内str出现的次数 decode(encoding='UTF-8',errors='strict'): #使用指定编码来解码字符串。默认编码为字符串编码 endswith(suffix, beg=0, end=len(string)):#检查字符串是否以obj结束,如果beg或者end指定则检查指定的范围内是否以obj结束,如果是,返回True,否则返回False expandtabs(tabsize=8): #把字符串 string 中的tab符号转为空格,tab符号默认的空格数是8 find(str, beg=0 end=len(string)): #检测str是否包含在字符串中,如果beg和end指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 index(str, beg=0, end=len(string)): #跟find()方法一样,只不过如果str不在字符串中会报一个异常 isalnum(): #如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False isalpha(): #如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False isdigit(): #如果字符串只包含数字则返回 True 否则返回 False islower(): #如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False isnumeric(): #如果字符串中只包含数字字符,则返回True,否则返回False isspace(): #如果字符串中只包含空格,则返回True,否则返回False istitle(): #如果字符串是标题化的则返回True,否则返回False supper(): #如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True,否则返回False join(seq): #以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 >>> temp = 'I love you' >>> temp.join('*!') '*I love you!' >>> temp.join('**!') '*I love you*I love you!' >>> temp.join('***!') '*I love you*I love you*I love you!' len(string): #返回字符串长度 lower(): #转换字符串中的大写字母为小写 upper(): #转换字符串中的小写字母为大写 ljust(width[,fillchar]): #返回一个原字符串左对齐,并使用fillchar填充至长度width的新字符串,fillchar默认为空格 rjust(width,[,fillchar]): #返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度width的新字符串 lstrip(): #删除字符串左边的空格 rstrip(): #删除字符串字符串末尾的空格 max(str): #返回字符串str中最大的字母 min(str): #返回字符串str中最小的字母 replace(old,new[,max]): #将字符串中的str1替换成str2,如果max指定,则替换不超过max次 >>> temp = 'I love you' >>> temp.replace('love','Love') 'I Love you' rfind(str, beg=0,end=len(string)): #类似于 find()函数,不过是从右边开始查找 split(str="", num=string.count(str)): #num=string.count(str)) 以str为分隔符截取字符串,如果num有指定值,则仅截取num个子字符串 >>> str1 = 'helloworld' >>> str1.split('o') ['hell', 'w', 'rld'] splitlines(num=string.count('\n')): #按照行分隔,返回一个包含各行作为元素的列表,如果num指定则仅切片num个行 startswith(str, beg=0,end=len(string)): #检查字符串是否是以obj开头,是则返回True,否则返回False。如果beg和end指定值,则在指定范围内检查 strip([chars]): #删除字符串左右的空格 >>> str1 = ' hellowor ld ' >>> str1 ' hellowor ld ' >>> str1.strip() swapcase(): #将字符串中大写转换为小写,小写转换为大写 translate(table, deletechars=""): #根据str给出的表(包含256个字符)转换string的字符, 要过滤掉的字符放到deletechars参数中 zfill (width): #返回长度为width的字符串,原字符串右对齐,前面填充0 isdecimal(): #检查字符串是否只包含十进制字符,如果是返回true,否则返回false