文章目录
特点
- 在python中字符串一旦被定义好就是不可更改的
- 可以将字符串的一部分复制到新创建的字符串中,达到“看起来修改”的效果
- python不支持单字符,单字符也是作为一个字符串使用
创建字符串
使用单引号或者双引号来创建字符串
>>> a = 'asd'; b = "123"
>>> print(a);print(b)
asd
123
连续三个单引号或连续三个双引号创建多行字符串
>>> resume = """ name='张三'
age=18
score="90" """
>>> print(resume)
name='张三'
age=18
score="90"
>>>
字符串拼接
>>> a = '123' + '456'
>>> a
'123456'
>>> a = 'asd''fgh'
>>> a
'asdfgh'
>>>
字符串复制
>>> a = 'rt'*4
>>> a
'rtrtrtrt'
>>>
常用方法
方法名 | 返回值 | 作用 |
---|---|---|
ord(string) | int | 把字符转换成对应的unicode码 |
chr(int) | string | 把十进制数转换为对应的字符 |
len(String) | int | 返回一个字符串的长度 |
input(string) | string | 读取键盘输入内容 |
str(object) | string | 将其他类型的对象强制转换为字符串 |
replace(string ,string) | string | 找到与参数1相对应的字串并用参数2代替,返回新的字符串 |
split(string) | string[] | 根据指定字符串,分割字符串,返回一个数组对象 |
join(string[]) | string | 用来将一系列的字符串连接在一起,并创建一个新的字符串返回 |
startswith(string) | boolean | 用来判断是否是以指定字符串开头 |
endswith(string) | boolean | 用来判断是否以指定字符串结尾 |
find(string) | int | 返回指定字符串第一次出现的位子 |
从控制台读取键盘输入的内容
>>> name = input("input your name:")
input your name:Daiw
>>> print(name)
Daiw
replace替换字符串中对应的字符
>>> a = "1sdad1sdsf1sdaf1"
>>> print(a)
1sdad1sdsf1sdaf1
>>> a.replace('1','中文')
'中文sdad中文sdsf中文sdaf中文'
slice方式切片字符串
语法 [startIndex:endIndex:step]
- startIndex:起始偏移量
- endIndex:结束偏移量(截取时不包括endIndex,不写默认为字符串长度)
- step:截取步长(默认为一,指定截取时隔几个截取)
案例
a = '123456789'
# 取指定下标的字符串
print(a[1])
# 取指定下标到末尾的字符串,endIndex不写默认为当前字符串的lenth
print(a[2:])
# 按照指定步长来获取字符串
print(a[0::2])
# 按照默认步长来获取字符串,step默认为1
print(a[0::])
结果
split分割字符串
>>> a = "to be or not to be"
>>> print(a.split(" "))
['to', 'be', 'or', 'not', 'to', 'be']
>>> print(a.split("to"))
['', ' be or not ', ' be']
>>>
join拼接字符串
>>> a = ['123','456','789']
>>> "".join(a)
'123456789'
>>> "*".join(a)
'123*456*789'
使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。推荐使用join函数因为join函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝s仅新建一次对象。
案例
import time
# 记录开始时间
startTime=time.time()
a=""
for i in range(1000000):
a+="sxt"
# 记录结束时间
endTime=time.time()
print(endTime-startTime)
# 记录开始时间
startTime01=time.time()
list=[]
b=""
for i in range(1000000):
list.append("axt")
b="".join(list)
# 记录结束时间
endTime01=time.time()
print(endTime01-startTime01)
结果
成员操作符int / not in
判断某个字符串是否存在于字符串中
>>> a = "asdfggs"
>>> "d" in a
True
>>> "b" in a
False