Skip to content

内置类型

约 364 个字 44 行代码 预计阅读时间 2 分钟

首先非常重要的一点,Python里面一切皆对象,包括内置的基础类型,比如float,如果按照C/C++的习惯,这就是一个基础类型,不算对象,但是在Python中它就是对象,而且是用C实现的,其实现为:

  • ob_refcnt:对象的引用计数
  • ob_type:指向对象的指针
  • ob_fval:一个C语言的double类型,存放float的值

字符串

基本用法

  • 单引号 ' 和双引号 " 没有区别
  • 三引号 ''' """ 表示多行字符串
  • 在行尾使用 \ 可实现跨行
  • 前缀 r 表示“原始字符串”(不转义)

常用方法

s.lower()            # 转小写
s.upper()            # 转大写
s.strip()            # 去除首尾空白字符
s.find(sub, start, end)  # 查找子串位置,不存在返回 -1
s.replace(old, new)  # 替换字符串
s.join(iterable)     # 将可迭代对象用字符串连接
s.split(sep)         # 拆分字符串,默认按空格
s.count(sub, start, end)  # 统计子串出现次数

列表

常用方法

lst.append(x)       # 追加元素
lst.clear()         # 清空列表
lst.copy()          # 浅拷贝
lst.count(x)        # 统计出现次数
lst.extend(iterable) # 扩展列表
lst.index(x)        # 查找索引
lst.insert(i, x)    # 插入元素
lst.pop([i])        # 弹出元素,默认末尾
lst.remove(x)       # 删除某值
lst.reverse()       # 原地翻转
lst.sort()          # 原地排序

注意事项

  • del 是语句,不是方法,可用于删除任意变量或列表片段
  • 切片会返回一个新的对象(浅拷贝),修改切片不会影响原列表。

元组(tuple

常用方法

t.count(x)          # 统计元素出现次数
t.index(x)          # 返回第一次出现位置
  • 不可变,适合作为字典键或集合元素
  • 可通过 tuple() 转换其他可迭代对象

字典

基本特性

  • 键必须是可哈希(__hash__)类型(不可变)
  • 值可以是任意类型
  • 访问不存在的键会抛出 KeyError
  • 使用 dict() 时键不能加引号:dict(name="Tom"),实际上是关键字参数

访问与操作

d[key]              # 访问键值
d.get(key, default) # 安全访问,键不存在时返回默认值
d.setdefault(k, v)  # 不存在则设置默认值
d.update(other)     # 合并字典(原地修改),返回值为 None
{**d1, **d2}        # 合并字典(返回新对象)
del d[key]          # 删除键

常用方法

d.keys()            # 所有键
d.values()          # 所有值
d.items()           # 所有键值对
d.clear()           # 清空字典
d.pop(key)          # 删除键并返回值

集合

基本特性

  • 元素必须是可哈希类型(不可变)
  • 无序、无重复
  • 创建必须是set(){}是空字典

常用方法

s.add(x)            # 添加元素
s.remove(x)         # 删除元素,不存在时报错
x in s              # 判断元素是否存在
s.clear()           # 清空集合
s1.issubset(s2)     # 子集判断
s1.issuperset(s2)   # 超集判断
s1 <= s2, s1 < s2   # 子集(包含/严格)
s1 >= s2, s1 > s2   # 超集(包含/严格)
s1 | s2     # 并集
s1 & s2     # 交集
s1 - s2     # 差集
s1 ^ s2     # 对称差集(异或)