导图社区 Python数据类型 - 字符串
Python数据类型,从整体来看,以数字、文本为基础,用列表、字典、元组、集合作为容器;以性质划分,又分为可变与不可变数据。 本篇思维导图为大家讲解的即是Python中作为基础数据的文本(即字符串),以“时间顺序”将内容拆解为"创建、引用、操作、输出"四个部分。 1、字符串由引号直接创建,一些特殊的内容需要用到转义字符;当然,还需特别注意引号前的字母,对字符内容存在一定的影响; 2、字符串的引用,同列表一样,即索引与切片;但其属于不可变数据类型,不支持就地更改; 3、字符串的操作按照操作方式,分为“运算、函数、方法”三种方式,其字符串的方法非常丰富,特别将方法进行详细的梳理归纳,以便我们能更好的使用。 4、字符串输出部分,重点讲格式化输出,并对字符呈现起着关键作用的spec字段详细讲解,以便我们的文字内容能够更好的呈现。 本篇导图逻辑清晰、内容完整,希望能对想要深入学习Python的您带来帮助!
编辑于2024-02-15 17:09:27当运行程序时,数据会以变量、序列或者对象的形式,在程序中临时存储。但当程序运行结束之后,数据也随之消失。如果我们想长期保存数据,那么就需要将数据存储到磁盘文件中,这就需要通过Python读写文件,即I/O操作。I/O操作有三步:1、打开文件;2、文件读写;3、关闭文件(或者编写成with语句)。 本篇思维导图,即是围绕而操作的核心——文件对象(file_obj)来展开讲解,分为2个部分:一、file_obj的创建(open函数);二、file_obj的方法调用(读取文件、写入文件、文件指针以及最后的关闭文件)。 希望通过本篇思维导图,能帮助你对使用Python进行文件读写有更深的理解与认识!
Python数据类型,从整体来看,以数字、文本为基础,用列表、字典、元组、集合作为容器;以性质划分,又分为可变与不可变数据。 本篇思维导图为大家讲解的即是Python中作为基础数据的数字(包含整型、浮点型、复数)。 数字本身的内容不多,重点在其有多样的表现形式。然后,对数字的相关处理方式(运算 函数)。 值得注意的是,整型就是整数,但是,浮点型不等于小数,也表达不了分数。所有针对于小数及分数的运算,补充了Decimal类、Praction类的讲解部分。 最后,对于数字运算有重要关系的math模块,将相关的函数及特殊值进行汇总,希望对大家在用到数学运算的时侯带来帮助。 本篇导图逻辑清晰、内容完整,希望能对想要深入学习Python的您带来帮助!
Python数据类型,从整体来看,以数字、文本为基础,用列表、字典、元组、集合作为容器;以性质划分,又分为可变与不可变数据。 本篇思维导图为大家讲解的即是Python中作为基础数据的文本(即字符串),以“时间顺序”将内容拆解为"创建、引用、操作、输出"四个部分。 1、字符串由引号直接创建,一些特殊的内容需要用到转义字符;当然,还需特别注意引号前的字母,对字符内容存在一定的影响; 2、字符串的引用,同列表一样,即索引与切片;但其属于不可变数据类型,不支持就地更改; 3、字符串的操作按照操作方式,分为“运算、函数、方法”三种方式,其字符串的方法非常丰富,特别将方法进行详细的梳理归纳,以便我们能更好的使用。 4、字符串输出部分,重点讲格式化输出,并对字符呈现起着关键作用的spec字段详细讲解,以便我们的文字内容能够更好的呈现。 本篇导图逻辑清晰、内容完整,希望能对想要深入学习Python的您带来帮助!
社区模板帮助中心,点此进入>>
当运行程序时,数据会以变量、序列或者对象的形式,在程序中临时存储。但当程序运行结束之后,数据也随之消失。如果我们想长期保存数据,那么就需要将数据存储到磁盘文件中,这就需要通过Python读写文件,即I/O操作。I/O操作有三步:1、打开文件;2、文件读写;3、关闭文件(或者编写成with语句)。 本篇思维导图,即是围绕而操作的核心——文件对象(file_obj)来展开讲解,分为2个部分:一、file_obj的创建(open函数);二、file_obj的方法调用(读取文件、写入文件、文件指针以及最后的关闭文件)。 希望通过本篇思维导图,能帮助你对使用Python进行文件读写有更深的理解与认识!
Python数据类型,从整体来看,以数字、文本为基础,用列表、字典、元组、集合作为容器;以性质划分,又分为可变与不可变数据。 本篇思维导图为大家讲解的即是Python中作为基础数据的数字(包含整型、浮点型、复数)。 数字本身的内容不多,重点在其有多样的表现形式。然后,对数字的相关处理方式(运算 函数)。 值得注意的是,整型就是整数,但是,浮点型不等于小数,也表达不了分数。所有针对于小数及分数的运算,补充了Decimal类、Praction类的讲解部分。 最后,对于数字运算有重要关系的math模块,将相关的函数及特殊值进行汇总,希望对大家在用到数学运算的时侯带来帮助。 本篇导图逻辑清晰、内容完整,希望能对想要深入学习Python的您带来帮助!
Python数据类型,从整体来看,以数字、文本为基础,用列表、字典、元组、集合作为容器;以性质划分,又分为可变与不可变数据。 本篇思维导图为大家讲解的即是Python中作为基础数据的文本(即字符串),以“时间顺序”将内容拆解为"创建、引用、操作、输出"四个部分。 1、字符串由引号直接创建,一些特殊的内容需要用到转义字符;当然,还需特别注意引号前的字母,对字符内容存在一定的影响; 2、字符串的引用,同列表一样,即索引与切片;但其属于不可变数据类型,不支持就地更改; 3、字符串的操作按照操作方式,分为“运算、函数、方法”三种方式,其字符串的方法非常丰富,特别将方法进行详细的梳理归纳,以便我们能更好的使用。 4、字符串输出部分,重点讲格式化输出,并对字符呈现起着关键作用的spec字段详细讲解,以便我们的文字内容能够更好的呈现。 本篇导图逻辑清晰、内容完整,希望能对想要深入学习Python的您带来帮助!
Python - 基础系列
fomat格式化字符串 spec字段详解
字符串方法详解
字符串方法详解(二)
制图人:咖啡喵 制图时间:2024/2/3 制图软件:mindmaster
字符修改
4
大小写转换
str.upper()
str.lower()
str.swapcase()
str.capitalize()
str.title()
整个字符
全转换为大写字母
全转换为小写字母
大小写字母互换
首字母大写,其余小写
单词首字母大写其余小写
字符替换
str.replace(old, new[, count])
参数
old
将被替换的子字符串
new
新字符串,用于替换old子字符串
count
替换次数,默认-1(全部替换)
str.expandtabs(tabsize)
参数
tabsize
空格的字符数,默认8
字符移除
str.strip(extra_chars)
str.lstrip(extra_chars)
str.rstrip(extra_chars)
字符两端
移除两端多余字符
移除头部多余字符
移除尾部多余字符
参数
extra_chars
指定的字符或字符序列
默认空白字符, (空格)\n\t
编码转换
str.encode([encoding][, errors])
Unicode编码
其他编码
bytes.decode([encoding][, errors])
其他编码
Unicode编码
字符串是不可变数据,不支持就地更改,会生成新的字符串
5
字符调整
填 充
+
对 齐
str.ljust(width [, fillchar])
str.rjust(width [, fillchar])
str.center(width [, fillchar])
填充字符 再将字符
左对齐
右对齐
居中对齐
digit_str.zfill(width)
0填充,右对齐
数字字符,+-符号会置前
参数
width
字符串填充后的总长度
fillchar
指定填充的字符,默认为空格
如果width小于字符串的长度,则返回原字符串
合并拆分
6
分割字符
字符串
分隔符
序列
1)通过分隔符分割字符(1次或多次)
list = str.split(sep, maxsplit)
参数
sep
分隔符
默认空白字符, (空格)\n\t等
maxsplit
最大分割次数
默认-1,无次数限制
2)通过换行符(\r、\r\n、\n)分割字符
list = str.splitlines([keepends])
参数
keepends
默认False;True则保留换行符
3)通过分隔符分割字符(仅1次)
1||| 从左侧分割
tuple = str.partition(sep)
2||| 从右侧分割
tuple = str.rpartition(sep)
合并字符
序列
连接符
字符串
str = delim_string.join(sequence)
通过指定字符连接序列中元素后,生成的新字符串
参数
sequence
要连接的元素序列,list/tuple
The end!
字符串方法详解(一)
制图人:咖啡喵 制图时间:2024/2/3 制图软件:mindmaster
1
字符检验
True/False
逐个字符检验
数字字母
str.isalnum()
所有字符均为数字或字母
str.isalpha()
str.isupper()
str.islower()
字母
所有字符均为字母
必须是大写字母
必须是小写字母
str.isdecimal()
str.isdigit()
str.isnumeric()
数字
整型数字
+
数字序号
+
中文、罗马数字
打印字符
数字、字母、特殊符号等
str.isprintable()
空白字符
空格、换行符、制表符等
str.isspace()
检验整个字符
标题格式
字符串中的单词,首字母均大写
str.istitle()
变量名格式
由数字、字母、下画线构成,数字不能打头
str.isidentifier()
字符首尾验证
字符串开始位置是否为指定字符串
str.startswith(prefix[, beg[, end]])
字符串结束位置是否为指定字符串
str.endswith(suffix[, beg[, end]])
参数
prefix
前缀,str、tuple
suffix
后缀,str、tuple
tuple,含多个str
beg
end
str[beg: end]
字符查找
2
字符查找
返回首个匹配的字符串对应的(首位字符)索引
str.index(substr [, beg, end])
定位索引
未找到则报错
str.find(substr [, beg, end])
定位索引
未找到返回-1
str.rfind(substr [, beg, end])
逆向定位
未找到返回-1
参数
substr
指定查找字符串
beg
end
str[beg: end]
虽然指定了查找范围,但是返回的索引是相对于整个字符串
3
字符统计
字符统计
统计指定字符串在字符中的出现次数
count_value = str.count(substr [, beg, end])
To be continued!
四、字符串输出
制图人:咖啡喵 制图时间:2024/2/3 制图软件:mindmaster
format函数
format方法
f-string
spec字段
[[fill]align][sign][#][0][width][,][.prec][type]
spec字段详解
[[fill] align] [sign] [#] [0] [width] [,] [.prec] [type]
fill
填充字符
align
< (左对齐)
> (右对齐)
^ (居中)
=
右对齐,当数字填充,+-符号前置
sign
符号
+
数字前正/负号均会显示
-
数字前仅显示负号
(空格)
负数前显示负号
正数前显示空格
0
前导"0"字符
0填充,右对齐,符号置前
width
插入字符长度
,
千位分隔符,也可以用_(下画线)
.prec
精度符号
根据type
float
精度,四舍五入
str
截断字符串
type
c
ASCII/Unicode编码显示
e | E
科学计数
f | F
浮点数
g | G
100000
e+06
二者切换
n | d
b
o
x | X
按进制显示
十进制
二进制
八进制
十六进制
#
显示前缀
%
百分比显示
日期时间格式
%Y
%m
%d
%H
%M
%S
年
月
日
时
分
秒
%a
%b
%w
%c
星期简称
月份简称
星期0-6
日期时间
The end!
四、字符串输出
%格式化
format函数
format方法
f-string
制图人:咖啡喵 制图时间:2024/2/3 制图软件:mindmaster
一
% 格式化字符
% 格式化
语法结构:format_str % value
format_str
'%(var)[-][width][.precision]c'
-
对齐方式,- 表示左对齐
width
插入字符宽度
.precision
精度,根据%c的类型意义不同
%c
str
截断字符串
int
补0,右对齐
float
四舍五入
%c - 格式说明符
数字
整数
十进制
%d | %i
八进制
%o
十六进制
%x | %X
无符号整数
%u
浮点数
%f | %F
科学计数
%e | %E
%g | %G
字符串
%s | %r
百分号
%%
value
根据format_str中插入值的个数,确定形式
format_str
插入1个%c
单值
插入多个%c
元组
按位置对应
字典
按名称对应
(var)
名称
二
format 函数/方法/f-string
format函数
语法结构:format(data, spec)
对传入数据(字符串),通过spec字段进行格式化处理
f-string
语法结构:f'{data: spec}'
对字符串中插入数据,通过spec字段进行格式化处理
format方法
语法结构:format_str.format(args)
format_str
'{[position][!r|s|a][:spec]}…'
默认format_str中的{}与args一一对应,也可用position字段引用参数
position
pos_index
数字索引
0 - N-1
pos_name
参数名称
arg1=name1, …
**args
!r|s|a
!r
调用repr函数,将对象转换为源代码规范形式呈现
spec字段
[[fill] align] [sign] [#] [0] [width] [,] [.prec] [type]
填充对齐
fill
填充符
align
对齐方式
0
0填充,右对齐
width
字符宽度
数字前缀
sign
符号
#
进制前缀
千位分隔符
,
_
输出精度
.prec
字符串截取
小数保留位数
输出类型
type
整数、小数、百分比、日期时间等
To be continued!
三、字符串操作
制图人:咖啡喵 制图时间:2024/2/3 制图软件:mindmaster
运算符
字符串运算
字符赋值
=
var1, var2 = 'ba'
var1='b'; var2='a'
var1, *var2 = 'cba'
var1='c'; var2=['b', 'a']
字符拼接
+
new_str = str1 + str2
*
new_str= str * N
字符比较
== 、!=
比较2个字符串是否相同
>=><=<
将2个字符串逐字符比较
字符编码顺序
字符顺序
数字<大写字母<小写字母
单字符
'0'<'9'<'A'<'Z'<'a'<'z'
ASCII编码
48<57<65<90<97<122
包含关系
in
substr in str
not in
substr not in str
True / False
内存对象
is
str is obj
is not
str is not obj
True / False
用于与内存中唯一的对象比较,比如None、True/False
字符串缓存机制,当引用字符串只包含“下画线、数字、字母”时,可以指向同一个内存地址。
使用函数
参 数
字符统计
字符长度
len(obj)
最大字符
max(iterable[, key=func])
最小字符
min(iterable[, key=func])
单字符 unicode编码
ord(c)
单字符
Unicode编码
ord('a')
97
chr(i)
Unicode编码
单字符
chr(97)
'a'
排 序
sorted_list = sorted(iterable[, key, reverse])
reversed_iterator = reversed(sequence)
对 象
调用方法
字符检验
逐个字符
验证
数字
字母
空白字符
可打印字符
整个字符
验证
标题格式
变量名格式
字符首尾
验证
起始位置
结束位置
字符查找
索引
子字符串
查找在字符串中的索引
字符统计
计数
子字符串
统计在字符串出现次数
字符修改
大小写
整个字符
修改大小写
替换
子字符串
用新字符替换
移除
首尾两端
移除多余字符
编码转换
整个字符
编码与解码
字符调整
填充
对齐
左对齐
右对齐
居中
0填充
合并拆分
分割字符
字符串
分隔符
序列
合并字符
序列
连接符
字符串
To be continued!
Python数据类型 —— 字符串
Python 基础系列
制图人:咖啡喵 制图时间:2024/2/3 制图软件:mindmaster
数据类型
基 础
文本
数字
容 器
列表
字典
元祖
集合
文本
数字
元组
不可变
可 变
列表
字典
集合
字符串
一
字符串创建
二
字符串引用
三
字符串处理
四
字符串输出
一、字符串创建
字符串,是计算机中所能表示的一切字符的集合;往小了看,就是连续的字符序列,属于不可变数据类型。
1
''(单引号)
""(双引号)
''''''(三引号)
''
""
字符序列必须在一行上
''''''
字符序列可以分布在连续的多行上
2
转义字符
\(反斜杠)
字符
文字字符
字母/数字
\
赋予特殊含义
特殊字符
标点符号
\
失去特殊含义
续行符
\
换行符
\n
退格
\b
横向制表符
\t
纵向制表符
\v
回车
\r
换页
\f
\
\"
双引号
\'
单引号
\\
反斜杠
\0
空
\0dd
八进制
\xhh
十六进制
3
原始字符串
字符串前加“r”
'a\n\t\0\\b'
a \b
r'a\n\t\0\\b'
a\n\t\0\\b
字母r让转义字符无效化
4
unicode编码
字符串前加“u”
前缀u,表示该字符串是unicode编码,避免因编码问题,导致中文出现乱码。
5
bytes类型
字符串前加“b”
前缀b,表示该字符串是bytes类型。常用在如网络编程中,服务器和浏览器只认bytes类型数据。
二、字符串引用
索引
单字符
value = string[index]
index
非负数
0 ~ N-1
负 数
-N ~ -1
N
字符串长度
切片
子字符串
substr = string[beg : end : step]
口诀:含左不含右,空白取到头
step < 0
string[end : beg : step]
反转访问字符串序列的方向
To be continued!
Python 数据类型
字符串方法详解(二)
制图人:咖啡喵 制图时间:2024/2/3 制图软件:mindmaster
字符修改
4
大小写转换
str.upper()
str.lower()
str.swapcase()
str.capitalize()
str.title()
整个字符
全转换为大写字母
全转换为小写字母
大小写字母互换
首字母大写,其余小写
单词首字母大写其余小写
字符替换
str.replace(old, new[, count])
参数
old
将被替换的子字符串
new
新字符串,用于替换old子字符串
count
替换次数,默认-1(全部替换)
str.expandtabs(tabsize)
参数
tabsize
空格的字符数,默认8
字符移除
str.strip(extra_chars)
str.lstrip(extra_chars)
str.rstrip(extra_chars)
字符两端
移除两端多余字符
移除头部多余字符
移除尾部多余字符
参数
extra_chars
指定的字符或字符序列
默认空白字符, (空格)\n\t
编码转换
str.encode([encoding][, errors])
Unicode编码
其他编码
bytes.decode([encoding][, errors])
其他编码
Unicode编码
字符串是不可变数据,不支持就地更改,会生成新的字符串
5
字符调整
填 充
+
对 齐
str.ljust(width [, fillchar])
str.rjust(width [, fillchar])
str.center(width [, fillchar])
填充字符 再将字符
左对齐
右对齐
居中对齐
digit_str.zfill(width)
0填充,右对齐
数字字符,+-符号会置前
参数
width
字符串填充后的总长度
fillchar
指定填充的字符,默认为空格
如果width小于字符串的长度,则返回原字符串
合并拆分
6
分割字符
字符串
分隔符
序列
1)通过分隔符分割字符(1次或多次)
list = str.split(sep, maxsplit)
参数
sep
分隔符
默认空白字符, (空格)\n\t等
maxsplit
最大分割次数
默认-1,无次数限制
2)通过换行符(\r、\r\n、\n)分割字符
list = str.splitlines([keepends])
参数
keepends
默认False;True则保留换行符
3)通过分隔符分割字符(仅1次)
1||| 从左侧分割
tuple = str.partition(sep)
2||| 从右侧分割
tuple = str.rpartition(sep)
合并字符
序列
连接符
字符串
str = delim_string.join(sequence)
通过指定字符连接序列中元素后,生成的新字符串
参数
sequence
要连接的元素序列,list/tuple
The end!
字符串方法详解(一)
制图人:咖啡喵 制图时间:2024/2/3 制图软件:mindmaster
1
字符检验
True/False
逐个字符检验
数字字母
str.isalnum()
所有字符均为数字或字母
str.isalpha()
str.isupper()
str.islower()
字母
所有字符均为字母
必须是大写字母
必须是小写字母
str.isdecimal()
str.isdigit()
str.isnumeric()
数字
整型数字
+
数字序号
+
中文、罗马数字
打印字符
数字、字母、特殊符号等
str.isprintable()
空白字符
空格、换行符、制表符等
str.isspace()
检验整个字符
标题格式
字符串中的单词,首字母均大写
str.istitle()
变量名格式
由数字、字母、下画线构成,数字不能打头
str.isidentifier()
字符首尾验证
字符串开始位置是否为指定字符串
str.startswith(prefix[, beg[, end]])
字符串结束位置是否为指定字符串
str.endswith(suffix[, beg[, end]])
参数
prefix
前缀,str、tuple
suffix
后缀,str、tuple
tuple,含多个str
beg
end
str[beg: end]
字符查找
2
字符查找
返回首个匹配的字符串对应的(首位字符)索引
str.index(substr [, beg, end])
定位索引
未找到则报错
str.find(substr [, beg, end])
定位索引
未找到返回-1
str.rfind(substr [, beg, end])
逆向定位
未找到返回-1
参数
substr
指定查找字符串
beg
end
str[beg: end]
虽然指定了查找范围,但是返回的索引是相对于整个字符串
3
字符统计
字符统计
统计指定字符串在字符中的出现次数
count_value = str.count(substr [, beg, end])
To be continued!