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

【数据结构】二叉搜索树 C++ 简单实现:增删查改全攻略

【数据结构】二叉搜索树 C++ 简单实现:增删查改全攻略

目录 前言: 1、什么是二叉搜索树? 2、二叉搜索树性能分析 3、key类型二叉搜索树的实现 节点结构 类结构 3.1、插入 3.2、中序遍历 3.3、查找 3.4、删除 4、key_value类型二叉搜索树的实现 节点结构 类结构 4.1、构造函数 4.1.1 默认构造 4.1.2 拷贝构造 4.2、赋值重载 4.3、析构 4.4、插入 总结 前言: 今天这篇,

By Ne0inhk
分治算法——优选算法

分治算法——优选算法

本章我们要学习的是分治算法,顾名思义就是分而治之,把大问题分为多个相同的子问题进行处理,其中我们熟知的快速排序和归并排序用的就是分治算法,所以我们需要重新回顾一下这两个排序。 一、快速排序(三路划分) 1.算法思想:         首先从数列中确定一个需要排序的数(记为key),把所有key排到它的正确位置(即排序后它的位置),然后同样的方法,使用递归(分治思想)把小于key的区间与大于key的区间进行排序,直到这个区间不存在或只有一个元素时返回。         具体方法:从左到右遍历数组,并且我们使用三个变量(left,mid,right)把数组划分为四个区间,分别表示小于key,等于key,未遍历,大于key。而mid位置就是此时遍历到的数,判断这个数与key的关系,然后把它放在对应的区间。再用同样方法将大于key和小于key的区间排序。         注意:在此快速排序我使用了三路划分的优化方法,和对key取用随机值,这样比普通的快速排序效率要高得多,而且是一种很实用的分治算法。 2.代码实现: vector<int> sortArra

By Ne0inhk
AI4CAD:利用 Python 实现 SolidWorks 自动化建模小尝试(基于Python的Solidworks二次开发)

AI4CAD:利用 Python 实现 SolidWorks 自动化建模小尝试(基于Python的Solidworks二次开发)

近年来,AI 已经逐渐渗透到我们工作的方方面面。你是否曾想过,如果建模也能交给 AI 来完成,我们只需告诉它:“帮我画一个杯子,高 12 厘米,直径 8 厘米,壁厚 2 毫米”,它就能自动完成?这听起来可能像是未来科幻,但如今借助 SolidWorks 的开放接口和 Python 的强大生态,我们正一步步迈向这个目标。 🧠 AI 建模设想:告诉它“我要一个杯子” 想象一个未来的建模流程: 你说:“我要一个杯子” AI 追问:“多高?多大直径?底厚多少?是否带把手?” 你回答参数 AI 自动在 SolidWorks 中建模并保存。 当然以上还只是个美好的幻想,想要实现还需要发展自动化建模技术以及大语言模型交互。 这里我基于pycharm+anaconda实现了与SolidWorks 的关联,实现了以下小操作:

By Ne0inhk
IPIDEA网页抓取API实战:全自动化实现eBay商品数据采集与Python接入

IPIDEA网页抓取API实战:全自动化实现eBay商品数据采集与Python接入

前言:跨境电商数据采集痛点与需求 随着跨境电商、数据驱动决策以及AI模型训练的需求不断增长,开发者与企业需要稳定、合规、可规模化 的网页数据抓取方案。但实际落地往往困难重重:高强度抓取、IP无法访问、JS渲染、数据格式不统一,这些让数据采集的技术门槛与成本居高不下。本篇将带你实操IPIDEA网页抓取API,并构建一个 可直接投入使用的eBay商品信息采集工具,一步步完成抓取、解析到下载的全过程,帮助你快速掌握全球电商数据采集的核心方法。 为什么需要网页抓取API 在跨境电商运营、市场竞品调研、AI模型训练等核心业务场景中,企业与开发者往往需要获取公开的电商商品信息、竞品动态等关键数据,但直接开展数据采集工作会面临三大核心痛点: 抓取门槛居高不下:Amazon、eBay等主流平台普遍部署了验证码校验、IP访问管理、JS动态渲染等多重抓取机制,若自研抓取系统,不仅需要持续投入人力进行技术突破与迭代,还会面临采集稳定性差、数据获取中断等问题,综合成本居高不下 合规风险难以规避:未经合规授权的公开数据采集行为,容易触碰GDPR、CCPA等国际数据合规法规;同时普通代理IP无法满足 “

By Ne0inhk