当前位置: 首页 > news >正文

Python3 数据类型(小白版)

Python3 中的数据类型是编程的基础,用来定义数据的存储形式和操作规则。Python 是弱类型语言(无需提前声明类型,赋值自动推导),数据类型整体分为基本数据类型复合数据类型两大类,下面逐一讲解。

一、数据类型总览

Python3 标准数据类型分为:

  1. 基本数据类型(存单个值):数字、字符串、布尔值、空值
  2. 复合数据类型(存多个值):列表、元组、字典、集合

二、基本数据类型

1. 数字类型(Numbers)

用来存储数值,分为整型、浮点型、复数型,不可变(修改值会重新创建)。

(1)整型(int)
  • 存储整数,无大小限制(支持正整数、负整数、0)
  • 支持二进制(0b开头)、八进制(0o开头)、十六进制(0x开头)
a=10# 十进制整数b=-5# 负整数c=0b1010# 二进制,等于10d=0x1a# 十六进制,等于26print(type(a))# 查看类型:<class 'int'>
(2)浮点型(float)
  • 存储小数,支持科学计数法
x=3.14# 普通小数y=-0.5# 负小数z=2e3# 科学计数法,等于2000.0print(type(x))# <class 'float'>
(3)复数型(complex)
  • 存储复数,格式:实部 + 虚部j(j必须写)
num=3+4jprint(num.real)# 实部:3.0print(num.imag)# 虚部:4.0

2. 字符串类型(str)

  • 存储文本数据,用单引号、双引号、三引号包裹
  • 不可变(修改字符串会生成新字符串)
  • 支持索引、切片、拼接
# 定义字符串s1='Hello'# 单引号s2="Python"# 双引号s3='''多行字符串 可以换行写'''# 三引号(支持多行)# 常用操作print(s1+s2)# 拼接:HelloPythonprint(s1[0])# 索引取字符:Hprint(s1[1:4])# 切片:ell

3. 布尔类型(bool)

  • 只有两个值:True(真)False(假)
  • 本质是int的子类(True=1,False=0)
  • 常用于条件判断、循环控制
is_student=Trueis_teacher=Falseprint(1>2)# 条件判断返回Falseprint(True+1)# 结果:2

4. 空值类型(NoneType)

  • 只有一个值:None,表示空、无、未赋值
  • 不等于0、空字符串、False,是独立类型
data=Noneprint(type(data))# <class 'NoneType'>

三、复合数据类型

1. 列表(list)

  • 最常用的有序、可变序列,用[]包裹
  • 可存储不同类型的数据(数字、字符串、列表等)
  • 支持增删改查操作
# 定义列表lst=[1,"python",3.14,True]# 常用操作lst[0]=100# 修改元素:[100, "python", 3.14, True]lst.append(5)# 末尾添加元素print(lst[1])# 索引取值:python

2. 元组(tuple)

  • 有序、不可变序列,用()包裹
  • 一旦定义,不能修改元素(比列表更安全)
  • 只有1个元素时,必须加逗号:(1,)
# 定义元组tpl=(10,"java",2.5)# 取值(和列表一致)print(tpl[0])# 10# 尝试修改会报错!# tpl[0] = 20 # 报错:TypeError

3. 字典(dict)

  • 无序(3.7+有序)、可变键值对集合,用{}包裹
  • 键(key)必须唯一、不可变(int/str/tuple),值(value)可任意类型
  • 快速取值,效率最高
# 定义字典(键: 值)person={"name":"张三","age":20,"is_student":True}# 常用操作print(person["name"])# 取值:张三person["age"]=21# 修改值person["gender"]="男"# 添加键值对

