给妹子讲python-S01E05字符串的基本用法

简介: 本文讲述字符串的基本用法。

python中一项很重要的工作就是文本处理,与之紧密相关的数据类型是字符串,从这一集开始,我们由浅入深介绍一系列关于字符串的内容。

【妹子说】之前刚刚介绍了容器,字符串应该可以看做是字符的容器吧?

可以这么理解,字符串就是由单个字符组成的有序序列,且不可修改。

类比前面提到的列表,如正向索引、反向索引、分片索引等基于偏移量的基本操作,字符串都是支持的。

下面列举一些与列表类似的操作,需要强调一点的是字符串的分片操作,分片就是从一整个字符串中分离提取出一部分内容(即子字符串),从而获取所需的部分数据,并且python返回的是包含所获取元素的新对象。

分片操作在实际使用时用处很多,比如:我们可以在命令行字符串中去分离感兴趣的参数列表。

s = 'abcdefg'
print(s[0])
print(s[-2])
print(s[1:4])
print(s[1:4:2])
print(s[-1:1:-1])
print(len(s))

a
f
bcd
bd
gfedc
7

再来看看字符串的不可修改特性。

s = 'abcd'
s[0] = '4'

Traceback (most recent call last):
 File "E:/12homework/12homework.py", line 2, in <module>
   s[0] = '4'
TypeError: 'str' object does not support item assignment

再说说两个字符串之间的连接操作。即所谓的字符串相加,返回连接后生成的新字符串

s1 = 'abcd'
s2 = '1234'
s = s1 + s2
print(s)

abcd1234

【妹子说】那字符串的赋值,也是用=直接赋值吧

对,不过针对赋值,有深拷贝和浅拷贝两种意义截然不同的方式。

下面这种赋值方法实际上是对象的深拷贝,即赋值左右的两个对象具有相同值,但是是位于不同内存片区的对象

s = ['abcdefg']
a = s[:]
print(a)
print(s is a)

['abcdefg']
False

而如果是像下面这样直接赋值,则左右两个对象实际上被分配的是同一个内存空间,即所谓的浅拷贝

s1 = 'abcdefg'
s2 = s1
print(s1 == s2)

True

【妹子说】明白了,那字符串作为一种序列,也能进行遍历和成员关系测试吧。

当然,可以使用for语句在一个字符串中进行循环迭代,并使用in操作符对字符和子字符串进行成员关系的测试

s = 'hacker'
for c in s:
    print(c, end=' ')

h a c k e r 


print('k' in 'school')

False

以上都是字符串与容器相类似的一些操作,有之前几集学习的基础,接受起来还是挺容易的。

【妹子说】把字符串和容器序列进行类比,很多用法就不言自明了。这些共性的方法倒是好理解,也比较简单,那后面再介绍一些字符串的独门秘诀吧。

原文发布时间为:2018-07-27
本文作者:酱油哥
本文来自云栖社区合作伙伴“Python爱好者社区”,了解相关信息可以关注“Python爱好者社区

相关文章
|
1天前
|
数据采集 监控 数据安全/隐私保护
Python正则表达式:用"模式密码"解锁复杂字符串
正则表达式是处理字符串的强大工具,本文以Python的`re`模块为核心,详细解析其原理与应用。从基础语法如字符类、量词到进阶技巧如贪婪匹配与预定义字符集,结合日志分析、数据清洗及网络爬虫等实战场景,展示正则表达式的强大功能。同时探讨性能优化策略(如预编译)和常见错误解决方案,帮助开发者高效掌握这一“瑞士军刀”。最后提醒,合理使用正则表达式,避免过度复杂化,追求简洁优雅的代码风格。
18 0
|
28天前
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
|
2月前
|
索引 Python
python字符串类型及操作
本文主要讲解字符串类型的表示、操作符、处理函数、处理方法及格式化。内容涵盖字符串的定义、表示方法(单双引号、三引号)、索引与切片、特殊字符转义、常见操作符(如+、*、in等)、处理函数(如len()、str()、chr()等)、处理方法(如.lower()、.split()等)以及格式化方式(如.format())。通过实例代码详细介绍了字符串的各种用法和技巧,帮助读者全面掌握字符串操作。
python字符串类型及操作
|
30天前
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
本文来自YashanDB官网,介绍如何处理Oracle客户端sql*plus中使用@@调用同级目录SQL脚本的场景。崖山数据库23.2.x.100已支持@@用法,但旧版本可通过Python脚本批量重写SQL文件,将@@替换为绝对路径。文章通过Oracle示例展示了具体用法,并提供Python脚本实现自动化处理,最后调整批处理脚本以适配YashanDB运行环境。
|
5月前
|
Python
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
266 64
|
5月前
|
Python
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
195 62
|
3月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
48 0
|
4月前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
86 5
|
4月前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
121 7
|
5月前
|
Python
Python三引号用法与变量详解
本文详细介绍了Python中三引号(`&quot;&quot;&quot;` 或 `&#39;&#39;&#39;`)的用法,包括其基本功能、如何在多行字符串中使用变量(如f-string、str.format()和%操作符),以及实际应用示例,帮助读者更好地理解和运用这一强大工具。
402 2

热门文章

最新文章

下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等