Python的数据类型¶
1. 数据类型¶
- int 整型
- str 字符串类型
- float 浮点型
- bool 布尔类型
- list 列表
- dict 字典
- set 集合
- tuple 元组
2. 字面值¶
被写下来固定的值(str、int、float)
数据容器
一种可以容纳多份数据的数据类型,每一份数据称为1个元素
3. 列表¶
- 定义:
a = []
# or
b = list()
-
特性
- 可以容纳多个元素:2^63 -1
- 可以容纳不同类型的元素
- 数据是有序存储的(具有下标,从前往后从0开始,从后往前从-1开始)
- 允许重复元素存在
- 可以修改(增加、删除)
-
方法
- list.append(obj) 在列表末尾添加新的对象
- list.count(obj) 统计某个元素在列表中出现的次数
- list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
- list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
- list.insert(index, obj) 将对象插入列表
- list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
- list.remove(obj) 移除列表中某个值的第一个匹配项
- list.reverse() 反向列表中元素
- list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序
4. 元组¶
- 定义
元组一旦定义就无法被修改,是个只读列表,单元素必须加上,
,否则就是字符串
a = ()
# or
b = tuple()
- 特性
- 可以容纳多个元素:2^63 -1
- 可以容纳不同类型的元素
- 数据是有序存储的(具有下标,从前往后从0开始,从后往前从-1开始)
- 允许重复元素存在
- 不可以修改(增加、删除)
5. 字符串¶
字符的容器,可以存放任意数量的字符
- 定义
a = 'abc' # 单引号
b = "123" # 双引号
c = """45fdsa""" # 三引号
-
特性
- 可以容纳任意数量元素
- 可以容纳不同类型的元素
- 数据是有序存储的(具有下标,从前往后从0开始,从后往前从-1开始)
- 允许重复元素存在
- 不可以修改(增加、删除)
-
方法
- str.capitalize() 将字符串的第一个字符转换为大写
- str.center(width, fillchar) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格
- str.count(str, beg= 0,end=len(string))返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
- bytes.decode(encoding="utf-8", errors="strict") Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
- str.encode(encoding='UTF-8',errors='strict') 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
- str.endswith(suffix, beg=0, end=len(string)) 检查字符串是否以 suffix 结束,如果 beg 或者 end 指定则检查指定的范围内是否以 suffix 结束,如果是,返回 True,否则返回 False。
- str.expandtabs(tabsize=8) 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8
- str.find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
- str.index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常
- str.isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
- str.isalpha() 如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False
- str.isdigit() 如果字符串只包含数字则返回 True 否则返回 False
- str.islower() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
- str.isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False
- str.isspace() 如果字符串中只包含空白,则返回 True,否则返回 False
- str.istitle() 如果字符串是标题化的(见 title())则返回 True,否则返回 False
- str.isupper() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
- str.join(seq) 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
- len(string) 返回字符串长度
- str.ljust(width[, fillchar]) 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格
- str.lower() 转换字符串中所有大写字符为小写
- str.upper() 转换字符串中的小写字母为大写
- str.replace(old, new [, max]) 把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次
- str.split(str="", num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
- str.startswith(substr, beg=0,end=len(string)) 检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查
- str.lstrip() 截掉字符串左边的空格或指定字符
- str.rstrip() 删除字符串末尾的空格或指定字符
- str.strip([chars]) 在字符串上执行 lstrip()和 rstrip()
序列
内容有序、连续,可用下标索引的一类数据容器(以上三种数据类型)。
序列切片: 从一个序列中取出另一个序列,不会影响序列本身,而是得到另一个新的序列
Sequence[start_index:end_index:step]
start_index: 起始下标
end_index: 结束下标
step: 步长,如果是负数就反向取