Python字符串的基本操作

本文详细介绍了Python中字符串的创建、修改(实际上为创建新对象)和删除,强调了字符串的不可变性。通过实例展示了如何使用单引号、双引号及三引号创建字符串,并探讨了转义字符的使用,例如` `用于换行。此外,还讲解了字符串切片操作,如获取特定位置的字符、子串以及步长选择。
摘要由CSDN通过智能技术生成

在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

好了,这篇文章就到这里结束了,希望可以给小伙伴们一些帮助,喜欢的小伙伴们也可以点点赞支持一下!
在这里插入图片描述

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

8X_I

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值