跳转至

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: 步长,如果是负数就反向取

6. 集合

7. 字典