0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是字符串

汽车电子技术 来源:安迪python学习笔记 作者:安迪python学习笔记 2023-02-23 14:55 次阅读

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

'我们'notin'我们一家人!'

False

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

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开始的。语法是:字符串[位置]

poYBAGP3Da2AG0h4AABk7efyyXE684.png

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分


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

    关注

    1

    文章

    551

    浏览量

    20123
  • 数据类型
    +关注

    关注

    0

    文章

    227

    浏览量

    13496
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466
收藏 人收藏

    评论

    相关推荐

    matlab的一般字符串函数和字符串比较命令

    matlab的一般字符串函数和字符串比较命令一般字符串函数 Strings MATLAB中有关字符串函数的说明 Abs 变字符串为数值 Se
    发表于 09-22 15:59

    实数转为字符串

    最近刚搞定字符串转为实数型,但是又不知道怎么把实数转为字符串,求大神相助
    发表于 10-06 13:27

    字符串设置

    请大神帮助 新手寻找了半天!请问怎么设置让字符串显示控件的标题能这样显示输出的是一系列的字符串
    发表于 10-18 22:00

    字符串公式求值)

    设计一个VI,输入端为一个字符串控件,输出端为一个数值显示控件。要求输出控件显示的是输入字符串中表达式的结果,如下图所示。所有算法建议在子VI内实现,这样可以多次调用。(字符串公式求值)
    发表于 08-05 13:27

    串口读取的字符串字符串输入控件输入的字符串的差别

    发现很多时候串口读取的字符串字符串输入控件输入的字符串虽然看着一样,但是要进行后续操作的话,却总是不一样的。大家有过这种感受吧,知道什么原因 吗?
    发表于 06-06 11:44

    扫描字符串函数中输入字符串格式问题

    使用扫描字符串函数时,如图中所示,提示输入字符串格式不符合预期。例子中格式字符串{%s},对输入字符串的格式要求具体有哪些?ps.我看LV的帮助文档也只提示使用扫描
    发表于 08-27 10:25

    过滤字符串

    将输入的字符串过滤,输出指定的类型,如输出整数,浮点数,A到Z等字符串
    发表于 11-09 15:49

    数据转换、SQL存储,十六进制字符串、正常字符串

    到了这个方法。方法:将所有乱码的 ,不乱码的数据显示成十六进制,如下图所示,把正常显示的字符串更换为16进制显示,当显示为16进制字符串时,字符串的显示字符组成仅为1-F的
    发表于 05-27 10:29

    Uart字符串传输

    嗨,我对使用Uart协议在循环中逐个字节地处理字符串的传输字节有一些困难。对于一个字符串传输,我使用了如下定义:const char*inputText=“请插入脉冲周期”;注意:这只适用于一个字符串
    发表于 05-28 10:07

    labview字符串转换

    ` 本帖最后由 jingzhaojun1986 于 2020-6-12 13:58 编辑 ,这个库多用于协议解析,主要实现了16进制字符串到正常字符串的显示正常字符串转换为16进制字符串
    发表于 05-19 11:50

    字符串拆分

    串口连续传来如是字符串”V-12.98C0.18“希望把字符串拆分为V后的为一组数,C后的为一组数。上述字符串应该拆为-12.98和0.18。我尝试了用匹配模式匹配中间的空格分成两个字符串
    发表于 05-22 11:57

    什么是指向字符串指针?

    组成的句子,在C语言中被称为“字符串”。  了解完字符串是由多个字符组成的之后,想要存储字符串就变得非常容易了,我们只需要定义多个变量来存储这些字符
    发表于 03-15 14:19

    搜索/替换字符串

    想将连续的字符串按照设定的索引,把字符串分成数组直接运行时,两个数组结果相同,但是如果在“连续字符串”中“故障信息”后面敲一个空格,结果就不一样了
    发表于 05-13 13:59

    连接字符串问题

    在程序里通过连接字符串获得Trace名,然后发现Trace变成了3行,不知道咋回事,有人知道是怎么回事吗?单独把两个字符串拉出来可以拼接在1行,求指导
    发表于 09-07 18:15

    聊聊字符串

    大家好,我是惊觉,今天聊聊字符串字符串的使用场景非常之多,人机交互和双机通信都会用到。比如:通过串口向单片机发送指令,以执行操作或配置参数。单片机读取传感器数据,数据格式是字符串。一般GPS数据
    发表于 02-28 06:52