什么是字符串

描述

4.4.1 字符串的概念

Python 中有很多数据类型,字符串是其中的一种。
字符串英文为string,简写为str。
只要是被引号【单/双/三引号】括起来的内容,都称为字符串。

# 引号内为数字

age = '25'

# 引号内为英文

name_1 = "andy"

# 引号内为中文

name_2= "安迪"

# 查看变量

print(age)

print(name_1)

print(name_2)

25andy安迪

1、上述引号内的内容都是字符串;
2、不管是单引号、双引号、还是三引号,只要是引号里的内容都是字符串;
3、不管引号里是中文、英文、还是数字,只要是引号里的内容都是字符串。

4.4.2 字符串的拼接

直接使用操作符+就能将两个或两个以上的字符串进行连接。

# 给变量name 赋值

name = '我叫安迪'

# 给变量age 赋值

age = '今年25岁'

# 字符串拼接用+号

# 输出方法一:用print 函数输出

print(name+age)

#输出方法二:调用变量输出

name+age

我叫安迪今年25岁'我叫安迪今年25岁'

# 两个数字相加

print(

2

+

3

)

5

上述的代码中,2和3都是数字,进行的是加法运算,所以结果输出为5。

# 两个字符串拼接

print('2'+'3')

23

上述的代码中,'2'和'3'都有引号,进行的是字符串拼接运算,所以输出结果为'23'

# 三个字符串拼接

print('2'+'3'+'4')

234

数字只能和数字相加,字符串只能和字符串相加。
当多个字符串通过 +符号相加,运算的结果是字符串从左到右进行首尾拼接。
数字和字符串相加,会报错,这是初学者很容易出现的错误,大家写代码时要注意。

# 错误代码

print('2'+3)

---------------------------------------------------------------------------TypeError: can only concatenate str (not "int") to str

上述是错误代码,错误提示:can only concatenate str (not "int") to str,意思是只能将字符串(而不是“int”)连接到字符串。(str代表数据类型为字符串,int代表数据类型为整数)
concatenate[kənˈkatɪneɪt]:连接

4.4.3 字符串的复制

有的时候我们需要把一个字符串重复多遍,可以使用操作符*对字符串进行重复。

# 给变量赋值

tips = 'Python中,标点和符号必须在英文输入状态下输入!'

# 查看变量,变量重复3次

tips*3

'Python中,标点和符号必须在英文输入状态下输入!Python中,标点和符号必须在英文输入状态下输入!Python中,标点和符号必须在英文输入状态下输入!'

字符串*3表示字符串重复3遍。

4.4.4 获取字符串的长度

利用len( ) 函数可以获取字符串的长度。
length [leŋθ]:长度

# 给变量赋值

number = '123456789'

# 获取字符串的长度

len (number)

9

# 给变量赋值

name_2 = 

'张三'

# 获取字符串的长度

len (name_2)

2

4.4.5 查找字符串

字符串查找是指查找某一个字符串是否包含在另一个字符串中。

方法一:

in查找:【True】表示在,【False】表示不在。
not in查找:【True】表示不在,【False】表示在。

方法二:

find查找,如果存在返回字符的具体位置,不存在则返回-1。
语法是字符串.find(要查找的字符)

'我们' in '我们一家人!'

True

'你们' in '我们一家人!'

False

'我们' not in '我们一家人!'

False

'你们' not in '我们一家人!'

True

'ABCDEF!'

.find('C')

2

输出结果表示:字符c在字符串中,位置是字符串的第3个数。
结果为2,那为什么是第3个数,那就要介绍字符串的一个知识点:索引。·

Python中的字符串的位置是从0开始的编号的,0位对应的是A,1位对应的是B,2位对应的是C;
返回数字2表示字母C在字符串中,且位置是第2位。

'像字符串、整数、浮点数都是Python的一种数据类型!'

.find('列表')

-1

列表不在前面的一大串字符串里,所有返回-1。

4.4.6 字符串索引

字符串索引是指通过字符串中值所处的位置对值进行选取。需要注意的是字符串中的位置是从0开始的。语法是:字符串[位置]

 

数据类型

