当前位置: 首页
编程语言
一文详解Python基础数据类型:从零开始快速上手

一文详解Python基础数据类型:从零开始快速上手

热心网友 时间:2026-06-18
转载

Python基础数据类型包括数字(int、float、bool)、字符串、列表、元组、字典和集合。其中数字、字符串、元组为不可变类型,列表、字典、集合为可变类型。通过type()查看数据类型,isinstance()判断类型归属。选择时修改频繁用列表,数据固定用元组。

在之前的文章中,我们探讨了变量、常量和表达式的基本概念。简单来说,变量就像是存放数据的“标签”。然而,仅有标签还不够——数据本身还具备各自的格式、运算规则和存储特性,这些特性正是我们常说的数据类型

一文详解Python基础数据类型

Python提供了一套完整的内置基础数据类型,无需额外安装模块即可直接使用。本文先进行全局梳理和分类对比,帮助读者搭建完整的知识框架。后续章节会针对每一种类型单独拆解其语法、常用方法、常见陷阱和实际应用。

一、查看数据类型

1.1 type():精准查看数据类型

使用内置函数 type() 可以查看任意变量或字面量的数据类型,语法非常简单:

num = 18

print(type(num))  # 

1.2 isinstance():判断是否属于某类类型

内置函数 isinstance(待判断对象, 类型) 用于判断某个变量是否属于指定类型,返回 TrueFalse

num = 10
print(isinstance(num, int))    # True
print(isinstance(num, str))    # False

s = "python"
print(isinstance(s, str))      # True

二、标准数据类型

Python的基础数据类型,按是否可变可分为两大类。

(1)不可变类型

值无法原地修改,一旦修改就会生成全新对象。包括:Number(数字)String(字符串)Tuple(元组)

# 1. int整数
a = 10
print(id(a))
a = a + 5      # 看似修改,实际新建对象
print(id(a))   # 地址不一样

# 2. 字符串str
s = "hello"
print(id(s))
s += "world"
print(id(s))    # 地址改变

# 3. 元组tuple
t = (1, 2, 3)
print(id(t))
t = t + (4)
print(id(t))    # 地址改变

小贴士:id() 函数返回对象在内存中的唯一地址数字。

(2)可变类型

值可以原地修改,修改后内存地址不变。包括:List(列表)Dictionary(字典)Set(集合)

# 1.列表
lst = [1,2,3]
print(id(lst))
lst.append(4)   # 原地追加元素
lst[0] = 99     # 索引修改元素
print(id(lst))  # 地址完全不变

# 2.字典
d = {"name":"小明"}
print(id(d))
d["age"] = 18
print(id(d))    # 地址不变

# 3.集合
s = {1,2,3}
print(id(s))
s.add(4)
print(id(s))    # 地址不变

三、数字类型(Number)

数字类型细分为3种子类型,专门用于数学计算。

3.1 int 整数

核心特点:

  • 可以存储正负整数和0
  • Python3 没有长整型限制,只要内存够大,整数可以任意大
a = 10
b = -66
c = 0
d = 9999999999999999999999999999
print(type(a))  # 输出:

小贴士:Python的int类型变量表示的数据范围没有上限,只要内存足够大,理论上就可以表示无限大小的数据。

3.2 float 浮点数

核心特点:

  • 表示带小数的数字,支持科学计数法
  • 采用双精度存储
  • 存在精度损耗,不适合高精度金额计算
f1 = 3.14
f2 = -0.618
f3 = 5e3   # 5*10^3 = 5000.0
print(type(f1)) # 输出:

3.3 bool 布尔类型

核心特点:

  • 只有两个值:TrueFalse
  • 本质是特殊整数(int子类),True = 1False = 0
  • TrueFalse首字母切记要大写
# 取值只有两种:True 和 False
flag1 = True
flag2 = False

# True = 1,False = 0
print(True + 5)                 # 6

# 本质是 int 子类
print(isinstance(True, int))    # True

print(type(flag1))              # 

四、字符串(string)

