【python零基础入门到就业】009、Python中的数据类型(超详细)

194 阅读4分钟

Python中的数据类型(超详细)

在Python编程中,数据类型是一个非常基础且重要的概念。它们定义了变量可以存储的数据的类型和格式。本文将详细介绍Python中的各种数据类型,并通过简图帮助你更好地理解它们。

1. 基本数据类型

Python中的基本数据类型包括:整数(int)、浮点数(float)、字符串(str)和布尔值(bool)。在入门阶段,我们主要接触如下三类数据类型:

1.1 整数(int)

整数是没有小数部分的数字。可以是正数、负数或零。

示例:
x = 10
y = -5
z = 0

1.2 浮点数(float)

浮点数是带有小数部分的数字。它们用于表示分数或带有小数的数值。

示例:
a = 3.14
b = -2.718
c = 0.0

1.3 字符串(str)

字符串是由一系列字符组成的序列,用于表示文本数据。字符串可以使用单引号(')、双引号(")或三引号('''""")定义。

示例:
name = "Alice"
greeting = 'Hello, world!'
multiline_text = """This is a
multiline string."""

1.4 布尔值(bool)

布尔值只有两个值:TrueFalse。它们通常用于条件判断。

示例:
is_active = True
is_closed = False

1.5 基本数据类型示意图

+--------+       +------+
|  int   | ----> |  10  |
+--------+       +------+

+--------+       +-------+
| float  | ----> | 3.14  |
+--------+       +-------+

+--------+       +-------------+
|  str   | ----> | "Hello"     |
+--------+       +-------------+

+--------+       +-------+
|  bool  | ----> | True  |
+--------+       +-------+

2. 复合数据类型

Python中的复合数据类型包括:列表(list)、元组(tuple)、字典(dict)和集合(set)。

2.1 列表(list)

列表是一种有序的可变序列,可以包含任意类型的元素。列表使用方括号([])定义,元素之间用逗号分隔。

示例:
numbers = [1, 2, 3, 4, 5]
mixed_list = [1, "two", 3.0, True]

2.2 元组(tuple)

元组是一种有序的不可变序列,可以包含任意类型的元素。元组使用圆括号(())定义,元素之间用逗号分隔。

示例:
coordinates = (10.0, 20.0)
person = ("Alice", 30)

2.3 字典(dict)

字典是一种无序的可变映射,存储键值对。字典使用花括号({})定义,键值对之间用逗号分隔,键和值之间用冒号分隔。

示例:
person = {"name": "Alice", "age": 25}
grades = {"math": 90, "science": 85}

2.4 集合(set)

集合是一种无序的可变集合,存储不重复的元素。集合使用花括号({})定义,元素之间用逗号分隔。

示例:
unique_numbers = {1, 2, 3, 4, 5}
letters = {"a", "b", "c"}

2.5 复合数据类型示意图

+-----------+       +---------------------+
|   list    | ----> | [1, 2, 3, "four"]   |
+-----------+       +---------------------+

+-----------+       +-------------------+
|   tuple   | ----> | (10.0, 20.0)      |
+-----------+       +-------------------+

+-----------+       +-----------------------------+
|   dict    | ----> | {"name": "Alice", "age": 25}|
+-----------+       +-----------------------------+

+-----------+       +-----------------+
|    set    | ----> | {1, 2, 3, 4, 5} |
+-----------+       +-----------------+

3. type()语句的使用方法

那么,问题来了,如何验证数据的类型呢?

我们可以通过type()语句来得到数据的类型:

语法:type(被查看类型的数据)

在Python中,type()函数用于返回对象的类型。这对于调试和理解代码非常有用。以下是type()函数的基本用法和一些示例:

3.1 基本用法

type(object)
  • object:任何Python对象。

type()函数返回一个对象的类型。例如,如果传入一个整数,type()会返回int;如果传入一个字符串,type()会返回str

示例

  1. 检查整数的类型
num = 10
print(type(num))  # 输出:<class 'int'>
  1. 检查字符串的类型
text = "Hello, World!"
print(type(text))  # 输出:<class 'str'>
  1. 检查列表的类型
my_list = [1, 2, 3]
print(type(my_list))  # 输出:<class 'list'>
  1. 检查字典的类型
my_dict = {"name": "Alice", "age": 30}
print(type(my_dict))  # 输出:<class 'dict'>
  1. 检查自定义类的类型
class MyClass:
    pass

my_instance = MyClass()
print(type(my_instance))  # 输出:<class '__main__.MyClass'>

3.2 动态类型检查

在某些情况下,您可能需要根据变量的类型采取不同的操作。type()函数可以与条件语句结合使用:

def check_type(variable):
    if type(variable) == int:
        print("这是一个整数。")
    elif type(variable) == str:
        print("这是一个字符串。")
    elif type(variable) == list:
        print("这是一个列表。")
    else:
        print("未知类型。")

check_type(10)           # 输出:这是一个整数。
check_type("Hello")      # 输出:这是一个字符串。
check_type([1, 2, 3])    # 输出:这是一个列表。

isinstance()的比较

虽然type()函数非常有用,但在实际编程中,通常建议使用isinstance()函数来进行类型检查,因为它支持继承结构的检查。

print(isinstance(10, int))         # 输出:True
print(isinstance("Hello", str))    # 输出:True
print(isinstance([1, 2, 3], list)) # 输出:True

使用isinstance()的一个优点是它可以检查一个对象是否是某个类的实例,或者是该类的子类的实例:

class Animal:
    pass

class Dog(Animal):
    pass

my_dog = Dog()

print(isinstance(my_dog, Dog))    # 输出:True
print(isinstance(my_dog, Animal)) # 输出:True

3.3 总结

type()函数是Python中检查对象类型的基本工具,了解如何使用它对于编写健壮的代码非常重要。然而,在进行类型检查时,通常推荐使用isinstance()函数,因为它在处理继承结构时更加灵活和可靠。

4. 小结

本文介绍了Python中的各种数据类型,涵盖了基本数据类型和复合数据类型。理解数据类型的基本用法是学习编程的重要一步。希望本文能帮助你更好地理解Python中的数据类型。