【Python编程日志】Python基础数据类型(一):数字类型

[Python]一、Python基础编程(2) Python2中类分为:经典类 和 新式类在 Python 2 中,类分为经典类(Classic Class)和新式类(New Style Class)。这两者在继承、方法解析顺序(MRO)和其他特性上有所不同。以下是它们的详细说明和示例。### 1. 经典类(Classic Class)经典类是 Python 2 中最早的类类型,通过不继承任何其他类来定义。这种类没有显式的继承基类。#### 示例```python# 创建实例。 阅读详情

在这里插入图片描述
🌈个人主页:聆风吟_
🔥系列专栏:Python编程日志、C标准库
🔖少年有梦不应止于心动,更要付诸行动。


📋前言

前面我们已经完整梳理了Python所有内置数据类型,本篇聚焦最基础的数字类型Number,逐一讲解整数、浮点数、布尔值三大子类型,覆盖进制写法、数学运算规则、浮点精度缺陷、类型强制转换。



一、数字类型总览

Python数字类型专门用于数值存储与数学计算,包含3个子类型:

  1. int:整数
  2. float:浮点数(小数)
  3. bool:布尔类型,是int的子类,仅存在True、False两个取值

使用type()查看变量实际类型,isinstance()可判断继承关系:

a = 10
print(type(a))                # 输出: <class 'int'>
print(isinstance(True, int))  # True


二、int 整数类型

2.1 定义

正数、负数、0 都属于整数;Python3 的 int 没有数值长度上限,超大整数也能正常存储和运算。

num1 = 99
num2 = -50
num3 = 0
big_num = 9999999999999999999999999999
print(type(big_num))  # 输出: <class 'int'>

补充说明:Python3 彻底取消了long长整型,所有整数统一归为int,不再区分短整型、长整型,大幅降低记忆负担。


2.2 不同进制整数字面量写法

默认使用十进制编码;二进制、八进制、十六进制多用于底层开发、编码解析、硬件交互场景。

进制标识前缀示例等价十进制
十进制默认无前缀1818
二进制0b0b1015
八进制0o0o1210
十六进制0x0x1a26
print(0b101)   # 5
print(0o12)    # 10
print(0x1a)    # 26

2.3 进制转换内置函数

Python内置3个整型进制转换函数:bin()、oct()、hex();搭配int()可实现任意进制字符串转回十进制。

(1)bin(num):十进制 → 二进制
返回携带0b前缀的二进制字符串,切片去除前缀即可拿到纯数字:

num = 10
res = bin(num)
print(res)          # '0b1010'
print(res[2:])      # 去掉前缀:'1010'

知识点:s[2:]为字符串切片,代表从索引下标2开始截取至字符串末尾。

(2)oct(num):十进制 → 八进制
返回携带0o前缀的八进制字符串:

num = 10
print(oct(num))     # '0o12'
print(oct(num)[2:]) # '12'

(3)hex(num):十进制 → 十六进制
返回携带0x前缀的小写十六进制字符串,可通过upper()转大写:

num = 31
print(hex(num))         # '0x1f'
print(hex(num)[2:])     # '1f'
print(hex(num).upper()) # '0X1F'

知识点:str.upper()会将字符串内小写英文字母转为大写,数字、符号、中文不受影响;字符串不可变,该方法仅返回新字符串,不会修改原变量。

(4)int() 万能解析:任意进制字符串 → 十进制
语法:int(进制字符串, base=进制基数)

  • base取值范围:2 ~ 36,0-9、a-z依次映射数位数值;
  • 字符串自带0b/0o/0x前缀不影响解析结果。
# 二进制转十进制
print(int('1010', 2))    # 10
print(int('0b1010', 2))  # 10

# 八进制转十进制
print(int('12', 8))      # 10
print(int('0o12', 8))    # 10

# 十六进制转十进制
print(int('1f', 16))     # 31
print(int('0X1F', 16))   # 31

# 36进制(字母z代表数值35)
print(int('z', 36))      # 35


三、float 浮点数类型

3.1 定义

浮点数即带小数点的数值,支持常规小数、科学计数法两种写法:

f1 = 3.14
f2 = -0.5
# e 代表10的幂次
f3 = 1.2e3    # 等价 1.2 * 10^3 = 1200.0
f4 = 5e-2     # 等价 5 * 10^-2 = 0.05
print(type(f1)) # <class 'float'>

