Python 常见内置数据类型
在Python中,常用的类型是这些:
Python 中查看数据类型的函数(function)为type()
。
>>>text = "Is test a string type object?"
>>>print(type(text))
<class 'str'>
Python 中常看内置方法(build-in method)的函数为dir()
。
>>>dir(text)[0:5] # 笔者为了节约空间,只打印了前5个方法
['__add__', '__class__', '__contains__', '__delattr__', '__dir__']
>>># dir() 还可以查看很多东西,如模组的方法
>>>import time
>>>dir(time)[0:10]
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'ctime', 'daylight']
Python 中与类型相关的常见概念
-
一个对象是否可变(mutable)
一些对象的值在对象被创建后是不能再更改的,这类对象被称为不可变对象(immutable objects);
一些对象的值在被创建后任可被修改,这类对象被称为可变对象(mutable obejcts)。
-
一个对象是否可迭代(iterable)
如果一个对象能够逐一返回其成员项,那么这个对象就是可迭代的(iterable),也叫做可遍历(traversal)的。
python 中,一个可迭代对象需要满足下述条件:
- 有
__iter__()
或__getitem__
方法,该对象可逐一返回其成员项。
- 有
-
一个对象是否可哈希(hashable)
一个对象的哈希值(hash value)如果在其生命周期内绝不改变,并可以同其他对象进行比较,就被称为可哈希(hashable)。
python 中,一个可哈希对象需要满足下述三个条件:
-
有
__hash__()
方法,该对象可计算哈希值。 -
有
__eq__()
方法,该对象可以通其他对象进行比较。 -
该对象为 不可变对象,该对象的哈希值在其生命周期内绝不改变。
-
Note: 对象的方法可通过 dir()
查看
ref:
Python 文档:内置类型(Build-in Types)
Python 文档:数据模型 - 对象、值与类型
Python 文档:术语对照表 - 可哈希