Python基本数据类型之字符串

liftword3周前 (04-08)技术文章12

字符串由若干个字符组成,用双引号(" ")、单引号(' ')或者三引号(''' '''或者""" """)包围。例如:

name='孙悟空' # 定义一个表示名字的变量name,并赋值为孙悟空
address="花果山" # 定义一个表示地址的变量address,并赋值为花果山
gender="""猴子""" # 定义一个表示性别的变量gender,并赋值为猴子
print(name,address,gender,sep="-")

上述输出结果为:

孙悟空-花果山-猴子

单引号和双引号之间可以互相嵌套,三引号包围的字符串不参与任何操作(例如:赋值、输出、切片等)时,该字符串则相当于注释,不起到任何作用。

str1='a' # 定义一个变量str1,并赋值为a
str2="'b'" # 定义一个变量str2,并赋值为b
str3="""'c'""" # 定义一个变量str3,并赋值为c
'''这是一段文字'''
print(str1,str2,str3)

上述输出结果为:

a 'b' 'c'

1、字符串的不可变

python中没有char类型表示单个字符,只有字符串类型str。字符串对象是不可变类型,即不可通过索引下标修改,也不可以通过del关键字删除单个字符。例如:

name="Tom Green"
name[0]="J"

上述运行后会报错:

Traceback (most recent call last):
  File "e:/study/demo.py", line 2, in 
    name[0]="J"
TypeError: 'str' object does not support item assignment

2、长字符串

Python长字符串由三个双引号或者三个单引号包围,当程序中长文本内容需要定义成字符串时,建议使用长字符串形式,字符串中可以包含任何内容,包括单引号和双引号。长字符串中的换行、空格、缩进等空白符也会输出,例如:

name="""你的名字是:    
        Tom
"""
print(name)

上述输出结果为:

你的名字是:
Tom

3、原始字符串

在普通字符串或者长字符串的开头加上 r 或者R前缀,就变成了原始字符串。例如:

name=r"你的名字是:Tom  &@%"
print(name)

上述输出结果为:

你的名字是:Tom &@%

4、字符串中包含引号的解决办法

当字符串中出现引号时,该引号不作为字符串标记,而是作为字符串内容的一部分,需要经过特殊处理,否则会报语法错误,例如:'I'm a great coder!' ,字符串中间出现了单引号,在通过字符串标记截取字符串时,会把'I'作为一个字符串,解决方法如下:

①通过反斜杠\处理

在引号前面添加反斜杠\就可以对引号进行转义,让 Python 把它作为普通文本对待。例如:'I\'m a great coder!' ,会把两端单引号作为字符串的标记符号,而把中间的所有内容当作字符串处理,该字符串的值为:I'm a great coder!。

②使用不同的引号包围字符串

例如:"I'm a great coder!" ,会把相同类型的引号进行匹配,会把匹配成功的两个引号中间的内容当作字符换的值,因单引号、双引号、三引号均可用作字符串标记,因此可用与内容中引号不同的标记符号来标记该字符串。

5、字符串结尾出现转义符号(\)的问题

因为转义符号的特殊性,我们需要对字符串中的每个\都进行转义,这种写法需要特别谨慎,稍有疏忽就会出错。针对这种包含转义字符的字符串(例如:文件地址、url),即便使用原始字符串,当字符串中有\对引号进行转义时,既会对引号进行转义,也会将\保留在字符串的值中。因此,原始字符串的结尾不能是\,否则会对字符串结尾的引号进行转义,导致字符串不能正确结束,针对上述问题,解决方法有两种:

①一种是采用长字符串的写法(即三引号,该写法适用于字符串中间需要保留单引号或者双引号的情况)。例如: str1= """D:\Program Files\Python 3.8\ """


②另一种是把转义字符单独摘出来,通过字符串连写的方式。例如: str1 = r'D:\Program Files\Python 3.8' '\\'


君子坦荡荡,小人长戚戚

相关文章

初学者都在坑里!不要在Python中使用“+”来连接字符串

全文共1611字,预计学习时长6分钟很多初学者都像我一样,最开始使用Python时,会不自觉地使用“+”来连接字符串,就像在许多其他编程语言(比如Java)中那样,因为这样既直观又容易。但我很快意识到...

Python拼接字符串的5种方法

#挑战30天在头条写日记#当涉及到在Python中拼接字符串时,有多种方法可供选择。正确选择字符串拼接方法可以使你的代码更清晰、更高效。在本博客中,我们将总结一些常见的Python字符串拼接方法,并提...

Python高手都在用的字符串拼接神器!.join()方法你真的会用吗?

还在用+号手动拼接字符串?小心内存爆炸和效率“翻车”!Python中有一个隐藏的字符串处理神器——.join(),它能让你的代码简洁高效,轻松应对海量数据拼接!今天,3分钟带你解锁它的高阶玩法,告别低...

Python合集之Python字符串常用操作(一)

在上一节的合集中,我们了解了Python集合增删改及集合间运算的相关知识,本节我们将进一步了解一下Python字符串的常用操作的相关知识。1.拼接字符串使用 + 运算符可完成对多个字符串的拼接,+ 运...

Python字符串处理终极指南:从基础到高效实践

一、基础操作强化1. 智能拼接方案对比# 性能基准测试(百万次操作) "+" 运算符:0.82s join() 方法:0.12s f-string:0.15s # 多类型拼接 print(f"用户{...

Python:字符串操作常用方法

字符串的方法很多,下面介绍几个常用的字符串函数。1.find()函数 :str.find(substr,begin=0,end=len(str))在字符串中查找子串,若找到返回子串的第一个字符的索引,...