补充说明:C/C++、Java区分float单精度、double双精度;Python仅提供float,底层等价于双精度double。


3.2 经典问题:浮点数精度丢失

计算机采用二进制存储小数,无法精确表达部分十进制小数,运算会产生极小尾差:

print(0.1 + 0.2)  # 输出: 0.30000000000000004,而非0.3

解决方案:金融、金额高精度计算使用标准库decimal.Decimal,必须传入字符串构造对象,禁止直接传入浮点数:

from decimal import Decimal
res = Decimal("0.1") + Decimal("0.2")
print(res)  # 精确输出 0.3

3.3 特殊浮点常量

Python支持无穷大、无穷小、非数字nan三种特殊浮点值:

print(float('inf'))    # 正无穷大
print(float('-inf'))   # 负无穷大
print(float('nan'))    # 非数字,无法参与等值比较

print(10 / float('inf'))  # 0.0


四、bool 布尔类型

4.1 定义

布尔类型仅有True、False两个固定值,首字母必须大写;布尔是int子类,数值等价:True=1,False=0,可直接参与算术运算。

flag1 = True
flag2 = False
print(True + 10)   # 11
print(False + 5)   # 5

4.2 布尔真假判定规则

任意数据均可通过bool()强制转换布尔值,判定为False的固定假值清单:
0、0.0、空字符串""、空列表[]、空元组()、空字典{}、空集合set()、None

除此以外所有数据均判定为真值:

print(bool(0))        # False
print(bool(-99))      # True
print(bool(""))       # False
print(bool("Python")) # True


五、数字类型强制转换

5.1 int() 转为整数

  • float转int:直接截断小数部分,不会四舍五入;
  • 纯数字字符串可正常转换;
  • 带小数点的字符串(如"3.14")无法直接用int()转换。
int(3.99)       # 3,截断小数,不四舍五入
int("-66")      # -66
# int("3.14")  # 直接报错

5.2 float() 转为浮点数

整数、合法数字字符串均可转为浮点型:

print(float(7))       # 7.0
print(float("2.28"))  # 2.28

5.3 bool() 转为布尔值

前文已完整演示,常用于空值校验、if条件分支判断。



📝全文总结

本文主要讲解了:

  1. 数字类型分为 int(整数)、float(浮点数)、bool(布尔)三类,布尔是整数子类;

  2. int 整数无大小限制,支持多种进制写法,配套bin/oct/hex/int完成进制互转;

  3. float 底层双精度存储,天然存在精度丢失,金融计算务必使用 Decimal;

  4. bool 继承自 int,仅有两个取值True=1,False=0,是条件判断核心;

  5. int()、float()、bool() 可完成类型互相强制转换。

🔮 下期预告: 下一篇将详解字符串 str,包含索引、切片、转义字符、格式化输出以及高频内置方法。

今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!
在这里插入图片描述

Python asyncio 异步编程中的日志记录 想象你是一个餐厅的服务员,同时要照顾好几桌客人的需求。但要是你能在给一桌客人下单后,利用等待厨房做菜的时间去给其他桌客人提供服务,这样就能在同样的时间里服务更多的客人,大大提高效率。Python 的异步编程就有点像这种高效的服务模式,而日志记录就像是服务员记录每桌客人的服务情况,方便后续查看和分析。比如,当程序出现错误时,通过查看日志,你可以知道错误发生在哪个异步任务中,什么时候发生的。接下来,我们将先了解异步编程和日志记录的相关概念,然后学习如何在异步程序中进行日志记录,最后通过实际案例来巩固所学知识。 阅读详情

相关推荐

第10章 Python数据类型详解之分解理解 数字类型

场景推荐类型注意事项服务器计数/端口号int避免意外转换为浮点数CPU/内存监控float阈值比较时使用范围检查(如x > 80.0精确成本/告警阈值计算Decimal优先用字符串初始化(服务状态判断bool显式检查(位掩码操作int使用二进制字面量(0b1010关键原则类型明确:避免隐式转换,必要时显式声明(如精度敏感场景用Decimal:财务计算、告警阈值判断。布尔逻辑简洁化:利用any()all()处理多条件判断。掌握这些细节,您将能写出更健壮、精确的运维自动化脚本!🚀。

老韩的Linux云计算架构师进阶之路 141

【Python编程日志】Python基础数据类型完整梳理

本文梳理 Python 内置基础数据类型,介绍type()、isinstance()查看判断类型;按是否可变划分两大类,逐一介绍了数字、字符串、列表等六种类型特性与用法,给出选型思路,为后续细分学习铺垫。

聆风吟的博客 4150

FreeRTOS-Plus-CLI在STM32F429上的高效移植与调试技巧

本文详细介绍了如何将FreeRTOS-Plus-CLI高效移植到STM32F429平台,并分享关键的调试技巧。内容涵盖使用HAL库进行底层驱动适配(特别是DMA+IDLE中断方案)、工程集成、自定义命令开发以及常见问题解决方案,旨在帮助开发者快速为嵌入式系统添加强大的命令行调试接口,提升开发与维护效率。

weixin_29224309的博客 330

一、Python编程基础01

Python 目前存在两个版本:Python2Python3(主流使用)定义就是指 存储数据变量名 = 数据值 # 简单理解将等号右边的数据值 存入等号左边的变量中① 变量名自定义,需要遵守变量名命名规则② 变量值可以为不同类型的数据,字符串、整数、小数(浮点数)、元组、字典、列表等③ = 表示赋值使用使用: 是指使用变量中存储的数据语法: 直接使用即可, 即直接使用变量名 来代替存储的数据, 不能加引号案例。

Htw18705081160的博客 1137

Unity新手必看:5分钟搞定TextMeshPro中文乱码,告别小方块(附7000+常用字库)

本文详细介绍了Unity中TextMeshPro中文乱码问题的解决方案,包括快速生成中文字体的步骤和优化技巧。通过使用支持中文的.ttf字体文件和自定义字符集,开发者可以在5分钟内解决TMP显示小方块的问题,提升游戏或应用的文本显示效果。

weixin_33095355的博客 359

【知识点总结】电路原理 第一讲

大家好,从今天起,我将开始更新自上大学以来所学到的各种知识,之所以选择更新它们是因为最近我一直在收拾整理自己自上大学以来所收获到的各种知识,看着那厚厚一沓的书本心里不由得犯愁。如果我想找到特定的知识,那岂不是得翻到猴年马月。俗话说得好,下雨天打鞋子,闲着也是闲着,为此我设置一个专栏,将知识点一一分类总结,目的在于更好的整理所学的知识。本人学艺不精,有一些知识点地方可能存在瑕疵,希望各位大佬可以多多指教。以下是本篇文章正文内容虚断:一般通用性运算放大器的正反向输入端之间的电阻非常非常的大。

weixin_51130221的博客 4万+

Python编程:日志打印

在 Python 中,日志打印(logging)是一种比使用 print() 更强大、灵活且可维护的方式来输出调试信息、运行状态或错误信息。Python 标准库中自带了 logging 模块,可以用于记录日志并控制日志级别、格式、输出位置等。

倔强老吕的博客 1344

PWM(脉宽调制)技术详解:从基础到应用实践示例

PWM(脉宽调制)技术是嵌入式系统中一项重要的控制技术,通过调节脉冲宽度来实现对模拟设备的精准控制。从LED亮度到电机速度,PWM的应用场景非常广泛。对于嵌入式学习者来说,理解PWM的工作原理、掌握其配置方法,不仅能提升编程能力,还能为更多复杂系统的开发打下坚实的基础。

SpringWJN的博客 6309

《python编程基础及应用》,python基础编程例子

python崇尚简介,所以在上述的代码中,并没有先定义变量的数据类型,然后再赋值,本小结主要扩展下元组的其他定义方式,赋值和定义算成一步了。# 一下多种赋值方式都是为元组。

yang0728y的博客 1102

calibre QRC提取寄生参数

typical将上面的文件QCI_flow里面的文件 在Cp 到当前 ,其实应该是某几个文件,但是我给忘记了 就全cp过来了 ,无影响,不过也希望大佬指正。

2202_75711937的博客 1505

Trustzone/TEE/安全 面试100问-目录

关键词:cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频,cache视频、mmu视频,armv8视频、armv9视频、FF-A视频、密码学视频、RME/CCA视频、学习资料下载、免费学习资料、免费 周贺贺,baron,代码改变世界ctw,Arm精选, 资深安全架构专家,十年手机安全/SOC底层安全开发经验。擅长trustzone/tee安全产品的设计

baron-周贺贺-代码改变世界ctw 647

【Python编程日志】Python基础语法:常量 | 表达式 | 变量

本文讲解Python基础语法中的变量、常量与表达式。变量是可修改的数据容器,有明确命名规范;常量以全大写命名约定不可改动;表达式由数据和运算符组成并产生运算结果,三者是Python数据存储与运算的基础。

聆风吟的博客 5330

SAP_MM/CO模块-超详细的CK11N/CK40N取值逻辑梳理(十几种业务场景,1.76W字)

本文主要讲述的是三个大的知识点,超详细,涉及到知识点比较多,并且串起来讲解,这也是我在网上搜不到相关资料才自己慢慢研究测试出来的,断断续续耗费了我一周多时间,相信只要你们认真看完,肯定会有所收获; 1、CK11N/CK40N成本发布功能中,系统前台的取数逻辑,涉及到多个采购信息记录、生产版本、货源清单、配额协议等对成本价发布的影响~~!! 2、CK11N与CK40N发布的成本价不一致的问题~~!! 3、如何处理外协加工物料的外协价与BOM组件成本取值不匹配的问题~~!!

风沙的博客 4049

Python基础 - 数字类型转换为字符串类型

本文系统介绍了Python中将数字类型转换为字符串类型的各种方法及其应用场景。主要内容包括: 基础转换方法:使用str()函数实现简单高效的转换,适合不需要格式化的场景。 格式化转换方法: 旧式%格式化(C风格) str.format()方法 f-string(Python 3.6+推荐) 特殊转换技巧: 处理大数字(科学计数法) 处理复数 进制转换(二进制、八进制、十六进制) 性能优化:不同转换方法的性能对比及选择建议。 最佳实践: 优先使用f-string(Python 3.6+) 金融计算推荐使用de

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

Matlab 曲面平滑与点云处理

曲面平滑是一种常见的数学和计算机图形学技术,可以用来消除噪声、填补数据间隙,以及改善曲面的外观。在点云处理中,曲面平滑也被广泛应用于重建、拟合和可视化等领域。本文将介绍如何使用 Matlab 进行曲面平滑和点云处理,并提供相应的源代码。通过以上步骤,我们可以使用 Matlab 进行曲面平滑和点云处理。你可以根据具体需求调整参数和算法,以获得理想的曲面平滑效果。接下来,我们可以使用平滑算法对三角化的网格进行曲面平滑。以上代码将绘制原始点云和重建后的点云,并在图形中显示坐标轴和图例。表示平滑的迭代次数。

QfcaLinux的博客 745

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Python 自动化运维:Python基础知识

首先,企业在进行数据采集时,需确保所获取的数据是经过用户同意的,用户应当清楚其数据将如何被使用。其次,数据的存储和处理过程应保证数据的安全性,防止未授权的访问和数据泄露。透明的数据使用政策和负责任的行为能够增强用户的信任感,使他们愿意共享数据,从而推动科技的进步与发展。这样的日志记录不仅能够帮助企业追踪数据使用情况,还能为用户提供信心,确保数据在处理中的安全性和合规性。确保用户了解其数据如何被收集、处理和使用,不仅能够提高用户的信任度,还能促进企业和机构在数据使用中的自律。库计算人口统计差异。

switch616的博客 1491

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

《Python 修炼全景指南:一》Python基础入门:从环境搭建到第一个程序

本文从零基础出发,系统介绍了 Python 的核心入门知识。首先回顾了 Python 的发展背景与应用领域,帮助读者建立整体认知;随后深入讲解了 Python 的执行原理与多种实现方式。文章重点演示了在 CentOS 环境下安装 Python 的多种方法,并详细介绍了 pip 包管理与虚拟环境的使用规范。在实践部分,通过编写第一个 “Hello, World!” 程序,引出变量、数据类型及基本语法的讲解。最后结合 input 交互与常用命令,总结开发必备技能,帮助读者打下扎实基础。

Lenyiin 3231

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

python学习日志

print("每日增长系数: %.1f, 经过7天增长后,股价达到了: %.2f" % (stock_price_daily_growth_factor, finally_stock_price)) # 要求使用%占位符输出。print语句中不加双引号,加双引号就不是数字,而是数字的字符串,如print("棒骨哈英")与print(""棒骨哈英"")print(f"公司 :{name},股票代码:{stock_code},当前股价: {stock_price}") # 要求使用f"{变量}"的方式输出。

qq_58739767的博客 1082

Python编程基础练习与实战技巧

编程语言的学习离不开扎实的基础练习,Python作为当前最流行的通用编程语言,其核心优势在于简洁的语法和丰富的实践场景。理解变量作用域、循环控制、异常处理等基础概念是构建编程思维的关键,这些基础元素通过函数封装和模块化组织可以形成可复用的代码单元。在实际工程中,良好的练习习惯能有效避免数据类型转换异常、模块导入错误等常见问题。本文以Python为例,详细解析如何通过温度转换、字符串格式化等经典案例掌握核心语法,并演示如何用列表推导式、字典替代条件判断等Pythonic写法提升代码质量。针对面向对象编程,重点

weixin_33857679的博客 488

全网最适合入门的面向对象编程教程:42 Python常用复合数据类型-collections容器数据类型

在Python中,collections模块提供了一组高效、功能强大的容器数据类型,扩展了内置的基础数据类型(如list、tuple、dict等),这些容器数据类型在处理特定问题时,能够提供更简洁、更高效的解决方案。

weixin_44719294的博客 3264

[编程基础] Python日志记录库logging总结

Python日志记录教程展示了如何使用日志记录模块在Python中进行日志记录。 文章目录1 介绍1.1 背景1.2 Python日志记录模块1.3 根记录器2 Python logging模块使用教程2.1 Python logging模块简单使用2.2 Python有效日志记录级别2.3 Python有效日志记录级别2.4 Python记录处理程序2.5 Python记录格式化程序2.6 Python日志基本配置2.7 Python日志记录文件配置2.8 Python日志记录变量2.9 Python日志

You and Me 1244

Python 六大数据类型全面解析

int(整数):无小数部分的整数,可正可负,支持任意大小(无需担心溢出)。a = 10(正整数)、b = -5(负整数)、c = 0(零)、(极大整数,Python 原生支持)。float(浮点数):带小数部分的数值,本质是二进制浮点数(可能存在精度误差)。e = 3.14f = -0.5g = 2.02.0是 float,而非 int)、h = 1e5(科学计数法,等价于100000.0complex(复数):由实部和虚部组成的数值,虚部用j或J表示。i = 3 + 4j。

2403_89241132的博客 2025

【邵奈一】Python爬虫专栏(一)之Python爬虫热身

教程目录0x00 教程内容0x01 Python环境准备1. Windows环境2. MacOS环境0x02 Python语法熟悉1. Python模拟日志生成例子2. 语法示例URL IP信息 referer 状态码 日志访问时间0xFF 总结 0x00 教程内容 为什么要学习Python 学会安装好Python环境 熟悉Python的语法 Python爬虫初体验 学习前提: 1、需要有编程基础,可以不熟悉Python。 0x01 Python环境准备 1. W

邵奈一的博客 697

python基础之数据类型-面向对象

人生苦短,Python當歌! 此篇博客是本人学习python过程中,总结的基础知识点,希望可以帮到有需要的朋友,如有不足或错误之处,希望评论指出,感谢大家!! 第一章 计算机基础 1.1 硬件 ​ 计算机的硬件由:CPU /内存 /主板 /硬盘 /显卡等组成 ​ 内存: ​ 优点:存取速度快 ​ 缺点:断电后数据全部丢失 ​ 硬盘: ​ 优点:断电后数据也会永久保存 ​ 缺点:存取速...

azzi28964的博客 698

小白从0开始的python学习日志(一)

小白文,主要记录学习笔记,内容包括markdown和计算机一些基础知识,希望与各位共勉

BlackLakeBob的博客 1010

编程入门必看 :Python 中如何高效完美地处理日志记录?

优雅地处理日志对于应用程序的健康运行至关重要。logging模块为开发者提供了多种方法来记录和管理日志信息。从基础的配置到高级的处理器和过滤器,在本文中全面探讨了 Python 中如何优雅地处理日志。如果大家对Python感兴趣,那么这套python学习资料一定对你有用这如果你是零基础小白,想快速入门Python是可以考虑的。一方面是学习时间相对较短,学习内容更全面更集中。二方面是可以根据这些资料规划好学习计划和方向。

python03012的博客 1195
上一篇: 【Python编程日志】Python基础数据类型完整梳理
下一篇: 【Python编程日志】Python 运算符初阶:算术 | 赋值 | 比较 | 逻辑运算符
聆风吟_
聆风吟_ 新星创作者: 编程框架技术领域 新星创作者: 编程框架技术领域
博客等级 码龄3年 1万+粉丝 150原创
评论 47
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聆风吟_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值