Python 之 字符串 str 的深入浅出
1、字符串定义
- 一个个字符组成的有序的序列,是字符的集合
- 使用单引号 双引号 三引号 引住的字符序列
- 字符串是不可变的对象
- Python3起,字符串就是Unicode类型
2、字符串初始化
print("Man")
# Man
print('\tname\t')
# name
print(str(1))
# 1
print("""This is a "String".""")
# This is a "String".
name = 'tom'
age = 18
f'{
name}+++{
age}'
# 'tom+++18'
3、字符串元素访问–下标
-
字符串支持使用索引访问
str1 = 'abcde' str1[0], str1[-1], str1[4], str1[-5] # ('a', 'e', 'e', 'a')
-
有序的字符集合,字符序列
str1 = 'abc' for i in str1: print(i, type(i))
a <class 'str'> b <class 'str'> c <class 'str'>
-
字符串可迭代
list1 = list('abc') list1 # ['a', 'b', 'c']
4、字符串join
连接
-
将可迭代对象连接起来,使用
string
作为分隔符 -
可迭代对象本身元素都是字符串
-
返回一个新的字符串
'string'.join(iterable, /) -> str str.join(self, iterable, /) -> str
4.1 示例
lst = ['1', '2', '3']
print('\"'.join(lst)) # 1"2"3
print('+'.join(lst)) # 1+2+3
a = ' '.join(lst)
print(a, type(a)) # 1 2 3 <class 'str'>
print(str.join('+', lst)) # 1+2+3
lst = ['1', 'a', 'b', '3']
print("".join(lst)) # 1ab3
lst = ['1',['a', 'b'], '3']
print("".join(lst)) # TypeError: sequence item 1: expected str instance, list found
5、字符串+
连接
-
将两个字符串连接在一起
-
返回一个新的字符串
-
+ -> str
'123' + 'abc' # '123abc'
6、字符串分割
6.1 split
分割
将字符串按照分隔符分割成若干个字符串,并返回列表。
6.1.1 split
split(sep=None, maxsplit=-1) -> list of strings
1、从左至右
2、sep 指定分割字符串,缺省的情况下空白字符作为分隔符
3、maxsplit 指定分割的次数,-1表示遍历整个字符串
# 注意缺省情况下的空格和单个空格的区别
str1 = "I'm \ta super student."
print(str1) # I'm a super student.
str1.split() # ["I'm", 'a', 'super', 'student.']
str1