数据类型(字符串)

时间:2023-01-04 18:39:19

一、字符串

1、字符串定义:由字符组成的序列,字符串中的每一个元素还是字符串

特性:字符串是不可变的序列类型

 

2、字符串的创建:单引号、双引号、三引号

单双引号用法几乎一致、除了两者交替使用可达到输出对方的效果(不建议使用此法,建议使用转义)

单双引号一般在一行中定义,想换行要用续航符(\),三引号自带换行(三引号不是注释)

 

创建空字符串,空字符串的长度为0,空字符串不是None,转换成bool类型输出Flase

str_null=""
print(len(str_null))
print(type(str_null))
print(type(None))

 

 

输出的结果为:

0

<class 'str'>

<class 'NoneType'>

 

 

3、转义:

字符串的转义序列,将特殊字符转义

单、双引号的转义使用,\  放在需需转义的字符前,\  还能转义自己本身

s="i am \"ok\""

输出结果:i am "ok"

print"abcde\\fghik"

输出结果:

abcde\fghik

 

\n换行:代表换行,换到当前位置的下一行

\r:

在Windows,\r,要回到当前行的行首,不会换到下一行,如果直接输出,会将之前的内容覆盖住

数据类型(字符串)

数据类型(字符串)

注意:

前缀r:在字符串定义前加r,能够让字符串原样输出

 数据类型(字符串)                      



4、字符串的操作
运算符
索引
切片

注意:字符串的操作大部分都是新创建的字符串,除了整切片

1)
运算符:+、 * 、in 、not in、is、is not、==、<、<=、>、>=

①+合并,创建新字符串进行合并

②*重复,返回的是新字符串

两者可以混合用



③in、not in成员运算符
④is、is not
(字符串本身是有序的)

数据类型(字符串)


⑤==等
返回值为True、Flase

数据类型(字符串)

数据类型(字符串)

 

字符集:
比较的是ASCII码

逐个比较,若两边第一个字符已经比较出结果,则直接会出结果,True、Flase
当位数不同时,若前面无法比较出大小当位数不同时,位数少的补一个空位,继续比较

数据类型(字符串)


2)索引(索引不能越界,否则会报异常)
获取字符串中单个字符串,需要用到索引
格式:字符串名[index]:index可以为正数、负数、0
第一个元素:从0开始
正数:从左到右
负数:从右向左,最后一个元素为-1
范围:-len(s),len(s)-1
注意:字符串的元素不能修改,只能重新绑定


3)切片能够获取字符串的多个元素(包含start,不包含end)

格式:字符串名[start,end]:
包含start,不包含end,两者可以取正数、负数、0

start省略为0,end省略为len(s)

end-start=截取的长度

第一个元素:从0开始
正数:从左到右
负数:从右向左,最后一个元素为-1
范围:-len(s),len(s)-1
注意:切片是新创建的字符串(非整切片),字符串的元素不能修改,只能重新绑定

 

4)字符串的相关方法:

①center(str,start,end)统计

(可越界,不报错,和切片一样,当索引(下标)超过范围时,不会报错)

返回参数某字符串在原串中出现的次数

不写start、end,默认按原字符串统计

若只传递一个参数,认为是start,结果默认为len(st)

 

②index查找,若查找到则返回原中的位置,否则会报错

默认从左向右查找,查找子串中第一个字符出现的位置

 

③find查找,返回查找的内容在原中的位置,若找不到不会报错,会返回-1

默认从左向右查找,查找子串中第一个字符出现的位置

 

④join拼接字符串,把列表中各个元素按照字符串连接(通常用来拼接列表)

新创建的字符串

 

⑤replace替换,替换结果是replace

replace(old,new,count)

 

⑥strip剪切,去掉指定的符号,从两端去掉指定的字符串

参数不写,默认的空格

挨个字符找,去掉两端符合条件的字符串,一直去掉不符合条件的位置

# 从左边剪切
print(st.lstrip("af"))
# 从右侧剪切
print(st.rstrip("af"))

 

⑦split 切割:切割完的字符就没有了

按照切割的参数,一分为二
返回值是列表

 

⑧upper  lower

全部转成大写、小写

 

⑨isnumeric: 判断是不是数值类型

⑩isalpha: 判断是不是字符

(11)center(width,char)
如果width<len(s),不会对原串进行截取
width:占位
char: 填充的字符
s="hello world"
#当字符串长度是奇数,填充会从右侧开始
 当字符串长度是偶数,填充会从左侧开始