字符串可以说是python中最受欢迎的数据类型了。字符串在表示方面也更为灵活多变。(python不支持单字符类型,单字符也是作为一个字符串使用)
1、创建:python用引号来界定字符串,可以用单引号、双引号、三引号。(只要不是三引号,就只能在一行内表示)
当打印一些特殊字符串(包含反斜杠)时,我们不希望反斜杠被当成特殊字符,可以加两个反斜杠,或者使用原生字符串(在字符串前面加“r”)。
2、字符串的切片规则
整个字符串:str[:]
从n开始到末尾:str[n:]
从头开始到end-1(取前end个字符):str[:end]
从strat开始到end-1:str[start:end]
从start开始到end-1,以步长为step截取:str[start:end:step]
选择索引为index的字符:str[index]
python的字符串具有不可变性,创建之后不能在原基础上改变
3、字符串的其他操作:
①.字符串复制:*
>>>name="girl"
>>>name*5
'girlgirlgirlgirlgirl'
②.字符串合并 :+
>>>'100'+'-'+'8'+'6'
'100-86'
③.成员测试:in,not in
>>>'g'in 'girl'
True
>>>'o'in'girl'
False
④.字符串格式化运算符:s%
4、字符串常见方法
>>>str='goodday'
>>>str.center(10)
' goodday '
>>>str.center(10,'*')
'*goodday**'
>>>str.center(10,'*&')
Traceback (most recent call last):
File "D:\python3102\lib\code.py", line 90, in runcode
exec(code, self.locals)
File "<input>", line 1, in <module>
TypeError: The fill character must be exactly one character long
>>>str='goodgoodstudy'
>>>str.count('g')
2
>>>str.count('oo')
2
>>>str.count('g',1,8)
1
>>>str='hello python'
>>>print(str.startswith('pyt'))
False
>>>print(str.startswith("hello"))
True
>>>print(str.startswith('hel',2,10))
False
>>>str='hello python'
>>>str.index('he')
0
>>>str.index('ho')
9
>>>str.index('oh')
Traceback (most recent call last):
File "D:\python3102\lib\code.py", line 90, in runcode
exec(code, self.locals)
File "<input>", line 1, in <module>
ValueError: substring not found
>>>str1='-'
>>>str2=''
>>>seq=('p','y','t','h','o','n')
>>>str1.join(seq)
'p-y-t-h-o-n'
>>>str2.join(seq)
'python'
>>>str1="******hello***python****"
>>>str1.strip("*")
'hello***python'
>>>str1="goodgoodstudy"
>>>str1.replace("o","k")
'gkkdgkkdstudy'
>>>str1.replace("o","k",2)
'gkkdgoodstudy'
>>>str1="goodgoodstudy"
>>>str1.upper()
'GOODGOODSTUDY'
>>>str2='GOODGOODSTUDY'
>>>str2.lower()
'goodgoodstudy'
5、python的字符编码
python3的字节类型和字符串类型分别为bytes和Unicode。
用encode()方法和decode方法实现编码和解码。