本内容来自: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