Python 基本数据类型
python 的变量不需要声明.每个变量在使用前必须赋值.变量在被赋值之后才会被创建.
在 Python 中变量就是变量,他没有类型,我们所熟知的"类型"只是内存中的对象的类型.
等号=
用来给对象赋值,等号左边是变量名,等号右边是要赋的值.
等号(9)运算符的左边是一个变量名,等号(=)运算符的右边是存储在变量中的值.例如:
|
|
输出:
|
|
多个变量赋值
Python 允许一次给多个变量赋值.例如:
|
|
输出:
|
|
标准数据类型
Python3 常见的类型有:
- Number(数字)
- String(字符串)
- bool (布尔值)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据: Number(数字)、String(字符串)、Tuple(元组)
- 可变数据: List(列表)、Dictionary(字典)、Set(集合)
此外还有一些高级的数据类型,比如字节数组类型(bytes).
Number(数字)
Python3 支持 int、float、bool、complex(复数)。
在 Python 3 里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以用来查询变量所指的对象类型。
|
|
当你指定一个值时,Number 对象就会被创建:
|
|
您也可以使用 del 语句删除一些对象引用。
|
|
数值运算
实例:
|
|
注意:
- Python 可以同时为多个变量赋值,如
a,b = 1,2
。 - 一个变量可以通过赋值指向不同类型的对象.
- 数字的除法包含两个运算符:
/
返回一个浮点数,//
返回一个整数. - 在混合计算时,Python 会把整型转换为浮点型.
数字类型实例
int | float | complex |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.2 | 45.j |
-786 | -21.9 | 5j |
080 | 32.34e-3 | 6.2+1.5j |
0x1F | 35e3 | 1j |
Python3 还支持复数,复数由实数部分和虚数部分构成,可以用a+bj
,或者complex(a,b)
表示,复数的实部 a 和虚部 b 都是浮点型.
String(字符串)
Python 中的字符串用单引号 '
或双引号 "
括起来,同时使用反斜杠 \
转义特殊字符。
字符串的截取的语法格式如下:
|
|
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号+
是字符串的连接符,星号*
可以复制当前字符串,与之结合的数字为复制次数,实例如下:
|
|
输出:
|
|
Python 使用反斜杠\
转义特殊字符,如\n
表示换行,\t
表示制表符,\r
表示回车,\b
表示退格,\f
表示换页.
|
|
另外,反斜杠(\
)可以作为续行符,表示接下来的字符串属于同一行.也可以使用 """..."""
或者 '''...'''
跨越多行。
注意:Python 没有单独的字符类型,一个字符就是长度为 1 的字符串.
|
|
与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如 word[0] = ’m' 会导致错误。
注意:
- 反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。
- 字符串可以用+运算符连接在一起,用*运算符重复。
- Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以-1 开始。
- Python 中的字符串不能改变。
bool (布尔值)
布尔类型即 True 或 False。
在 Python 中,True 和 False 都是关键字,表示布尔值。
布尔类型可以用来控制程序的流程,比如判断某个条件是否成立,或者在某个条件满足时执行某段代码。
布尔类型特点:
-
布尔类型只有两个值:True 和 False。
-
bool 是 int 的子类,因此布尔值可以被看作整数来使用,其中 True 等价于 1。
-
布尔类型可以和其他数据类型进行比较,比如数字、字符串等。在比较时,Python 会将 True 视为 1,False 视为 0。
-
布尔类型可以和逻辑运算符一起使用,包括 and、or 和 not。这些运算符可以用来组合多个布尔表达式,生成一个新的布尔值。
-
布尔类型也可以被转换成其他数据类型,比如整数、浮点数和字符串。在转换时,True 会被转换成 1,False 会被转换成 0。
-
可以使用 bool() 函数将其他类型的值转换为布尔值。以下值在转换为布尔值时为 False:None、False、零 (0、0.0、0j)、空序列(如 ‘'、()、[])和空映射(如 {})。其他所有值转换为布尔值时均为 True。
实例:
|
|
注意:
在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True,只有 0、空字符串、空列表、空元组
等被视为 False。因此,在进行布尔类型转换时,需要注意数据类型的真假性。
List(列表)
列表是 Python 中最常用的数据类型。列表可以包含不同类型的数据,可以是整数、字符串、浮点数等。列表是一种有序的集合,可以随时添加或删除元素。
列表的创建方式有两种:
- 使用方括号 [] 创建空列表。
- 使用方括号 [] 后面跟着逗号分隔的元素列表来创建非空列表。
|
|
列表的索引从 0 开始,可以从左到右访问列表中的元素,也可以从右到左访问。
|
|
列表的切片操作可以从列表中获取一部分元素。
|
|
列表的常用操作:
len(list)
:返回列表的长度。list.append(obj)
:在列表末尾添加一个对象。list.insert(index, obj)
:在指定位置插入一个对象。list.pop([index])
:删除并返回指定位置的对象,默认删除最后一个对象。list.remove(obj)
:删除第一个匹配的对象。list.index(obj)
:返回第一个匹配的对象的索引。list.count(obj)
:返回指定对象在列表中出现的次数。list.sort()
:对列表进行排序。list.reverse()
:反转列表。
Tuple(元组)
元组与列表类似,不同之处在于元组的元素不能修改。元组创建方式也与列表相同。
|
|
元组的索引和切片操作与列表相同。
|
|
Set(集合)
集合是一个无序不重复元素的集。集合是由一个或多个元素组成的,这些元素可以是数字、字符串、元组等。集合可以进行集合运算,比如并集、交集、差集等。
集合的创建方式有两种:
- 使用花括号 {} 创建空集合。
- 使用花括号 {} 后面跟着逗号分隔的元素列表来创建非空集合。
|
|
集合的元素不能重复,因此集合中不会出现重复的元素。
集合的常用操作:
len(set)
:返回集合的长度。set.add(obj)
:添加一个元素到集合中。set.remove(obj)
:删除一个元素。set.pop()
:随机删除一个元素。set.union(set2)
:返回两个集合的并集。set.intersection(set2)
:返回两个集合的交集。set.difference(set2)
:返回两个集合的差集。set.symmetric_difference(set2)
:返回两个集合的对称差集。
Dictionary(字典)
字典是 Python 中另一种非常有用的内置数据类型。字典是一种映射类型,它存储键值对。字典的每个键值对用冒号 : 分割,每个键和值用逗号 , 分割。
字典的创建方式有两种:
- 使用花括号 {} 创建空字典。
- 使用花括号 {} 后面跟着逗号分隔的键值对列表来创建非空字典。
|
|
字典的键必须是不可变类型,如字符串、数字、元组等。值可以是任意类型。
字典的常用操作:
len(dict)
:返回字典的长度。dict[key]
:返回指定键的值。dict[key] = value
:设置或修改指定键的值。del dict[key]
:删除指定键的值。key in dict
:判断字典中是否存在指定键。dict.keys()
:返回字典所有键组成的列表。dict.values()
:返回字典所有值组成的列表。dict.items()
:返回字典所有键值对组成的列表。
总结
Python 3 共有六种基本数据类型:Number(数字)、String(字符串)、bool (布尔值)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)。