str[0]='我'   str[-9]='我'
str[1]='正'   str[-8]='正'
str[2]='在'   str[-7]='在'
str[3]='学'   str[-6]='学'
str[4]='数'   str[-5]='数'
str[5]='据'   str[-4]='据'
str[6]='分'   str[-3]='分'
str[7]='析'   str[-2]='析'
str[8]='!'   str[-1]='!'

# 为变量赋值

a = 

'我正在学数据分析!'

# 取字符串第1位的值

a[

0

]

'我'

# 为变量赋值

a = 

'我正在学数据分析!'

# 取字符串第3位的值

a[

3

]

'学'

# 为变量赋值

a = 

'我正在学数据分析!'

# 取字符串第2位到第4位的值,不包含第4位;

# 1:3 前面的1(对应第2位)包含,后面的3(对应第4位)不包含,所以取值为第2位,第3位

a[

1

:

3

]

'正在'

1:3 有冒号含前不含后:前面的1(对应第2位)包含,后面的3(对应第4位)不包含,所以取值为第2位,第3位。

# 为变量赋值

a = 

'我正在学数据分析!'

# 取字符串第1位到第4位的值,不包含第4位;

# 前面包含,后面不包含;

a[

0

:

3

]

'我正在'

# 取值中0可以省略

a[:

3

]

'我正在'

# 为变量赋值

a = 

'我正在学数据分析!'

# 取字符串第7位到最后一位的值,最后一位可不写

a[

6

:]

'分析!'

# 为变量赋值

a = 

'我正在学数据分析!'

# 取字符串的最后一位

a[

-1

]

'!'

通过具体某一个位置获取该位置的值的方式称为普通索引;
把通过某一位置区间获取该位置区间内的值的方式称为切片索引。

4.4.7 字符串分隔

字符串分隔是先将一个字符用某个分隔符号分开,然后将分隔后的值以列表的形式返回。列表在后面的章节讲述。
语法是字符串.split(分隔符)
split [splɪt]:分离、分隔。

# 将字符串abc用逗号分隔

'a,b,c'

.split(

','

)

['a', 'b', 'c']

# 将字符串abc用/分隔

'a/b/c'

.split(

'/'

)

['a', 'b', 'c']

4.4.8 字符串移除

移除字符用到的方法是 strip()函数,该函数用来移除字符串首尾的指定字符,默认的情况下移除字符串首尾的空格或换行符。语法是字符串.strip(字符串)
strip[strɪp]:取走。

# 括号为空时默认移除空格

' a   '

.strip()

'a'

# 移除字符在开头

'ccddd'

.strip(

'c'

)

'ddd'

# 移除字符在结尾

'dddccc'

.strip(

'c'

)

'ddd'

# 移除字符在中间

'dddccceee'

.strip(

'c'

)

'dddccceee'

.strip( ) 只能移除在最前或最后的字符。

总结

1、概念:引号里的内容称为字符串,简写为str;
2、字符串的拼接用+:例如:'2'+'3'输出23
3、字符串的复制用*:例如:'我'*3输出我我我
4、字符串的长度:len( ):例如len('ABCD')输出4
5、字符串的查找:
'a' in 'abcd'
'a' not in 'abcd'
'abcd'.find(a)
6、字符串索引:字符串[ ]
[0]表示取第1位,[1]表示第2位;
[0:2]表示取第1位、第2位,含前不含后,不取第3位。
[:2]表示取第1位、第2位,0可以省略。
[5:]表示取第6位到最后一位,最后一位可以不写。
[-1]表示取最后一位。
7、字符串分隔:字符串.split(分隔符)8、字符串移除:字符串.strip(字符) 括号为空时默认移除空格。

课后练习1

补全下面的代码,输出:安迪在图书馆学Python
注意:字不在变量里。

# 给变量赋值

name = 

'安迪'

place = 

'图书馆'

action = 

'学Python'

# 输出:安迪在图书馆学Python

课后练习2

补全下面的代码,输出:李四数学80分 注意:字不在变量里。

# 给变量赋值

surname = 

'赵钱孙李'

givename = 

'一二三四五'

subject = 

'语文数学英语'

number = 

'0123456789'

# 输出:李四数学80分


 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分