本教程的主要目标是阐明 Python 编程语言中数据类型及其分类的概念。
Python 中的数据类型可以定义为变量或对象可以保存并根据数据执行操作的一种数据。它有助于确定程序员打算解释的数据的类型和大小。
Python 作为一种可解释的编程语言,会隐式地为变量分配数据类型。无需显式声明。根据数据类型分配内存,这意味着数据的空间及其操作所需的空间会在内存中动态分配。
age = 17 #age is a variable of datatype number
first_name = ‘Robert’ #first_name is a variable of datatype string
X = 21.5 #X is a variable of datatype float
在 Python 编程语言中,数据类型大致分为 7 种内置类型,即数字、文本序列、序列、映射、集合、布尔和二进制序列。每种类型又根据其独有特征进一步细分为基本数据类型。

在 Python 中,当变量被赋予一个数字值时,它就属于 Python 数字数据类型。数字数据类型包括整数值、浮点数值和复数类型值,具体如下:
Int 是 Python 中的一种数字数据类型,包括正数、负数和零。它不包含小数部分。
Float,也称为浮点数,包含带符号的分数。
复数是由实部和虚部组成的数,形式为 a+ib,其中 a 和 b 是实数,b 与虚数单位 i 相关。
i = 10 #i is a variable of type int
print("i = ",i)
f = 10.55 #f is a variable of type float
print("f = ",f)
C =-5-6i #C is a variable of type Complex
print("C =",C)
输出
i = 10 f = 10.55 C = -5-6i
在 Python 编程语言中,字符串数据类型是一种基于文本序列的数据类型。字符串通常是 Unicode 字符的有限系列或序列,用双引号或单引号括起来。要表示多行字符串,我们可以使用'''或"""。
Str1 = ' First String '
Str2 = " Second String "
Str3 = ' ' ' Multiple line …
…String example ' ' '
print(str1)
print(str2)
print(str3)
输出
First String Second String Mutliple line… …String example
根据序列,Python 数据类型分为三种:
列表可以定义为有序的、可变的(mutable)值集合。在 Python 中,列表中的值用逗号分隔,并用方括号[]括起来。
Python 元组也是有序的值集合,但它们是不可变的(immutable)。在 Python 中,元组中的值用逗号分隔,并用圆括号()括起来。
Python 的 range 类型用于表示固定范围的数字系列,并在 for 循环和 while 循环中用于指定固定的迭代次数。
colorlist = ['violet', 'yellow', 'blue', 'green', 'indigo']
colourtupe = ('violet', 'yellow', 'blue', 'green', 'indigo')
x=range(10)
y=list(range(10))
print( "List of colours :",colorlist)
print( "Tuple of colours :",colorlist)
print(x)
print('List values in range of 10 :',y)
输出
List of colours : ['violet', 'yellow', 'blue', 'green', 'indigo']
Tuple of colours : ('violet', 'yellow', 'blue', 'green', 'indigo')
range(0, 10)
List values in range of 10 : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
在 Python 编程语言中,集合实体是无序的、唯一的、可哈希(hashable)的实体集合。有两种内置的集合类型:
Python 集合(Set)是一组不重复的项,它们既没有索引也没有顺序,并且是可变的。集合值是不可哈希的。Python 集合通常用花括号{}括起来,用逗号分隔。
Python Frozenset 包含一组独特的对象,这些对象是不可变的(immutable)和可哈希的。
colorset = {'violet','indigo','blue','green','yellow'}
print("Set of colours are :",colorset)
flowerset =frozenset({'jasmine','marigold','sunflower'})
print("Frozen set of flowers are:",flowerset)
输出
Set of colours are : {'violet', 'yellow', 'blue', 'green', 'indigo'}
Frozen set of flowers are: frozenset({'jasmine', 'marigold', 'sunflower'})
在 Python 编程语言中,字典是键值对(Key and Values)的集合,它们是索引的、可变的但无序的。键值对Key: Values用花括号{}封装,可以是任何数据类型。值通过键来提取,反之则不然。
D = {
"Flower":"Rose",
"Fruit":"Cherry",
"Age":20
}
A=D['Age']
F=D["Flower"]
print(D)
print("Age is ",A)
print("Flower is",F)
输出
{'Flower': 'Rose', 'Fruit': 'Cherry', 'Age': 20}
Age is 20
Flower is Rose
布尔数据类型是一种数据类型,它只能包含两个可能值之一:True (1) 或 False (0)。
在 Python 中,布尔数据类型使用 Python 关键字 True 或 False 来返回表达式的真值。
布尔值通常用于评估表达式。表达式可以是逻辑的、算术的等,这些内容将在后续教程中学习。
a = 100
b = 200
print(a > b)
print(a < b)
print(a == b)
print(a != b)
if a < b:
print(a,'is less than', b)
else:
print(a,' is greater than',b)
输出
False True False True 100 is less than 200
在 Python 编程语言中,二进制序列数据类型分为三种:
Bytes 主要是用于管理二进制数据的内置数据类型。bytes 实体是不可更改的单字节序列。
bytearray 是另一种主要的内置数据类型,用于控制二进制数据。与 bytes 不同,bytearray 是可变的。
memoryview 用于 Python 代码中,以获取特定对象的内部数据。它还通过缓冲区协议支持 bytes 和 bytearray。
a=b"Python" #bytes datatype
x= bytes(10) #bytes datatype
y=bytearray(5) #bytearray
z=memoryview(bytes(10)) #memoryview
print('a = ',a)
print('x = ',x)
print('y = ',y)
print('z = ',z)
输出
a = b'Python' x = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' y = bytearray(b'\x00\x00\x00\x00\x00') z = memory at 0x034D8268
下表显示了数据类型在各种因素下的常见因素和比较。

从表中我们可以推断出以下几点:
我们已经知道 Python 是一种高度基于类型的编程语言。每种数据都有自己的类型。为了检索数据类型,我们使用内置函数type( )。将单个参数传递给type(object)函数后,它将返回特定的对象类型。
type 函数的语法:type(object)
i = type(10)
print(i) #returns <class ‘int’>
f = type(10.55)
print(f) #returns <class ‘float’>
STR = type(‘Welcome’)
print(STR) #returns <class ‘str’>
List_ex =type [1,2,3,4,5,6]
print(List_ex) #returns <class ‘list’>
Set_ex =type({5,3,1,2})
Print(Set_ex) #returns <class ‘set’>
D = {
“Flower” : ”Rose“
}
Print(type(D)) #returns <class ‘dict’>
输出
<class ‘int’> <class ‘float’> <class ‘str’> <class ‘list’> <class ‘set’> <class ‘dict’>