Python中有6种标准的数据类型:数字(Number)、字符串(String)、列表(List)、元组(Tuple)、集合(Set)、字典(Dictionary)。
上述6种数据类型可分为两类:
不可变数据类型:数字、字符串、元组。
可变数据类型:列表、集合、字典。
同时,元组、列表、集合、字典也是容器类型,即可以存储不同类型的数据。元组、列表、字符串也是Python的序列类型,即数据是有序的,可通过下标索引访问特定元素。
1. 数字
Python的数字类型中包括:整型(int)、浮点型(float)、布尔型(bool)、复数(complex)。其中,布尔型:表示真(True)、假(False)。0和空都表示False,如' '、[ ]、{ }、None。非空表示True。
数值运算:加、减、乘、除、整除、求余(+、-、 *、 /、 //、 %)
10、2、8、16进制表示与转换
二进制:用0b表示,如0b10表示10进制的2。
八进制:用0o表示,如0o10表示10进制的8。
十六进制:用0x表示,如0x10表示10进制的16。
bin( ):转换为二进制。
int( ):转换为十进制。
hex( ):转换为十六进制。
oct( ):转换为八进制。
内建函数(BIF)
函数 | 作用 |
---|---|
abs() | 取绝对值 |
ceil() / floor() | 向上 / 向下取整 |
round() | 四舍五入 |
min() / max() | 最小值/最大值 |
2. 字符串
2.1 定义
字符串是一个序列,可以使用单引号('')、双引号("")或三引号(''' ''',""" """)创建。此外,三引号可定义多行字符串。
字符串中可包含转义字符,如换行(
\n
)、单引号(\'
)。非转义的原始字符串:字符串前加
r
,例如:print(r'hello\nworld')
,换行符\n
也会被输出,而不会产生换行。unicode字符串:在字符串前加
u
,对字符串进行unicode编码。在Python3中,字符串默认是unicode编码,中文字符串前无需加u
,而对于Python2,默认编码是ascii,在中文前需要加u
。
2.2 常用操作
字符串拼接/合并
# +: 合并少数几个字符串
字符串复制
'python'
字符串索引/切片
# 通过下标索引,默认从0开始
字符串的替换
"""
功能:将字符串str中的子字符串old用新子字符串new替换。
语法:str.replace(old, new[, max])
参数:str为原始字符串,old为将被替换的子字符串,new为新字符串,max表示最多替换的次数,可选。
返回:返回替换后的新字符串。
"""
字符串的匹配查找
"""
功能:检测字符串中是否包含子字符串
语法:str.find(substr, beg=0, end=len(string))
参数:substr为待查找的字符串,beg为开始索引,默认为0,end为结束索引,默认为字符串的长度。
返回:如果包含则返回子字符串开始的索引值,否则返回-1。
"""
与find()类似,index()也可以检测字符串中是否包含子字符串。不同的是,当查询不到待匹配的字符串时,会抛出异常。
"""
功能:检测字符串中是否包含子字符串
语法:str.index(substr, beg=0, end=len(string))
参数:substr为待查找的字符串,beg为开始索引,默认为0,end为结束索引,默认为字符串的长度。
返回:如果包含子字符串返回开始的索引值,否则抛出异常。
"""
去除字符串两侧指定字符
"""
功能:用于移除字符串头尾指定的字符
语法:str.strip([char])
参数:chars为待移除的字符序列
返回:移除字符串头尾指定的字符生成的新字符串。
"""
与strip()类似的还有lstrip()、rstrip()两个函数,lstrip()用于去掉左侧的指定字符,rstrip()用于去掉右侧的指定字符。
字符串按指定字符分隔
"""
功能:通过指定分隔符对字符串进行切片。
语法:str.split(substr="", num=str.count(substr))
参数:substr为分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等,num为分隔次数,默认为-1,即分隔所有。
返回:返回分割后的字符串列表。
"""
计算字符串的长度
'Always on the road.'
统计指定字符串出现的次数
"""
功能:用于统计字符串里某个字符出现的次数。
语法:str.count(substr, start=0,end=len(str))
参数:substr为待匹配的子字符串,start和end分别为字符串开始、结束搜索的位置。
返回:返回子字符串在字符串中出现的次数。
"""
判断是否包含指定字符串
'Always on the road.'
字符串转换大小写
# 将每个单词首字母变为大写: title()
格式化字符串
"""
%-格式化
格式化符号:
%s:格式化字符串
%d:格式化整数
%f:格式化浮点数,可指定小数点后的精度
"""
"""
str.format()-格式化
"""
"""
f-string 格式化
是Python3.6新引入的一种字符串格式化方法
在形式上是以 f 或 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号 {} 标明被替换的字段。
在本质上并不是字符串常量,而是一个在运行时运算求值的表达式。
"""
最后,附上字符串相关知识的思维导图:
