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

Python 入门必看:彻底搞懂数据类型、进制转换与类型转换

前言

各位大佬,大家早中晚上好喵~

Python 作为一门简洁、强大且易于学习的编程语言,其灵活的数据类型系统是初学者入门和开发者高效编程的基石。理解 Python 的基本数据类型、掌握不同进制整数的表示与转换方法,以及熟练运用数据类型转换函数,是编写健壮、清晰代码的关键步骤。

本文旨在系统性地梳理这三个核心知识点,通过清晰的分类、实用的代码示例和关键注意事项,帮助您构建扎实的 Python 基础。无论您是刚刚接触 Python,还是希望巩固相关知识,都能从中获得清晰的指引和实用的参考。

一、Python 基本数据类型

Python 作为一门动态类型语言,其数据类型是构建程序的基础。本章聚焦最核心的基本 5 种数据类型以及与之配套的基础函数,帮助初学者快速建立清晰的知识框架。

1.1 数字

  • int(整数):没有小数部分的数字,支持多种进制表示:
    • 十进制:如10-50
    • 二进制:以0b开头,如0b1010
    • 十六进制:以0x开头,如0xFF
    • 八进制:以0o开头,如0o10
  • float(浮点数):带有小数部分的数字,如3.142.0-0.001

1.2 字符串 str

  • 由字符组成的不可变序列,使用单引号或双引号包裹,如"Hello"'Python'

1.3 布尔值 bool

  • 表示逻辑真或假,只有两个值:
    • True:表示真
    • False:表示假

1.4 空值 None

  • None:表示空值或无值,是NoneType的唯一值。

1.5 基础函数

以下是与上述基本数据类型紧密相关的基础函数,在日常编程中频繁使用:

  • input():接收用户输入,返回字符串。
  • print():输出内容到控制台。
  • type():查看对象的类型。
  • int():将值转换为整数。
  • float():将值转换为浮点数。
  • bool():将值转换为布尔值。
  • str():将值转换为字符串。
  • bin():将整数转换为二进制字符串(带0b前缀)。
  • oct():将整数转换为八进制字符串(带0o前缀)。
  • hex():将整数转换为十六进制字符串(带0x前缀)。

二、Python 整数进制转换

Python 支持十进制、二进制、八进制和十六进制整数的表示与相互转换。

2.1 不同进制的字面量表示

运行结果示例:

注:type()代码可以查看变量的数据类型。

2.2 进制转换函数

十进制数可通过特定的代码转换为其他各进制字符串,如下:

  • bin(x):将整数转换为二进制字符串(带0b前缀)。
  • oct(x):将整数转换为八进制字符串(带0o前缀)。
  • hex(x):将整数转换为十六进制字符串(带0x前缀)。

同时其他各进制字符串也可以反向转换为十进制:

  • int(x, base=2):将字符串x按二进制转换为十进制整数。
  • int(x, base=8):将字符串x按八进制转换为十进制整数。
  • int(x, base=16):将字符串x按十六转换为十进制整数。

注意:字符串x需要是对应进制的字符串,例如想要二进制转换为十进制,x的值应为1010。

另外,如果想要自己计算各个进制转十进制的话,有一个万能公式:

同样举一个示例,假如想要计算二级制数值1010为十进制的话,那么转换的一个思路就是,从右往左数发现第二个和第四个位置分别有m=1,那么第四个位置n=4,是几进制底数就为几,那么就是1*2的4-1次方,得出8,然后再算第二个位置的n,就是1*2的2-1次方,得2,相加即得出最终答案10。

2.3 进制转换示例

运行结果示例:

可以看到,bin,oct,hex函数在转换进制之后会在对应数值前方带上进制独有的缩写,例如:

二进制为0b,八进制为0o,十六进制为0x。

三、Python 数据类型转换函数

在 Python 中,不同数据类型之间可以通过内置函数进行显式转换。本章围绕intfloatboolstr四种核心转换函数展开,结合具体的代码示例,帮助大家快速掌握类型转换的用法和常见"坑点"。

3.1 int() —— 转换为整数

int()可以将数字类型的字符串、浮点数或布尔值转换为整数。

  • 将数字字符串转换为整数int("10")返回10。如果字符串表示的是其他进制数字,可以通过base参数指定,如int("10abcd", base=16)会按十六进制解析 "10abcd" 并返回对应的十进制整数。
  • 将浮点数转换为整数int(3.99)返回3,转换时会直接截断小数部分(不是四舍五入,而是向下取整)。
  • 将布尔值转换为整数int(True)返回1int(False)返回0

