python中的字符串(String)

特点

  • 在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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值