使用单引号''、双引号""、三引号"""包裹的文本内容,称为字符串

核心特点:

  • 不可变,不能单独修改某一个字符,比如 s[0]='x' 直接报错
  • 支持拼接、切片、长度获取等操作
  • 用来存储文字、符号、中文等文本信息
# 单引号
s1 = 'hello'

# 双引号(可直接嵌套单引号,避免转义)
s2 = "I'm Python"

# 三引号:多行字符串(支持换行,常用于多行文本、文档注释)
s3 = """第一行
第二行"""

# 原始字符串(r 前缀,取消转义字符)
s4 = r'C:Usersname'  # 不会被识别为转义符

print(type(s1))  # 输出:

五、列表(List)

列表是有序可变的元素序列,是Python最灵活、最常用的通用容器。

核心特点:

  • 使用方括号[]定义
  • 可存放任意类型数据
  • 支持任意类型元素增、删、改、查
lst = [10, "张三", 3.14]
lst[0] = 99       # 修改元素,合法
print(type(lst))  # 输出:

六、元组(Tuple)

元组是有序不可变的元素序列,可以理解为只读版本的列表。

核心特点:

  • 使用圆括号()定义
  • 元素一旦定义不能修改,安全性更高
t = (1, 2, "abc")
# t[0] = 5  报错,不允许修改
print(type(t))  # 输出:

七、字典(Dictionary)

字典是键值对({key:value})映射类型,是Python查询效率最高的容器。

  • 使用大括号{key:value}定义
  • key:必须不可变类型(int/str/tuple),唯一不重复
  • value:任意数据类型
dic = {"name":"李四", "age":22, "score":[90,88]}
# 取值
print(dic["name"])
print(type(user))  # 输出:

八、集合(Set)

集合是无序不重复的元素容器,底层基于哈希表实现。

  • 使用大括号{元素}定义
  • 元素唯一,自动去重
  • 常用作去重、交集并集运算
s = {1,2,2,3,3,3}
print(s)       # {1, 2, 3} 自动去重
print(type(s)) # 输出:

全文总结

本文主要讲解了:

  1. type() 查看类型、isinstance() 判断是否属于某类类型;
  2. Python基础类型分为数字、字符串、元组、列表、字典、集合;
  3. 可变/不可变是选择类型的关键依据:修改频繁优先列表,数据固定优先元组。
来源:https://www.jb51.net/python/365751uym.htm

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
用 LlamaIndex 做 RAG 前,先把 Reader、Index、Retriever 的边界写清楚

用 LlamaIndex 做 RAG 前,先把 Reader、Index、Retriever 的边界写清楚

LlamaIndex 不适合用“5 行代码做一个 RAG demo”来判断好坏。那个 demo 只能证明框架能跑通一次,不证明你的数据进入系统后仍然可追踪,不证明检索结果能解释,不证明 Agent 的

时间:2026-07-13 14:05
Go语言AES混淆加密解密敏感数据详解

Go语言AES混淆加密解密敏感数据详解

Go语言AES加密需注意:密钥长度必须为16、24或32字节,否则会引发panic;CBC模式解密乱码常因IV或PKCS7填充错误;GCM模式中nonce不可重用,否则密钥可被恢复;ECB模式因明文块输出固定密文,存在安全风险,不建议使用。

时间:2026-07-13 06:53
C++ std::atomic::wait高性能轮询等待原子变量状态变化

C++ std::atomic::wait高性能轮询等待原子变量状态变化

C++20的std::atomic::wait是轻量级等待机制,需GCC11+ Clang12+及glibc≥2 34,macOS不支持。需与notify配对,注意内存序,循环检查防虚假唤醒。超时版本精度有限,高性能关键在notify时机与内存序正确性。

时间:2026-07-13 06:53
VSCode左侧边栏不见了?快速找回方法

VSCode左侧边栏不见了?快速找回方法

按Ctrl+B或Cmd+B可恢复被误触隐藏的侧边栏。若无效,需检查窗口焦点是否在编辑器、是否处于全屏或Zen模式、workbench activityBar visible配置项、扩展冲突以及远程环境同步问题,并逐一排查。

时间:2026-07-13 06:53
VSCode中利用Node批量修改多媒体文件元数据标签

VSCode中利用Node批量修改多媒体文件元数据标签

music-metadata库支持跨格式读写MP3、FLAC、M4A、WAV等音频元数据,需先用parseFile()初始化,再调用writeMetadata()写入。批量修改前必须验证写入支持,封面图片需为Uint8Array格式。在VSCode终端运行脚本比插件更可控,处理中文路径时需切换终端代码页为UTF-8并指定ID3v2 3版本以避免乱码。

时间:2026-07-13 06:53
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