示例代码:

运行结果:

3.2 float() —— 转换为浮点数

float()可以将数字类型的字符串(最多包含一个小数点)、整数或布尔值转换为浮点数。

  • 将数字字符串转换为浮点数float("111")返回111.0
  • 将整数转换为浮点数float(777)返回777.0
  • 将布尔值转换为浮点数float(True)返回1.0float(False)返回0.0

示例代码:

运行结果:

3.3 bool() —— 转换为布尔值

bool()可以将任意类型的值转换为布尔值。转换规则如下:几乎所有值在转换为布尔值时,只有00.0""(空字符串)、None、空列表[]、空元组()、空字典{}等"空"值为False,其余非空值都为True

示例代码:

运行结果:

3.4 str() —— 转换为字符串

转换为字符串与转换为布尔值用着相似的规则,同样是所有类型都能转换为字符串,甚至在某些方面我认为比布尔值更“自由”,因为万物皆能为字符串嘛。这边就不再粘贴字符串相关的代码截图了。

3.5 转换注意事项

  • 转换可能引发异常,如int("abc")会抛出ValueError,因为"abc"不是合法的数字字符串。
  • 浮点数转整数时截断小数部分(向下取整),不会四舍五入。
  • 并非所有类型之间都能直接转换,转换前需确保操作是合理且有定义的。
  • 使用int()配合base参数时,字符串中的字符必须符合对应进制的表示规则。

结语:小A在这里祝各位大佬无论是学习还是工作中的大佬都能心想事成,步步升高!

关注小A喵,关注小A谢谢喵~

http://www.jsqmd.com/news/1151687/

相关文章:

  • 告别文档堆成山!本地部署知识库,让检索效率翻倍
  • Python dict判空?别再犯傻,一行代码让空字典无处遁形
  • Zabbix搭建及简单使用
  • 毕业论文写作全流程指南:从选题到答辩,2026年最新攻略
  • 艺学启航:线上服务稳不稳定,取决于你的Python部署方案选型
  • npm 安全审计与依赖风险排查:5步构建供应链安全防线
  • Mysql 平衡二叉树、红黑树、B树、B+树区别以及应用场景(五)
  • BERT 与 GPT 架构对比:3 种 Transformer 变体的核心差异与应用场景分析
  • Code Combat | 极客战记 攻略【Kithgard地牢篇 24/42】轰轰
  • Linux tcpdump 命令超全详解:网络抓包与协议分析必备神器
  • 如何避免重新训练,用上下文就可以让世界模型进化?
  • 电脑桌面出现查找工具
  • wordpress企业主题推荐
  • 基于STM32单片机车载儿童防窒息 车载儿童滞留检测安全座椅系统13(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • 2026年优选指南:寻找最靠谱的苦荞全麦片供应商
  • 仅需10分钟数据!RVC语音转换技术如何打破传统壁垒?
  • 影刀RPA Excel数据透视实战:自动汇总分析你的业务数据
  • 公开课报名 | 掌握AI测试智能体,让测试效率轻松翻倍!
  • Python入门必修课:基本数据类型、进制转换与类型转换函数全解析
  • 功能、价格、售后三维大比拼:4 款主流 AI 无人直播系统,最便宜的反而最适合小商家?
  • 告别职业枷锁!《墨香情》手游官网下载,唯美水墨复古武侠,公平生态不氪不肝!
  • 3 种编码器架构对比:RNN vs LSTM vs Transformer 在文本摘要中的性能差异
  • 构建家庭游戏串流平台:Sunshine自托管解决方案深度指南
  • 曲辕RPA-停止监听网页请求
  • 架构师实战+ 大模型实战1.0
  • 如何将联系人从三星转移到 iPhone
  • 180.1.智能药盒提示器-定时+WiFi-基于STM32单片机物联网设计【硬件+APP+云平台】
  • 高晓军:字节跳动兆瓦级算力系统架构设计
  • CFCA精品可可设计师高级大考:将虚幻灵感转化为硬核数据模型,实现表达意图的绝对复现
  • Java 面试:线程池 7 个核心参数怎么理解?