python基础:文本(字符串)

一 前言

环境:python3.10
win10

在python中,我们要表示的每个数据都是归属于某个类型,这个类型要么是python已经帮我我们写好的即内置的数据类型,如int、float、List、Dict等,要么来自于第三方库,要么我们自己定义一个类型

在python中文本是属于str类型

二 用str类型来表示文本

字符串相关的编辑规则

文本属于str类型即字符串,字符串内容是被一对单引号或者双引号包裹的,所以如"1"、 "#"、'阿斯弗'等可以表示文本,
''也是表示一个格式正确的文本,只不过它没有内容,内容为空
" " 这个文本的内容不是空,内容是多个空格,只不过人的而眼睛很难看出来而已

文本内容即字符串一定要是在成对的单引号或者成对的双引号里面


因为文本内容是用一对引号包裹的,所以引号在python属于一种特殊符号
如果文本内容包含引号,我们要对表示内容的引号进行转义,即在它前面加一个转移符 \,或者把它包含在不同类型的引号里面
image
或者
image

注意,转义符号\也是python中的特殊字符,用来把一些特殊字符转变为普通字符。

如果文本内容本身就包含转义符 引号等特殊字符,还可用原始字符串的方法把他们变为普通字符串
在引号前面加r表示一个原始字符串
image

注意,以奇数个反斜杠结尾的原始字符串将会转义用于标记字符串的引号,如下
image
解决办法是,使用双反斜杠或者拼接处于末尾的字符
image


如果在编辑python代码要换行书写文本,可以使用一对三重引,python会在编辑代码处换行显示内容,
但同时又希望python把它作为一行来输出,则换行的地方加一个转义符
image

从上面一些例子可以看到,在代码中编辑的文本和执行代码后显示出来的文本字符串是有差别,编辑的文本可能包含一些特殊字符,而最终显示出来的文本都是普通字符

通过使用repr()函数,可以把文本字符串变为合法的python表达式,也就是真正的用python代码表示的文本字符串,通过它可以看我们编辑的文本到底有哪一些字符如

image

字符串相关使用

用+ 可以拼接多个字符串为一个新字符串,用+可重复一个字符串为新字符串
image

()内向邻的字符串可以拼接成一个字符串,但这个不能用于表示字符串的变量或者表达式
image


字符串也是支持长度和切片访问的
image

字符串虽然能像列表一样切片访问,但字符串是不可变对象,一个文本即字符串的内容是比可以修改的,所以不能像列表一样根据字符串的索引来赋值
image

要根据原字符串得到一个不同的字符串,只能根据原字符串内容生成一个新的字符串,不能直接修改原字符串
image


字符串的格式化
f-string方式
image

format()函数的方式
image

如上,字符串格式化就是将python对象或者变量所指代的python对象放在一个字符串中,且可以设置其最终在字符串中显示的格式(如浮点数的宽度、显示对齐等)。
在format中可以使用索引或者参数字段名

image
如上,exec()是一个内置函数,它可以将字符串中的内容当作python代码去执行,现在我们把根据字典key来更新其value的python代码写在字符串中

但结果却是字典值并未更新,值被关联到s3这个变量,s3被当作一个变量名而不是它所指代的那个字符串,这时候就要用字符串格式化的手段,将字符串中的变量名变为它所实际指代的对象
image

posted @   工作手记  阅读(277)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示