字符串

1. 字符串的创建

#type() 函数 查看对象的类型

所有字符在一行python python字符串多行_开发语言


所有字符在一行python python字符串多行_字符串_02


即为字符串类型(class表示‘类别’)

#常用类型 str int float bool #布尔类型(bool)只包含两个整数,分别是1和0 (1代表TRUE,0代表FALSE)

所有字符在一行python python字符串多行_学习_03


所有字符在一行python python字符串多行_字符串_04

2. 字符串转义符

转义字符

描述

\ (在行尾时)

续航符

\ \

反斜杠符号

\ "

双引号

\ ’

单引号

\n

回车符,将光标移到下一行开头

\r

回车符,将本行数据清除,将光标移到本行开头

\t

水平制表符,也即Tab键,一般相当于四个空格

\b

退格(Backspace),将光标位置移到前一列

#续航符把多行数据变成一行

所有字符在一行python python字符串多行_学习_05


所有字符在一行python python字符串多行_字符串_06


#\n 把一行数据变成多行

所有字符在一行python python字符串多行_字符串_07


所有字符在一行python python字符串多行_字符串_08

3. 字符串格式化

原本:

所有字符在一行python python字符串多行_字符串_09


所有字符在一行python python字符串多行_开发语言_10


输出中冒号与数字之间还是有间隙,而且输出代码比较麻烦。#如何把数字嵌入到字符串里面去?----字符串格式化解决

字符串格式化有三种: format , % , f‘ ’(3.7以上的版本,就是format的简写)1.format

字符串format()格式化数据:

所有字符在一行python python字符串多行_python_11


使用方法:

value=100#将value放置在大括号的位置
data='我有{}元'.format(value)
print(data)

运行结果:

我有100元

若要写如多个,比如:

age=18
value=100
data='我{1}岁,我有{0}元'.format(value,age)
#format中两者顺序不重要,想要顺序,{0}表示format第一个,{1}表示format第二个,以此类推
#若{}中的顺序与format中的顺序一致,则可以不用添加0,1等
print(data)

输出结果为:

我18岁,我有100元

在Python中,{:.2f}中的:表示分割点,如{:}就是无分隔,数字正常输出,如{:.2f}表示在小数点后两位断,即只取小数点后两位。
例如:

value=100.12345
print('我有{:.2f}元'.format(value))

输出结果为:

我有100.12元

若输入为:

value=100.12345
print('我有{:}元'.format(value))

输出则为:

我有100.12345元

2.%
字符串%传统格式化符号(最前面三个需背下来,后面需了解)

符号

描述

%s

格式化字符串

%f

格式化浮点数字,可指定小数点后的精度

%d

格式化整数

%c

格式化字符及ASCII码

%u

格式化无符号整型

%o

格式化无符号八进制数

%x(%X)

格式化无符号十六进制数

%e(%E)

用科学计数法格式化浮点数

%g

%f和%e的简写

%G

%f和%E的简写

%p

用十六进制数格式化变量的地址

%的使用:

value=100
age=18
data='我%s岁,我有%s元' % (age,value)
print(data)

输出为:

我18岁,我有100元

同理,当我们需要的数字是小数点(即浮点型),输入为:

value=100.12345
age=18
data='我%s岁,我有%.2f元' %(age,value)
print(data)

输出为:

我18岁,我有100.12元

浮点型是专门为了保留特定的小数位数需要的

3.f’ ’
使用方法相对format简单一些,直接一些,但是有版本要求(版本要求在3.7以上)
如:

value=100
age=18
data=f'我{age}岁,我有{value}元'
print(data)

输出为:

我18岁,我有100元

#一般这种方法不用浮点型,若用浮点型一般直接使用第二种方法

4. 字符操作符

1." + " , 多个字符串的拼接

data1='a'
data2='b'
print(data1+data2)

输出为:

ab

注:字符串是不能和整数进行拼接运算的,(str不能和int拼接),如:
*规定age=20,不能改为age='20'*

age=20
data='我'+age+'岁'
print(data)

输出结果是会报错的
若改为:

age=20
data='我'+'age'+'岁'
print(data)

输出则变成:

我age岁

若想正常输出完整句子,需要数据类型强转2.数据类型强转

int()  #转换成int类型
str()  #转换成str类型
bool() #转换成bool类型
float()#转换成float类型

几乎Python中所有类型都是可以完成数据类型强转的
我们只需要将上述题目中
data=‘我’+age+'岁’转换成data=‘我’+str(age)+'岁’即可

操作符

描述

+

字符串连接

*

重复输出字符串

[ ]

通过索引获取字符串中字符

[ : ]

截取字符串中的一部分

in

成员运算符-如果字符串中包含给定的字符返回True

not in

成员运算符-如果字符串中不包含给定的字符返回True

r/R

原始字符串-原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符

print(‘abc’*100)——abc重复一百次

r\R的作用:使用后所有的特殊符号全都无效

data=C:\Users\14317\Desktop\ppt

如果不想一个个按,使每个’‘变成’\',从而使转义符失效,可以写成:

data=r'C:\Users\14317\Desktop\ppt'

可以达到同样效果

#[ ] 通过索引获取字符串中字符
索引分为两种,正索引和负索引,
以字符串abcd为例,
正索引即从左向右从0开始数,即abcd(0 1 2 3);
负索引即从右向左从-1开始数,即abcd(-4 -3 -2 -1)

data='abcd'
print(data[1])

输出为

b

若想要取多个,则需要用到“[ : ]”符号(切片–从一个索引切到另一个索引)
print(data[ : ])----从头切到尾,获取全部数据,就相当于没有切
切分点如下(还是以abcd为例):

正索引                     负索引
 | a | b | c | d |        | a | b | c | d |
 0   1   2   3   4       -4  -3  -2  -1   0(此0实际上不可以写在代码中,因为它实际上不存在)
 #正索引和负索引中都有0,但是只认正索引的0,负索引的0只是为了方便理解
data='abcd'
#正索引               #负索引
print(data[0:2])      print(data[-1:])

输出结果:

#正索引               #负索引
ab                    d