上一篇博客,我们介绍了Python的基础语法(Python基础语法:从入门到精通的必备指南),相信大家看过后,对python的整个语法逻辑有了一些了解,不了解也没有关系。接下来,我们将正式开始,一个概念一个类型的讲下去,希望能讲清楚。
目录
下面我们直接开始第一个基础模块,Python的基本数据类型。
1. Python的基本数据类型简介
Python是一种强类型的编程语言,这意味着每个变量都有一个固定的数据类型,不能随意改变。为什么讲数据类型呢?这里涉及到一个Python的概念,叫做“变量”。那么什么是变量?"变量" 是一个用来存储数据值的名称,也就是上一篇文章里面讲的标识符。
然而,Python是一种动态类型的语言,这意味着你不需要显式地声明变量的类型,Python会根据赋给变量的值自动推断出变量的类型。
比如,写了一个 a=10,这里a就是标识符,=就是变量赋值,10就是数据类型(整型)
好,那么按照上面的说法,10就是数据类型。接下来,我们就可以讲基本的数据类型了。
Python的基本数据类型可以分为以下六种:
- 数值(Numbers)
- 字符串(String)
- 列表(List)
- 元组(Tuple)
- 字典(Dictionary)
- 集合(Set)
数值(Numbers)
数值类型用于表示数字,包括整数、浮点数和复数。
- 整数(int):表示不带小数点的数字,例如 1、2、3 等。
- 浮点数(float):表示带小数点的数字,例如 1.2、3.14 等。
- 复数(complex):表示由实部和虚部组成的数字,例如 1+2j、3-4j 等。
notes:你会发现,有的布尔值(bool)也是数值类型,但是在Python3中,布尔值是int的子类,所以这里讲三种数值类型。
字符串(String)
字符串类型用于表示由字符组成的文本,例如 "Hello, world!"、"你好,世界!" 等。
列表(List)
列表类型用于表示一组有序的数据,可以是任何类型的数据。列表可以是其他数据类型的组合。
元组(Tuple)
元组类型与列表类型类似,但元组是不可变的,也就是说不能对元组中的数据进行修改。
字典(Dictionary)
字典类型用于表示一组无序的键值对,键可以是任何类型的数据,值也可以是任何类型的数据。
集合(Set)
集合类型用于表示一组无序且不重复的数据。
另外,按照数据类型的不可变数据和可变数据。下面表格总结了 Python 的基本数据类型:
数据类型 | 描述 | 可变性 |
数值 | 整数、浮点数、复数 | 不可变 |
字符串 | 由字符组成的文本 | 不可变 |
元组 | 一组有序的数据 | 不可变 |
列表 | 一组有序的数据 | 可变 |
字典 | 一组无序的键值对 | 可变 |
集合 | 一组无序且不重复的数据 | 可变 |
不可变数据是指一旦创建了一个对象,就不能对其进行修改,只能通过重新赋值来改变其值。
2.具体示例讲解
2.1 Number(数字)
Python中的数字类型有整数(int)、浮点数(float)、复数(complex)等。
# 整数
x = 10
# 浮点数
y = 3.14
# 复数
z = 2 + 3j
# bool值
bl = True
print(x, y, z, bl)
输出:
10 3.14 (2+3j) True
2.2 String(字符串)
字符串是一系列字符的有序集合,在Python中用引号(单引号或双引号)括起来。字符串是不可变的,意味着一旦创建,就不能修改。
如果你学过C语言,C里面没有字符串,只有char变量生成的char数组。在Python中,String字符串也是一样,可以理解为一个数组。
类型为:变量[头部下标:尾部下标]
下图就是Python的字符串的结构:
上图,假设String的坐标为:TiYong,那么它有6个值,其中正向坐标是0-5,反向坐标就是-1--5。
下面我们以代码来解释:
str1 = 'TiYong' # 单引号一个字符串变量
str2 = "TiYong" # 双引号一个字符串变量
print(str1) # 输出整个字符串
print(str2) # 输出整个字符串
print(str1[0]) # 打印字符串的第一个字符
print(str1[-1]) # 打印字符串的最后一个字符
print(str1[2:5]) # 打印字符串第三到第五个字符(不包含第五个字符)
print(str1[2:]) # 打印字符串从第三个字符开始到末尾
print(str1 * 3) # 打印字符串三次
print(str1 + "------" + str2) # 打印字符串拼接
输出:
TiYong
TiYong
T
g
Yon
Yong
TiYongTiYongTiYong
TiYong------TiYong
2.3 List(列表)
列表是Python中最常用的数据类型之一,用于存储一系列有序的元素,可以包含不同类型的数据,也就是说,列表可以嵌套使用,可以是多种类型的组合。
下图是列表的展示:ls =
列表是可变的,可以通过添加、删除或更改元素来修改列表。可以看到
my_list = [1, "apple", True, 3.14, [5, 6, 7], {"name": "John", "age": 30}]
# 按照正向索引坐标输出
print(my_list[0])
print(my_list[1])
print(my_list[2])
print(my_list[3])
print(my_list[4])
print(my_list[5])
# 添加元素
my_list.append('orange')
print(my_list)
# 修改元素
my_list[2] = 'tiyong'
print(my_list)
# 删除元素
del my_list[0]
print(my_list)
输出结果:
1
apple
True
3.14
[5, 6, 7]
{'name': 'John', 'age': 30}
[1, 'apple', True, 3.14, [5, 6, 7], {'name': 'John', 'age': 30}, 'orange']
[1, 'apple', 'tiyong', 3.14, [5, 6, 7], {'name': 'John', 'age': 30}, 'orange']
['apple', 'tiyong', 3.14, [5, 6, 7], {'name': 'John', 'age': 30}, 'orange']
2.4 Tuple(元组)
元组是由多个逗号分隔的值组成的有序序列,用小括号括起来。元组是不可变的,一旦创建,元组中的元素就不能被修改、添加或删除。元组和列表很相似,不同的是元组不可改变,列表可以改变。
示例代码:
my_tuple = (1, "banana", False, 2.718, [8, 9, 10], {"color": "blue", "size": "large"})
print(my_tuple[0]) # 输出第一个元素
print(my_tuple[-1]) # 输出最后一个元素
print(my_tuple) # 输出全部元素
输出结果:
1
{'color': 'blue', 'size': 'large'}
(1, 'banana', False, 2.718, [8, 9, 10], {'color': 'blue', 'size': 'large'})
2.5 Dictionary(字典)
字典是另一个非常有用的数据类型,用于存储键值对。字典是可变的,无序的,可以通过键来访问、添加或删除其中的元素。字典与列表类似,不同的是列表靠索引的偏移量来操作元素,字典拥有自己的key值。这里的关键是{ },这个花括号,还有键值对之间的 : ,这两点就是字典的标志了。
所以,字典的类型为:d = {key1 : value1, key2 : value2, key3 : value3 }
注意:Key必须是唯一的,但Value则不必。
直接来看代码:
my_dict = {
"integer": 42,
"string": "TiYong",
"boolean": True,
"float": 3.14159,
"list": [1, 2, 3],
"tuple": ("a", "b", "c")
}
# 输出整个字典
print("原始字典:")
print(my_dict)
# 获取并输出特定键的值
print("\n获取特定键的值:")
print("整数值:", my_dict["integer"])
print("字符串值:", my_dict["string"])
print("布尔值:", my_dict["boolean"])
print("浮点数值:", my_dict["float"])
print("列表值:", my_dict["list"])
print("元组值:", my_dict["tuple"])
# 修改字典中的值
my_dict["integer"] = 100
my_dict["string"] = "world"
my_dict["boolean"] = False
my_dict["float"] = 2.71828
my_dict["list"].append(4)
my_dict["tuple"] = ("x", "y", "z")
# 输出修改后的字典
print("\n修改后的字典:")
print(my_dict)
# 添加新的键值对
my_dict["new_key"] = "new_value"
# 输出更新后的字典
print("\n添加新的键值对后的字典:")
print(my_dict)
# 删除键值对
del my_dict["boolean"]
# 输出删除键值对后的字典
print("\n删除键值对后的字典:")
print(my_dict)
示例输出结果:
原始字典:
{'integer': 42, 'string': 'TiYong', 'boolean': True, 'float': 3.14159, 'list': [1, 2, 3], 'tuple': ('a', 'b', 'c')}
获取特定键的值:
整数值: 42
字符串值: TiYong
布尔值: True
浮点数值: 3.14159
列表值: [1, 2, 3]
元组值: ('a', 'b', 'c')
修改后的字典:
{'integer': 100, 'string': 'world', 'boolean': False, 'float': 2.71828, 'list': [1, 2, 3, 4], 'tuple': ('x', 'y', 'z')}
添加新的键值对后的字典:
{'integer': 100, 'string': 'world', 'boolean': False, 'float': 2.71828, 'list': [1, 2, 3, 4], 'tuple': ('x', 'y', 'z'), 'new_key': 'new_value'}
删除键值对后的字典:
{'integer': 100, 'string': 'world', 'float': 2.71828, 'list': [1, 2, 3, 4], 'tuple': ('x', 'y', 'z'), 'new_key': 'new_value'}
2.6 Set(集合)
集合是一个无序且不重复的元素集合。集合是可变的,可以进行添加、删除操作,还可以进行集合运算,如并集、交集等。
语法:
parame = {value01,value02,...}
或者
set(value)
代码示例:
my_set = {1, "TiYong", True, 3.14, (5, 6, 7), frozenset({"a", "b", "c"})}
# 输出整个集合
print("原始集合:")
print(my_set)
# 添加一个新的元素
my_set.add("orange")
# 输出添加元素后的集合
print("\n添加元素后的集合:")
print(my_set)
# 尝试添加已存在的元素,集合不会发生改变
my_set.add("apple")
# 输出尝试添加重复元素后的集合,没有变化
print("\n尝试添加重复元素后的集合:")
print(my_set)
# 删除一个元素
my_set.remove(1)
# 输出删除元素后的集合
print("\n删除元素后的集合:")
print(my_set)
# 集合运算:并集
other_set = {3.14, "orange", "banana", 42}
union_set = my_set.union(other_set)
# 输出并集
print("\n集合并集:")
print(union_set)
# 集合运算:交集
intersection_set = my_set.intersection(other_set)
# 输出交集
print("\n集合交集:")
print(intersection_set)
输出结果:
原始集合:
{1, 3.14, frozenset({'a', 'b', 'c'}), (5, 6, 7), 'apple'}
添加元素后的集合:
{1, 3.14, frozenset({'a', 'b', 'c'}), 'orange', (5, 6, 7), 'apple'}
{1, 3.14, frozenset({'a', 'b', 'c'}), 'orange', (5, 6, 7), 'apple'}
删除元素后的集合:
{3.14, frozenset({'a', 'b', 'c'}), 'orange', (5, 6, 7), 'apple'}
集合并集:
{3.14, 'banana', frozenset({'a', 'b', 'c'}), 42, 'orange', (5, 6, 7), 'apple'}
集合交集:
{3.14, 'orange'}
PS C:\Users\MaiBenBen> & C:/Users/MaiBenBen/AppData/Local/Microsoft/WindowsApps/python3.8.exe f:/gastric.cancer/Untitled-1.py
原始集合:
{'TiYong', 1, 3.14, (5, 6, 7), frozenset({'a', 'c', 'b'})}
添加元素后的集合:
{'TiYong', 1, 3.14, 'orange', (5, 6, 7), frozenset({'a', 'c', 'b'})}
尝试添加重复元素后的集合:
{'TiYong', 1, 3.14, 'apple', 'orange', (5, 6, 7), frozenset({'a', 'c', 'b'})}
删除元素后的集合:
{'TiYong', 3.14, 'apple', 'orange', (5, 6, 7), frozenset({'a', 'c', 'b'})}
集合并集:
{'TiYong', 3.14, 'banana', 42, 'apple', 'orange', (5, 6, 7), frozenset({'a', 'c', 'b'})}
集合交集:
{3.14, 'orange'}
以上就是Python中的基本数据类型的介绍。不可变数据类型包括Number(数字)、String(字符串)、Tuple(元组),它们一旦创建就不能修改。可变数据类型包括List(列表)、Dictionary(字典)、Set(集合),可以进行增删改操作。对于不同需求,选择合适的数据类型,决定了程序的性能和功能实现。
希望这篇博客能帮助你更好地理解Python中的数据类型。
如果感觉阅读对您还有些作用,可以评论留言,关注我。谢谢您的阅读!
往期学习: