4.4 字符串

4.4 字符串

4.4.1 字符串的概念

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

# 引号内为数字
age = '25'

# 引号内为英文
name_1 = "andy"

# 引号内为中文
name_2= "安迪"

# 查看变量
print(age)
print(name_1)
print(name_2)
25
andy
安迪

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                                 Traceback (most recent call last)



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分

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值