Python 数据类型

本内容来自:https://gairuo.com

说明

《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。

本内容来自:https://gairuo.com

Python 提供的数据类型概念是为了更加高效地存放不同业务类型的数据,比如一个清单其实是一个列表,人的户口信息就是一个有多个属性和值的字典,时间由时间类型进行存放。当然,如果你觉得它内置的不能满足你的需求,可以自己定义你的数据类型。

在这里我们先需要了解它的基础数据类型,因为它们会大量使用在后期的编程中。

标准数据类型

常用的数据类型如下(这是一个最常使用的数据类型,整体体系见下文):

类型

描述

示例

字符串 str

文本字符,空格也是一个字符

'Hello World!', '123', ''

数字 number

数值, int(整数) 和 float(有小数位)

1313,-323,0, 3.14

布尔类型 boolean

逻辑真假,属于数字类型

True, False

列表 list

一个列表的每个元素被分配一个数字来表示它的位置或索引

[1, 2, 3, 4, 5 ], ['apple', 'orange', 'lemon', 'cherry']

元组 tupple

可以简单地理解为“只读列表”

(1, 2, 3), ('physics', 'math', 1997, 2000)

字典 dict

每个键与其值使用一个冒号(:)分开,键-值对是使用逗号分隔

{'Name': 'Maxsu', 'Age': 7, 'Class': 'First'}

集合 set

一组不重复key的集合,不存储value

set([1, 1, 2, 2, 3, 3]), {'5元', '10元', '20元'}

接下来的教程会详细介绍这些数据类型的使用场景和使用方法。

可变与不可变

标准的数据类型中,有些是可变的,有些是不可以变的,不可变就意味差你不能对它进行操作,只能读取。

不可变数据:Number(数字)、String(字符串)、Tuple(元组);

可变数据:List(列表)、Dictionary(字典)、Set(集合)。

数据类型判断

Python 内置的 type() 函数可以查看数据的类型,如:

type(123) # 返回 int

# int

a = "Hello"

type(a) # 返回 str

# str

也可以用 isinstance 来判断它是不是一个指定的类型:

isinstance(123, int) # 123 是不是一个数字整型

# True

isinstance('123', int)

# False

isinstance(True, bool)

# True

类型体系

Python 的内置的类型体系如下,复杂的数据类型往往是通过这些组合创建而来。

对象的类型:

类型 type

空类型 NoneType

数字 numeric

整型 int

布尔 bool

浮点 float

复数 complex

容器 collections

序列 sequence

可变序列 abc.MutableSequence

列表 list

字节数组 bytearray

不可变序列 ImmutableSequence

元组 tuple

字符串 string

等差数列 range

字节串 bytes

内存视图 memoryview

集合 set

可变集合 set

不可变集合 frozenset

映射 mapping

字典 dict

上下文管理器 context manager

类型注解的类型 type annotation

其他内置类型

迭代器 iterator

生成器 generator

模块 module

类与类实例 class/instances

函数 function

方法 method

代码 code

省略符 Ellipsis

未实现 NotImplemented

栈帧 frame

扩展类型 (内置库)

高效数组 array.array

枚举 enum.Enum

有理数 fractions.Fraction

指定精度浮点数 decimal.Decimal

时间 datetime.datetime

命名元组 collections.namedtuple

双向队列 collections.deque

有序字典 collections.OrderedDict

映射链 collections.ChainMap

计数器 collections.Counter

默认字典 collections.defaultdict

鸭子类型

鸭子类型(Duck Typing)是一种在编程中使用的概念,它强调一个对象的类型是由其行为而不是其类别或明确的接口定义来确定的。换句话说,如果一个对象的行为类似于鸭子,那么它就可以被视为鸭子。在Python中,由于其动态类型和灵活性,鸭子类型经常出现。

可迭代对象 Iterable

可调用对象 callable

list-like

dict-lick

array-like

可等待对象

更多详见:Python鸭子类型 。

参考

https://docs.python.org/zh-cn/3/library/stdtypes.html

相关内容

Python习题 082:写出至少四种 Python 内置数据类型

2023-09-05 09:26:00

Python习题 044:如何检测对象是否某个类型?

2023-08-28 10:46:12

Python习题 043:如何判断一个对象的类型?

2023-08-28 10:40:39

Python习题 003:关于数据类型说法正确的是?

2023-07-31 23:00:36

Python习题 002:电话号码应该用哪种数据类型?

2023-07-31 22:56:10

< 命令行执行脚本

Python 教程

数字 Number >

更新时间:2023-09-17 15:53:53

标签:数据类型

python