在Python中,字符串使用成对的单引号、双引号、三个单引号、三个双引号,包含数字或字符。在C、C++等语言中,使用单引号来表示字符,而在Python中没有字符类型,单引号和双引号效果是相同的。
一、创建、修改和删除字符串
字符串是不可变类型,对字符串的修改会创建新的字符串对象,以下演示如何创建、修改和删除字符串。
a="Hello"
print("原始字符串对象a:",id(a))
a= a+"World"
print("修改后的对象a:",id(a))
try:
del a
print(id(a))
except Exception as e:
print("访问删除后的对象a,触发异常:",e)
a="Hello World"
print("这里相当于重新创建了对象a:",id(a))
a='''Hello World'''
print("三个单引号字符串:",a)
a="""Hello World"""
print("三个双引号字符串:",a)
在第1行使用双引号来创建字符串类型的对象a,在第2行则调用id函数输出对象a的唯一标识,而在第3行,由于字符串不可变的特性,给字符串对象a加上"World"后需要重新对其赋值,才能进行修改。在第6行,使用del关键字可以删除对象a,因此对象a不存在唯一标识。在13、15行分别使用三个单引号、三个双引号创建字符串,执行结果如下:
原始字符串对象a: 3023191848112
修改后的对象a: 3023192195760
访问删除后的对象a,触发异常: name 'a' is not defined
这里相当于重新创建了对象a: 3023191898608
三个单引号字符串: Hello World
三个双引号字符串: Hello World
二、转义字符
一个斜杠再加上一个字符,表示一个特殊字符,通常情况下是不可打印的字符。在非原始字符串中,这些字符一般是用来转义的,常用的转义字符如下:
符号 | 转换逻辑 |
---|---|
\a | 响铃字符 |
\b | 退格 |
\n | 换行 |
\t | 横向制表符 |
\v | 纵向制表符 |
\r | 回车 |
\ | 续行符 |
\ \ | 反斜杠符号 |
\ ’ | 单引号 |
\ ‘’ | 双引号 |
如下,演示了在字符串中使用转义字符
a="where it's working on 5G in ways you may not be expecting"
print("原始字符串:",a)
a='where it\'s working on 5G in ways you may not be expecting'
print("使用\转义:",a)
a='where it\'s working on 5G in ways,\n you may not be expecting'
print(r"包含换行符(\n)的字符串:",a)
a=r"where it's working on 5G in ways,\n you may not be expecting"
print("使用r表示原始字符串:",a)
在第1行,创建了一个普通的字符串对象,其中"it’s"中包含了一个单引号,所以我们使用双引号来让单引号变成整个字符串的一部分;而在第3行,我们则使用" \ “符号来转义,表明” \ “紧接着的符号是字符串的一部分;在第5行,创建的字符串中包含换行符” \n “,直接输出该字符串,就会换行输出。如果要将” \n “作为字符串的一部分输出,就需要在字符串的前面加上” r “字符,表示” \n “是原始字符串的一部分,其余的符号,如” \r “” \v “需要进行直接输出,都在字符串前面加” r "即可。
执行结果如下:
原始字符串: where it's working on 5G in ways you may not be expecting
使用\转义: where it's working on 5G in ways you may not be expecting
包含换行符(\n)的字符串: where it's working on 5G in ways,
you may not be expecting
使用r表示原始字符串: where it's working on 5G in ways,\n you may not be expecting
三、字符串切片
通过切片可以获取字符串的子串,具体用法如下:
a="hello world"
print("输出第1个字符:",a[0])
print("输出第2个字符:",a[1])
print("输出所有字符:",a[:])
print("输出第1个之后的所有字符:",a[1:])
print("输出第1~6个字符:",a[0:7])
print("输出第6个之前的字符:",a[:6])
print("输出1~9之间相距3个长度的字符:",a[0:9:3])
print("输出倒数第2个字符:",a[-2])
执行结果如下
输出第1个字符: h
输出第2个字符: e
输出所有字符: hello world
输出第1个之后的所有字符: ello world
输出第1~6个字符: hello w
输出第6个之前的字符: hello
输出1~9之间相距3个长度的字符: hlw
输出倒数第2个字符: l
好了,这篇文章就到这里结束了,希望可以给小伙伴们一些帮助,喜欢的小伙伴们也可以点点赞支持一下!