字符串是⼀个有序的字符的集合,⽤于在计算机⾥存储和表示⽂本信息
s = "Hello, my name is Alex,golden king."
可进⾏切⽚操作
>>> s
'Hello, my name is Alex,golden king.'
>>> s[3:6] # 顾头不顾尾
'lo,'
>>> s[1:5]
'ello'
>>> s[0:5]
'Hello'
>>>
>>> s[3:10]
'lo, my '
>>>
不可变,字符串是不可变的,不能像列表⼀样修改其中某个元素,所有对字符串的修改操作其实都是相当于⽣成了⼀份新数据。
Python字符串center()方法以字符串宽度(width)为中心。使用指定的填充字符(fillchar)填充完成。默认填充字符(fillchar)是一个空格。
count() 方法用于统计字符串里某个字符或子字符串出现的次数。可选参数为在字符串搜索的开始与结束位置。
encode() 方法以 encoding 指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案,默认为 ‘strict’,意为编码错误引起一个UnicodeError。 其他可能的值有 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过codecs.register_error() 注册的任何值。
endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 “start” 与 “end” 为检索字符串的开始与结束位置。suffix – 该参数可以是一个字符串或者是一个元素。
find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始,默认为0) 和 end(结束,默认字符串的长度) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。
>>>info = 'abca'
>>> print(info.find('a')) # 从下标0开始,查找在字符串里第一个出现的子串,返回结果:0
0
>>> print(info.find('a', 1)) # 从下标1开始,查找在字符串里第一个出现的子串:返回结果3
3
>>> print(info.find('3')) # 查找不到返回-1
-1
>>>
isdigit() 方法检测字符串是否只由数字组成。如果字符串只包含数字则返回 True 否则返回 False。(即不接受其他一切非 [0-9] 元素)
>>> import sys
>>> sys.version
'3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)]'
>>> '777'.isdigit()
True
>>> '33d'.isdigit()
False
>>> '33在'.isdigit()
False
>>> '-23'.isdigit()
False
>>> '0.32'.isdigit()
False
>>> (2>3).isdigit() #入参类型不合法
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'bool' object has no attribute 'isdigit'
join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq )) # r-u-n-o-o-b
print (s2.join( seq )) # runoob
replace()方法是把字符串中的old(旧子字符串)替换成new(新子字符串),如果指定第三个参数max,则替换次数不超过max次(将旧的字符串用新的字符串替换不超过max次),默认全部替换。
(1)当不将max参数传入时,默认将所有old字符或者字符串替换为new字符或者字符串;
(2)当我们将max参数传入后,则将旧字符串替换为新字符串不超过max次,多余的则不进行替换。
str = "www.linuxidc.com"
print ("Linux公社:", str)
print ("Linux公社:", str.replace("linuxidc.com", "linuxidc.net"))
str = "www.linuxmi.com linuxmi linuxmi"
print (str.replace("mi", "idc", 2))
str = "this is string example....wow!!!"
print (str.split( )) # 以空格为分隔符 ['this', 'is', 'string', 'example....wow!!!']
print (str.split('i',1)) # 以 i 为分隔符 ['th', 's is string example....wow!!!']
print (str.split('i',2)) # 以 i 为分隔符 ['th', 's ', 's string example....wow!!!']
print (str.split('w')) # 以 w 为分隔符 ['this is string example....', 'o', '!!!']
txt = "Google#Runoob#Taobao#Facebook"
# 第二个参数为 1,返回两个参数列表
x = txt.split("#", 1)
print(x) # ['Google', 'Runoob#Taobao#Facebook']
startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
str = "this is string example....wow!!!"
print (str.startswith( 'this' )) # 字符串是否以 this 开头 True
print (str.startswith( 'string', 8 )) # 从第九个字符开始的字符串是否以 string 开头 True
print (str.startswith( 'this', 2, 4 )) # 从第2个字符开始到第四个字符结束的字符串是否以 this 开头 False
strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
str = "*****this is **string** example....wow!!!*****"
print (str.strip( '*' )) # 指定字符串 * 输出:this is **string** example....wow!!!
str = "123abcrunoob321"
print (str.strip( '12' )) # 字符序列为 12 输出:3abcrunoob3
只要头尾包含有指定字符序列中的字符就删除
[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表⼀个元素,可修改指定索引位置对应的值,可变。
追加,数据会追加到尾部
>>> names['alex', 'jack']
>>> names.append("rain")
>>> names.append("eva")
>>>
>>> names['alex', 'jack', 'rain', 'eva']
插⼊,可插⼊任何位置
>>> names.insert(2,"⿊姑娘")
>>> names['alex', 'jack', '⿊姑娘', 'rain', 'eva']
合并,可以把另⼀外列表的值合并进来
>>> n2 = ["狗蛋","绿⽑","鸡头"]
>>> names=['alex', 'jack', '⿊姑娘', 'rain', 'eva']
>>> names.extend(n2)
>>> names['alex', 'jack', '⿊姑娘', 'rain', 'eva', '狗蛋', '绿⽑', '鸡头']
列表嵌套
>>> names.insert(2,[1,2,3])
>>> names ['alex', 'jack', [1, 2, 3], '⿊姑娘', 'rain', 'eva', '狗蛋', '绿⽑', '鸡头']
>>> names[2][1]
>>> 2