4. 集合(set)

  • 无序、不重复的集合,用{}包裹(空集合必须用set()
  • 自动去重,支持交集、并集、差集运算
  • 不能存储可变类型(列表、字典)
# 定义集合(自动去重)s={1,2,2,3,"python"}print(s)# {1,2,3,"python"}# 集合运算a={1,2,3}b={3,4,5}print(a&b)# 交集:{3}print(a|b)# 并集:{1,2,3,4,5}

四、核心知识点:可变 vs 不可变类型

  1. 不可变类型:修改值会创建新对象,原数据不变
    • int、float、str、bool、tuple、None
  2. 可变类型:直接修改原数据,不创建新对象
    • list、dict、set

五、常用类型判断与转换

1. 查看数据类型:type()

print(type(10))# <class 'int'>print(type([1,2]))# <class 'list'>

2. 类型转换

# 转整型int("10")# 10# 转字符串str(123)# "123"# 转列表list((1,2))# [1,2]# 转布尔值bool(0)# False

总结

  1. Python3 数据类型分基本类型(int/float/str/bool/None)和复合类型(list/tuple/dict/set)
  2. 核心区别:可变(list/dict/set)vs不可变(int/str/tuple)
  3. 日常开发:列表存有序数据、字典存键值对、字符串存文本、数字存数值
http://www.jsqmd.com/news/965251/

相关文章:

  • Halcon畸变校正保姆级教程:从打印网格到罐头图像矫正的完整流程(附Grid-Rectification源码解析)
  • 3分钟搞定!WinDiskWriter:Mac上制作Windows启动盘的终极免费方案
  • 爱校哥希沃一体机租赁,价格多少钱? - myqiye
  • 别再为字库芯片发愁了!手把手教你用STM32 SPI驱动GT20L16S1Y显示中英文(附完整代码)
  • 洛雪音乐音源终极配置指南:打造高效全网音乐聚合平台
  • Python信号处理实战:用Scipy的medfilt搞定MIT-BIH心电数据基线漂移
  • 3个核心功能让LabelLLM成为你的AI数据标注效率加速器
  • Web3 钱包集成与多链适配:基于 WalletConnect V2 的钱包连接、会话调谐与 Session 签名认证实践
  • 别再死记硬背Dockerfile指令了!用这5个真实项目模板,效率翻倍
  • Python3 函数(小白版)
  • 2026年琉璃瓦加工厂品牌推荐,哪家团队专业? - myqiye
  • SRA数据下载太慢?试试用 Aspera 加速你的 SRA Toolkit 数据获取流程
  • day 2:RAG 快速原型实现计划
  • 魔改U性价比神器QNCW上车记:手把手教你用CH341A给华擎B365M Pro4刷BIOS
  • 001 声波、超声波与次声波简介
  • SAP开发者必备:如何用BAPI_INCOMINGINVOICE_PARK批量处理采购预制发票及后台表(EKBE/BKPF)取值逻辑
  • 华硕笔记本终极轻量控制神器:G-Helper完全使用指南
  • Betaflight黑匣子:飞行数据记录的终极指南与实战技巧
  • STM32F030用软件SPI驱动74HC165读取8路按键(附CubeMX配置与完整代码)
  • 一个人写了一套店群矩阵自动化软件:我是如何把8人运营成本从月薪6万降到8千的
  • 空间资源配置中的均匀性原则与随机几何图模型
  • 华大HC32F460 Bootloader实战:从Flash分区到Keil地址设置,手把手带你避坑
  • AutoLisp字段表达式全解析:从‘%<\AcObjProp’到动态文字,一篇看懂
  • 2026年舞台美术色彩诊断培训课程价格排行 - myqiye
  • AI生成内容能否过审?CSDN最新算法风控阈值曝光,92.6%的定时发布失败源于这1个隐藏字段!
  • 内网离线方式Docker安装Elasticsearch
  • ClickHouse 高频写入的 Parts 雪崩:从 Too Many Parts 到可控背压的工程实践
  • 影刀RPA教程:从零开发TikTok店群全自动运营软件,一人管理200店零封号(附系统架构)
  • 第三篇:SpringAI 入门 03|20 + 向量库汇总 + FunctionCall、文档 ETL、AI 评测详解
  • 快速验证AI模型效果:用快马平台十分钟搭建多模型对话原型