欢迎光临
我们一直在努力

Python 基本数据类型详解


在这里插入图片描述


Python 基本数据类型详解

  • 📊 一、核心概览
  • 🔢 二、数值类型 (Numeric Types)
    • 1. 整数 (`int`)
    • 2. 浮点数 (`float`)
    • 3. 复数 (`complex`)
  • 📝 三、文本类型:字符串 (`str`)
    • 1. 定义方式
    • 2. 核心操作 (2026 最佳实践)
  • ✅ 四、布尔类型 (`bool`)
  • 🚫 五、空值类型 (`NoneType`)
  • 📦 六、容器类型简述 (Container Types)
  • 🔄 七、类型转换 (Type Casting)
  • 💡 八、如何查看类型?
  • 🎯 总结与建议

这是 2026 最新版 Python 基本数据类型详解。

在 Python 中,一切皆对象。数据类型决定了对象能存储什么内容、能进行什么操作。Python 的数据类型主要分为两大类:基本数据类型(标量)和容器数据类型(复合)。

本指南将重点讲解基本数据类型,并简要介绍常用的容器类型,助你构建坚实的数据基础。


📊 一、核心概览

分类类型名称类型标识可变性说明
数值型 整数 int 不可变 任意大小的整数
浮点数 float 不可变 带小数的数字
复数 complex 不可变 科学计算专用 (a+bj)
文本型 字符串 str 不可变 文本数据
逻辑型 布尔值 bool 不可变 真/假 (True/False)
空值型 空值 NoneType 不可变 表示“无” (None)
容器型 列表 list 可变 有序集合 […]
元组 tuple 不可变 有序只读 (…)
字典 dict 可变 键值对 {k:v}
集合 set 可变 无序去重 {…}

🔢 二、数值类型 (Numeric Types)

1. 整数 (int)

Python 的整数没有大小限制(仅受内存限制),无需像 C/Java 那样区分 short, long。

# 定义
age = 25
negative_num = 100
big_num = 10**100 # 1后面100个0,完全没问题

# 进制表示
binary_num = 0b1010 # 二进制 (10)
octal_num = 0o17 # 八进制 (15)
hex_num = 0xFF # 十六进制 (255)

print(type(age)) # <class 'int'>

2. 浮点数 (float)

用于表示带小数的数字。注意:浮点数运算可能存在精度误差(计算机底层二进制表示导致)。

price = 99.9
scientific = 3e8 # 科学计数法: 3 * 10^8 (300000000.0)
pi = 3.1415926

# ⚠️ 精度陷阱
print(0.1 + 0.2) # 输出: 0.30000000000000004 (不是精确的 0.3)
# 解决高精度计算需使用 decimal 模块

3. 复数 (complex)

主要用于科学计算和工程领域,形式为 a + bj。

c = 3 + 4j
print(c.real) # 实部: 3.0
print(c.imag) # 虚部: 4.0


📝 三、文本类型:字符串 (str)

字符串是 Python 中最常用的类型之一,不可变(创建后不能修改字符,只能生成新字符串)。

1. 定义方式

支持单引号、双引号、三引号。

s1 = 'Hello'
s2 = "World"
s3 = '''这是多行字符串
可以换行
保持格式'''

2. 核心操作 (2026 最佳实践)

  • f-string 格式化 (最推荐):name = "Alice"
    age = 25
    msg = f"你好,{name}!明年你 {age + 1} 岁。"
    # 支持表达式、函数调用
  • 常用方法:text = " Python Guide "
    text.strip() # 去除首尾空格: "Python Guide"
    text.lower() # 转小写
    text.replace("Guide", "Tutorial") # 替换
    "Py" in text # 判断包含: True
    text.split(" ") # 分割成列表: ['Python', 'Guide']
  • 索引与切片:s = "Python"
    print(s[0]) # 'P' (第一个)
    print(s[1]) # 'n' (最后一个)
    print(s[0:3]) # 'Pyt' (切片,左闭右开)

✅ 四、布尔类型 (bool)

只有两个值:True 和 False。注意首字母必须大写。 布尔值本质上是整数的子类 (True == 1, False == 0)。

is_active = True
is_deleted = False

# 逻辑运算
print(True and False) # False
print(True or False) # True
print(not True) # False

# 真假值判断 (Truthiness)
# 以下值在布尔上下文中被视为 False:
# 0, 0.0, "", [], {}, (), None
if "":
print("不会执行")
if "Hello":
print("会执行")


🚫 五、空值类型 (NoneType)

None 是 Python 中表示“无”、“空”或“未定义”的特殊对象。它不等于 0 或 False。

data = None

# ✅ 正确判断方式
if data is None:
print("数据为空")

# ❌ 错误方式 (虽然能跑,但不规范)
if data == None:
pass


📦 六、容器类型简述 (Container Types)

虽然它们属于复合类型,但在基础学习中必须掌握。

类型符号特点适用场景
列表 (list) [1, 2, 3] 有序、可变、可重复 存储一组需要修改的数据
元组 (tuple) (1, 2, 3) 有序、不可变、可重复 存储配置、坐标等不应修改的数据
字典 (dict) {"key": "val"} 键值对、键唯一、3.7+有序 存储结构化数据 (如用户信息)
集合 (set) {1, 2, 3} 无序、不重复 去重、数学集合运算

快速示例:

# 列表
fruits = ["apple", "banana"]
fruits.append("orange")

# 字典
user = {"name": "Bob", "age": 30}
print(user["name"])

# 集合 (自动去重)
nums = {1, 2, 2, 3}
print(nums) # {1, 2, 3}


🔄 七、类型转换 (Type Casting)

在不同类型间进行显式转换。

# 字符串转数字
num_str = "123"
num_int = int(num_str) # 123
num_float = float("3.14") # 3.14

# 数字转字符串
age = 25
msg = "Age: " + str(age) # "Age: 25"

# 转布尔值
bool(0) # False
bool("Hi") # True
bool("") # False

# 列表转元组
t = tuple([1, 2, 3]) # (1, 2, 3)


💡 八、如何查看类型?

使用内置函数 type() 和 isinstance()。

x = 100
print(type(x)) # <class 'int'>

# 推荐:判断类型用 isinstance
if isinstance(x, int):
print("这是一个整数")


🎯 总结与建议

  • 不可变性:int, float, str, tuple, bool, None 都是不可变的。修改它们实际上是创建了新对象。
  • 动态类型:变量本身没有类型,类型属于对象。x = 1 后 x = "hello" 是完全合法的。
  • 首选 f-string:处理字符串格式化时,永远优先使用 f-string。
  • 慎用浮点比较:不要直接用 == 比较两个浮点数是否相等,应检查差值是否小于极小值。

  • 掌握这些数据类型及其特性,是你编写健壮、高效 Python 代码的基石!


    赞(0)
    未经允许不得转载:171主机测评 » Python 基本数据类型详解
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址