字符串:用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符。
字符串的创建和赋值:
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
String