Python:布尔类型

在 Python 中,布尔类型(bool)是最基本的数据类型之一,用于表示逻辑上的真与假。

它只有两个取值:True 和 False,是 int 类型的子类。

bool

布尔对象。逻辑值,仅有 True 与 False 两个常量。

在数值运算中,True 等价于 1,False 等价于 0。

1、表示方法

a = True       # 布尔真值b = False      # 布尔假值 print(int(True))   # 1print(int(False))  # 0print(True + 5)    # 6 → 等价于 1 + 5

2、布尔运算符

Python 提供了逻辑运算符来操作布尔值:

print(True and False)  # False → 与运算print(True or False)   # True  → 或运算print(not True)        # False → 取反

3、比较运算符

比较运算的结果总是布尔值:

print(5 > 3)      # Trueprint(5 == 3)     # Falseprint(5 != 3)     # Trueprint(3 <= 3)     # True

4、布尔上下文

在条件语句或循环中,Python 会自动将对象转换为布尔值。

以下对象在布尔上下文中被视为 False:

🔹 None

🔹 False

🔹 数值 0(包括 0.0、0j 等)

🔹 空序列("", [], ())

🔹 空集合或字典(set(), {})

其它对象默认视为 True。

if []:    print("非空")else:    print("空对象")  # 输出此行

5、常用函数

print(bool(0))        # False → 0 转换为 Falseprint(bool(3.14))     # True  → 非零数为 Trueprint(bool(""))       # False → 空字符串为 Falseprint(bool("hi"))     # True  → 非空字符串为 True print(isinstance(True, int))   # True → bool 是 int 的子类

6、特别说明

(1)bool 是 int 的子类,继承了整数的行为,但只有两个取值。

(2)在数值计算中,True == 1,False == 0,但推荐在逻辑场景中使用布尔值。

(3)与布尔相关的逻辑函数还包括 all() 和 any():

print(all([True, 1, "ok"]))  # True → 所有元素为真print(any([0, "", False]))   # False → 全部为假print(any([0, "", 5]))       # True → 至少一个为真

(4)布尔值在控制流中极为常见,例如:

items = [1, 2, 3]if items:           # 利用真值特性,非空列表为 True    print("not empty")

提示:避免写成 if flag == True:,推荐直接写成 if flag:。

📘 小结

布尔类型 bool 是 Python 中的基础逻辑类型,仅有 True 和 False 两个值,本质上是 int 的子类(True==1,False==0)。它主要用于条件判断和逻辑运算,并在控制流中随处可见。除了常用的逻辑运算符(and、or、not),还可以结合内置函数 all() 与 any() 进行聚合判断。

“点赞有美意,赞赏是鼓励”

Read more

什么是 JWT?一文彻底搞懂 JSON Web Token(附 Spring Boot 实战)

视频看了几百小时还迷糊?关注我,几分钟让你秒懂! 你是否经常听到这些词: * “我们用 JWT 做登录认证” * “前端把 token 放在 Authorization 头里” * “JWT 无状态,适合分布式系统” 但你真的理解 JWT 到底是什么?它怎么工作?和 Session 有什么区别? 吗? 今天我们就用 通俗语言 + 图解 + Spring Boot 代码实战,带你从零彻底搞懂 JWT! 🧩 一、一句话解释 JWT JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络应用间安全地传递“声明”(claims)的紧凑、自包含令牌。 简单说:JWT 就是一个加密的字符串,里面包含了用户身份信息,

By Ne0inhk

从数学概率到神经网络:双色球预测的算法演进史

从数学概率到神经网络:双色球预测的算法演进史 彩票预测一直是数学家和计算机科学家们热衷探索的领域。双色球作为一种典型的随机游戏,其预测方法经历了从传统概率统计到现代深度学习的演变过程。本文将带您回顾这一技术发展历程,分析不同算法的原理与效果,并探讨未来可能的发展方向。 1. 传统概率统计方法的探索 早期的双色球预测主要依赖概率统计理论。数学家们试图通过分析历史数据中的数字分布规律来预测未来结果。这种方法基于一个基本假设:虽然每次开奖都是独立事件,但长期来看数字出现频率会趋于均衡。 常见概率统计方法包括: * 频率分析法:统计各号码的历史出现频率,认为出现次数较少的号码"更有可能"在未来出现 * 间隔分析法:计算号码连续未出现的期数,预测"冷号"和"热号" * 和值分析法:研究红球号码总和的历史分布规律 * 奇偶比分析法:分析奇数和偶数号码的比例关系 这些方法虽然简单直观,但存在明显局限。双色球本质上是一个独立随机事件,每次开奖结果不受历史影响。统计规律只能提供参考,无法保证预测准确性。 注意:概率统计方法更适合分析长期趋势,对单期预测的指导意义有限。 2.

By Ne0inhk
【排序算法】快速排序、冒泡排序

【排序算法】快速排序、冒泡排序

文章目录 * 快速排序 * 1.hoare版本(左右指针法) * 时间复杂度、空间复杂度分析 * 优化——三数取中法 * 2.挖坑法 * 3.前后指针版本 * 优化:小区间优化 * 快速排序非递归代码——借助栈 * 冒泡排序 * 时间复杂度 快速排序 1.hoare版本(左右指针法) 代码: intPartSort1(int* a,int left,int right){// 使用三数取中法获取基准值的下标int midi =GetMidi(a, left, right);Swap(&a[left],&a[midi]);// 将基准值移到最左边int keyi = left;// 基准值的下标while(left <

By Ne0inhk
MMDetection3D 所有核心Backbone、Neck、数据集类型、完整模型算法详细剖析(超详细)

MMDetection3D 所有核心Backbone、Neck、数据集类型、完整模型算法详细剖析(超详细)

🎯 框架定位 MMDetection3D 是 OpenMMLab 生态中专注于3D目标检测、3D语义分割、多模态感知的工业级框架,支持点云、单/多视角图像、多传感器融合等输入,广泛适配自动驾驶、机器人导航、工业质检等场景。其模块化设计(Backbone→Neck→Head)与 MMSegmentation 完全对齐,可快速复用2D生态的成熟模块。 🔧 一、MMDetection3D 所有核心 Backbone(骨干网络) Backbone 是3D感知的特征提取核心,负责从原始3D数据(点云/体素/图像)中提取底层特征,支持三类骨干,所有Backbone均可在配置文件中通过backbone:字段直接调用,部分支持预训练权重加载。 1. 点云专用 Backbone(3D 特征提取核心) 专为点云稀疏性、无序性设计的骨干,是3D感知的基础核心。 BackboneMMDetection3D 配置标识核心特点适配场景PointNet++PointNet2Backbone多尺度分组(MSG/

By Ne0inhk