Python 编程:对象协议与管理深入解析
1. 映射(Mappings)
在 Python 中,序列是对象的连续集合,而映射的工作方式有所不同。映射中的每个项实际上是一个由键和值组成的对。键不需要有序,其主要目的是通过给定的键立即访问关联的值。
- 键的使用与特性 :
- 访问映射中的值使用的语法与使用序列中的索引相同,都使用
obj[key]
语法,这得益于__getitem__()
、__setitem__()
和__delitem__()
方法的复用。 - 键支持更广泛的对象类型,除了普通整数,还可以是任何可哈希的 Python 对象,如日期、时间或字符串,其中字符串最为常见。不过,是否对键设置限制取决于应用程序的需求。
- Python 支持灵活的切片语法,但字典不允许切片对象作为键,因为切片对象不可哈希。而列表默认会通过
__index__()
方法将对象转换为整数来处理切片。
- 访问映射中的值使用的语法与使用序列中的索引相同,都使用
- 映射的方法 :
- keys() :遍历映射中的所有键,默认情况下键的返回顺序是任意的,但某些特殊类可以提供明确的顺序。迭代映射对象本身也能实现相同的行为,因此需要提供
__iter__()
方法。 - value
- keys() :遍历映射中的所有键,默认情况下键的返回顺序是任意的,但某些特殊类可以提供明确的顺序。迭代映射对象本身也能实现相同的行为,因此需要提供