1. Python数据类型介绍
在Python中,所有的数据都有自己的类型。Python中的数据类型包括数字、字符串、列表、元组、字典、集合等。
1.1 数字类型
数字类型包括整数、浮点数和复数。其中整数类型是整个数字类型的基础,浮点数表示小数,而复数则是由实数和虚数构成。
# 整数类型
a = 100
print(type(a)) # <class 'int'>
# 浮点数类型
b = 3.14
print(type(b)) # <class 'float'>
# 复数类型
c = 2 + 3j
print(type(c)) # <class 'complex'>
1.2 字符串类型
字符串类型由一系列字符组成,可以使用单引号、双引号或三引号来表示。字符串可以进行切片、拼接、替换等操作。
# 字符串类型
s = "hello, world!"
print(type(s)) # <class 'str'>
# 字符串切片
print(s[1:5]) # ello
# 字符串拼接
print(s + " Python") # hello, world! Python
# 字符串替换
print(s.replace("world", "Python")) # hello, Python!
1.3 列表类型
列表类型是一种有序的集合,可以容纳任何类型的数据。列表可以进行切片、增加元素等操作。
# 列表类型
lst = [1, "hello", 2.3]
print(type(lst)) # <class 'list'>
# 列表切片
print(lst[1:]) # ['hello', 2.3]
# 列表增加元素
lst.append("Python")
print(lst) # [1, 'hello', 2.3, 'Python']
1.4 元组类型
元组类型与列表类型类似,但是元组是不可变的,一旦创建就无法修改。
# 元组类型
tup = (1, "hello", 2.3)
print(type(tup)) # <class 'tuple'>
# 元组切片
print(tup[:2]) # (1, 'hello')
# 元组不可变
# tup[0] = 2 # TypeError: 'tuple' object does not support item assignment
1.5 字典类型
字典类型是一种无序的键值对集合。每个键值对都用冒号(:)分割,而各个键值对之间用逗号(,)分割。
# 字典类型
dict1 = {"name": "Tom", "age": 18, "gender": "male"}
print(type(dict1)) # <class 'dict'>
# 字典取值
print(dict1["name"]) # Tom
# 字典增加元素
dict1["address"] = "Beijing"
print(dict1) # {'name': 'Tom', 'age': 18, 'gender': 'male', 'address': 'Beijing'}
1.6 集合类型
集合类型是一种无序的、不重复的元素集合。可以进行交、并、差等操作。
# 集合类型
set1 = {1, 2, 3, 4}
print(type(set1)) # <class 'set'>
# 集合交并差
set2 = {2, 3, 5}
print(set1 & set2) # {2, 3}
print(set1 | set2) # {1, 2, 3, 4, 5}
print(set1 - set2) # {1, 4}
2. 数据类型转换
在Python中,有时候需要将一个数据类型转换为另一个数据类型。Python中提供了多种内置函数来完成这个任务。
2.1 数字类型转换
数字类型之间可以互相转换,比如将整数类型转换为浮点数类型。
# 数字类型转换
a = 10
b = float(a)
print(b) # 10.0
2.2 字符串类型转换
字符串类型可以转换为数字类型或其他类型。
# 字符串转数字
a = "10"
b = int(a)
print(b) # 10
# 字符串转列表
a = "hello"
b = list(a)
print(b) # ['h', 'e', 'l', 'l', 'o']
2.3 列表类型转换
列表类型可以转换为元组类型或集合类型。
# 列表转元组
a = [1, 2, 3]
b = tuple(a)
print(b) # (1, 2, 3)
# 列表转集合
a = [1, 2, 3, 3]
b = set(a)
print(b) # {1, 2, 3}
2.4 元组类型转换
元组类型可以转换为列表类型。
# 元组转列表
a = (1, 2, 3)
b = list(a)
print(b) # [1, 2, 3]
2.5 字典类型转换
字典类型可以转换为列表类型。
# 字典转列表
a = {"name": "Tom", "age": 18}
b = list(a.items())
print(b) # [('name', 'Tom'), ('age', 18)]
3. 常见数据类型操作
Python中的数据类型有许多常见的操作,比如切片、拼接、遍历等。下面将介绍一些常见的操作。
3.1 序列类型切片
序列类型(包括字符串、列表、元组等)可以进行切片操作,从而截取部分数据。
# 序列类型切片
s = "hello, world!"
print(s[1:5]) # ello
lst = [1, 2, 3]
print(lst[:2]) # [1, 2]
tup = (1, 2, 3)
print(tup[1:]) # (2, 3)
3.2 序列类型拼接
序列类型之间可以进行拼接操作。
# 序列类型拼接
s1 = "hello"
s2 = "world"
s3 = s1 + ", " + s2
print(s3) # hello, world
lst1 = [1, 2]
lst2 = [3, 4]
lst3 = lst1 + lst2
print(lst3) # [1, 2, 3, 4]
3.3 序列类型遍历
序列类型可以进行遍历操作,使用for循环即可。
# 序列类型遍历
s = "hello, world!"
for char in s:
print(char)
lst = [1, 2, 3]
for num in lst:
print(num)
3.4 字典类型遍历
字典类型可以进行遍历操作,使用for循环即可。可以遍历键、值或键值对。
# 字典类型遍历
dict1 = {"name": "Tom", "age": 18}
for key in dict1:
print(key, dict1[key])
for value in dict1.values():
print(value)
for key, value in dict1.items():
print(key, value)
3.5 集合类型常见操作
集合类型的常见操作包括并集、交集和差集。
# 集合类型操作
set1 = {1, 2, 3}
set2 = {2, 3, 4}
# 并集
set3 = set1 | set2
print(set3) # {1, 2, 3, 4}
# 交集
set4 = set1 & set2
print(set4) # {2, 3}
# 差集
set5 = set1 - set2
print(set5) # {1}
4. 总结
Python中有多种数据类型,每种类型都有自己的特点。在实际编程中,我们需要根据具体的情况选择合适的数据类型。除了常见的数据类型之外,Python还提供了许多扩展的数据类型和模块,例如numpy、pandas等,可以方便地进行数据处理和分析。
在操作数据类型时,我们需要熟悉各种数据类型之间的转换方法,并掌握常见操作,包括切片、拼接、遍历、并集、交集和差集等。