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

Python 基础语法与数据类型(四) - 布尔类型 (bool) 与逻辑运算符 (and, or, not) 和类型转换

文章目录

      • 布尔类型 (bool)
      • 逻辑运算符 (and, or, not)
      • 布尔值的“真值”判断 (Truthiness / Falsiness)
      • 类型转换 (Type Casting)
      • 总结

在前面的文章中,我们学习了数字类型(整型、浮点型)和字符串。今天,我们要介绍另一种非常基础且极其重要的数据类型:布尔类型 (bool)。布尔类型是编程中进行逻辑判断和控制程序流程的基础。我们还会学习如何使用逻辑运算符组合布尔值,以及如何在不同数据类型之间进行转换

布尔类型 (bool)

布尔类型只有两个可能的值:TrueFalse。它们是 Python 内置的关键字,注意首字母大写。

布尔值通常是比较表达式的结果。在 Python 中,可以使用各种比较运算符来生成布尔值:

  • ==:等于
  • !=:不等于
  • >:大于
  • <:小于
  • >=:大于或等于
  • <=:小于或等于

让我们看一些例子:

# 比较数字
print(10 == 10) # 输出: True
print(5 > 10)   # 输出: False
print(20 <= 20) # 输出: True
print(100 != 50) # 输出: True# 比较字符串 (按字典顺序)
print("apple" == "apple") # 输出: True
print("apple" > "banana") # 输出: False
print("Python" != "python") # 输出: True (区分大小写)# 比较其他类型
print(True == 1) # 输出: True (在数值语境下,True 被视为 1,False 被视为 0)
print(False == 0) # 输出: True
print("Hello" == "hello") # 输出: False# 获取变量的布尔值
is_equal = (10 == 10)
is_greater = (5 > 10)
print(is_equal)  # 输出: True
print(is_greater) # 输出: Falseprint(type(is_equal)) # 输出: <class 'bool'>

布尔值是程序做出决策的基石。例如,在条件语句(如 if 语句,我们后面会学到)中,程序会根据布尔值的真假来决定执行哪部分代码。

逻辑运算符 (and, or, not)

逻辑运算符用于组合或修改布尔表达式。Python 中有三个主要的逻辑运算符:andornot

  1. and (逻辑与):
    如果 and 两边的布尔值True,则结果为 True;否则,结果为 False

    ABA and B
    TrueTrueTrue
    TrueFalseFalse
    FalseTrueFalse
    FalseFalseFalse
    print(True and True)   # 输出: True
    print(True and False)  # 输出: False
    print(False and True)  # 输出: False
    print(False and False) # 输出: False# 结合比较表达式
    age = 25
    has_ticket = True
    is_allowed = (age >= 18) and has_ticket
    print(is_allowed) # 输出: True (因为 age >= 18 是 True,has_ticket 是 True)age = 16
    is_allowed = (age >= 18) and has_ticket
    print(is_allowed) # 输出: False (因为 age >= 18 是 False)
    

    短路求值 (Short-circuit Evaluation): and 运算符有一个特性叫做短路求值。如果 and 左边的表达式已经为 False,那么 Python 就不会再计算右边的表达式了,因为无论右边是什么,整个 and 表达式的结果都一定是 False

    # 示例: 如果第一个条件是 False,第二个条件(可能导致错误)就不会执行
    # def might_raise_error():
    #    print("Executing second part...")
    #    # ... 这里的代码可能出错 ...
    #    return True# print(False and might_raise_error()) # might_raise_error() 不会执行,直接输出 False
    
  2. or (逻辑或):
    如果 or 两边的布尔值至少有一个True,则结果为 True;只有当两者都False 时,结果才为 False

    ABA or B
    TrueTrueTrue
    TrueFalseTrue
    FalseTrueTrue
    FalseFalseFalse
    print(True or True)   # 输出: True
    print(True or False)  # 输出: True
    print(False or True)  # 输出: True
    print(False or False) # 输出: False# 结合比较表达式
    is_weekend = False
    is_holiday = True
    is_day_off = is_weekend or is_holiday
    print(is_day_off) # 输出: True (因为 is_holiday 是 True)is_weekend = False
    is_holiday = False
    is_day_off = is_weekend or is_holiday
    print(is_day_off) # 输出: False
    

    短路求值 (Short-circuit Evaluation): or 运算符也有短路求值特性。如果 or 左边的表达式已经为 True,那么 Python 就不会再计算右边的表达式了,因为无论右边是什么,整个 or 表达式的结果都一定是 True

    # 示例: 如果第一个条件是 True,第二个条件就不会执行
    # def might_raise_error():
    #    print("Executing second part...")
    #    return False# print(True or might_raise_error()) # might_raise_error() 不会执行,直接输出 True
    
  3. not (逻辑非):
    not 运算符是一元运算符(只作用于一个布尔值),它会颠倒布尔值的结果。not TrueFalsenot FalseTrue

    Anot A
    TrueFalse
    FalseTrue
    print(not True)  # 输出: False
    print(not False) # 输出: True# 结合比较表达式
    is_adult = (age >= 18)
    is_child = not is_adult
    print(is_child) # 输出: True (如果 age 是 16)
    

运算符优先级: 逻辑运算符也有优先级。not > and > or。这意味着在一个表达式中,not 会最先计算,然后是 and,最后是 or。为了避免混淆和确保逻辑正确,强烈建议在需要的地方使用圆括号 () 来明确运算顺序。

# 示例:使用圆括号提高可读性和控制顺序
is_eligible = (age >= 18 and has_ticket) or is_vip

布尔值的“真值”判断 (Truthiness / Falsiness)

这是 Python 中一个非常重要的概念。在需要布尔值的上下文(比如 if 语句、while 循环条件)中,Python 不仅仅接受显式的 TrueFalse任何值都可以被解释为一个布尔值。Python 会判断这个值是“像真值”还是“像假值”。

以下是 Python 中被视为“假值 (Falsy)” 的常见情况:

  • None
  • False
  • 数字类型的零:0 (整型), 0.0 (浮点型), 0j (复数)
  • 空序列:''"" (空字符串), [] (空列表), () (空元组), {} (空字典), set() (空集合)
  • 空范围对象:range(0)

所有其他值都被视为“真值 (Truthy)”。

你可以使用内置的 bool() 函数来显式地查看一个值的布尔解释:

# 假值示例
print(bool(None))     # 输出: False
print(bool(False))    # 输出: False
print(bool(0))        # 输出: False
print(bool(0.0))      # 输出: False
print(bool(""))       # 输出: False
print(bool(''))       # 输出: False
print(bool([]))       # 输出: False
print(bool(()))       # 输出: False
print(bool({}))       # 输出: False
print(bool(set()))    # 输出: False
print(bool(range(0))) # 输出: False# 真值示例
print(bool(True))       # 输出: True
print(bool(1))          # 输出: True (任何非零数字)
print(bool(-5))         # 输出: True
print(bool(3.14))       # 输出: True
print(bool("Hello"))    # 输出: True (非空字符串)
print(bool([1, 2]))     # 输出: True (非空列表)
print(bool((1,)))       # 输出: True (非空元组)
print(bool({"a": 1}))   # 输出: True (非空字典)

理解真值判断对于编写简洁的 Python 代码非常重要。例如,检查一个列表是否为空,可以直接写 if my_list: 而不是 if len(my_list) > 0:

类型转换 (Type Casting)

在编程中,我们经常需要在不同数据类型之间进行转换。Python 提供了内置函数来执行这些转换。我们已经看到了 bool() 函数,现在我们看看其他常用的转换函数:

  • int(x): 将 x 转换为整数。
  • float(x): 将 x 转换为浮点数。
  • str(x): 将 x 转换为字符串。

1. 转换为整数 (int())

  • 从浮点数转换:截断小数部分,只保留整数部分(不是四舍五入)。
  • 从字符串转换:字符串必须是有效的整数表示(可选带正负号)。如果字符串不是有效的整数,会引发 ValueError
  • 从布尔值转换:True 转换为 1False 转换为 0
print(int(10.8))    # 输出: 10
print(int(-3.9))    # 输出: -3
print(int("123"))   # 输出: 123
print(int("-45"))   # 输出: -45
# print(int("12.3")) # 引发 ValueError
# print(int("abc"))  # 引发 ValueError
print(int(True))    # 输出: 1
print(int(False))   # 输出: 0

2. 转换为浮点数 (float())

  • 从整数转换:在整数后添加 .0
  • 从字符串转换:字符串必须是有效的数字表示(整数或浮点数,可选带正负号,可选指数)。如果字符串不是有效的数字,会引发 ValueError
  • 从布尔值转换:True 转换为 1.0False 转换为 0.0
print(float(10))      # 输出: 10.0
print(float("12.34")) # 输出: 12.34
print(float("-5"))    # 输出: -5.0
print(float("1e-3"))  # 输出: 0.001 (科学计数法)
# print(float("abc")) # 引发 ValueError
print(float(True))    # 输出: 1.0
print(float(False))   # 输出: 0.0

3. 转换为字符串 (str())

  • 这是最通用的转换函数。它可以将几乎任何类型的值转换为其字符串表示形式。
print(str(123))     # 输出: "123"
print(str(3.14))    # 输出: "3.14"
print(str(True))    # 输出: "True"
print(str([1, 2, 3])) # 输出: "[1, 2, 3]" (列表的字符串表示)
print(str({"a": 1}))  # 输出: "{'a': 1}" (字典的字符串表示)

4. 转换为布尔值 (bool())

  • 正如我们上面讨论的,bool() 函数会根据一个值的“真值”规则返回 TrueFalse
print(bool(100))      # 输出: True
print(bool(0))        # 输出: False
print(bool("Python")) # 输出: True
print(bool(""))       # 输出: False
print(bool([1, 2]))   # 输出: True
print(bool([]))       # 输出: False

总结

在本文中,我们深入学习了:

  • 布尔类型 (bool),它只有 TrueFalse 两个值,通常由比较运算产生。
  • 逻辑运算符 (and, or, not),用于组合和修改布尔表达式,并了解了它们的短路求值特性。
  • 真值判断 (Truthiness/Falsiness),理解了在布尔上下文中,Python 如何将不同类型的值解释为 TrueFalse
  • 常用的类型转换函数 (int(), float(), str(), bool()),掌握了如何在基本数据类型之间进行转换。

相关文章:

Python 基础语法与数据类型(四) - 布尔类型 (bool) 与逻辑运算符 (and, or, not) 和类型转换

文章目录 布尔类型 (bool)逻辑运算符 (and, or, not)布尔值的“真值”判断 (Truthiness / Falsiness)类型转换 (Type Casting)总结 在前面的文章中&#xff0c;我们学习了数字类型&#xff08;整型、浮点型&#xff09;和字符串。今天&#xff0c;我们要介绍另一种非常基础且极…...

WebUI可视化:第7章:系统优化与部署实战

第7章:系统优化与部署实战 学习目标 ✅ 掌握Web应用的性能优化技巧 ✅ 实现安全可靠的线上部署 ✅ 配置监控与日志系统 ✅ 了解云服务成本控制方法 7.1 性能优化策略 7.1.1 前端优化 python # 示例:Gradio异步处理 demo.queue(concurrency_count=5) # 控制并发数 de…...

79. 单词搜索

题目 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格是那些水平相邻或…...

Spring @Transactional 自调用问题深度解析

Spring Transactional 自调用问题深度解析 问题本质&#xff1a;自调用事务失效 当类内部的方法A调用同一个类的另一个带有Transactional注解的方法B时&#xff0c;事务注解不会生效。这是因为Spring的事务管理是基于AOP代理实现的&#xff0c;而自调用会绕过代理机制。 原理…...

支付宝小程序组件与页面构造器使用指南:从页面到组件的正确迁移

引言 在支付宝小程序开发中&#xff0c;我们经常会遇到需要将页面组件化的情况。本文将通过一个实际案例&#xff08;将 /pages/plugin/device 从页面迁移到组件&#xff09;&#xff0c;深入分析支付宝小程序中页面和组件的区别&#xff0c;以及正确的迁移方式。我们将从问题…...

version `GLIBCXX_3.4.32‘ not found 解决方法

环境&#xff1a;Ubuntu 24.04 报错&#xff1a;ImportError: /home/ge/opt/anaconda3/envs/roboTwin/bin/../lib/libstdc.so.6: version GLIBCXX_3.4.32 not found (required by /home/ge/Desktop/RoboTwin/third_party/pytorch3d_simplified/pytorch3d/_C.cpython-310-x86_6…...

vue3中nextTick的作用及示例

在Vue 3中&#xff0c;nextTick是一个用于处理DOM异步更新的工具函数&#xff0c;确保在数据变化后操作最新的DOM。以下是其作用的详细解析&#xff1a; 核心作用 延迟回调到DOM更新后&#xff1a;Vue的响应式系统会将数据变更批量处理&#xff0c;异步更新DOM。nextTick允许你…...

WHAT - 《成为技术领导者》思考题(第一章)

文章目录 思考题思路与示例框架1. 观察一位你心目中的领导者2. 若要提升自己的领导技能&#xff0c;你期望哪些方面得到提高&#xff1f;3. 如果领导技能提高&#xff0c;哪些生活层面可能恶化&#xff1f;值得吗&#xff1f;如何缓解&#xff1f;4. 列“提升他人生产效率” vs…...

今日行情明日机会——20250425

指数依然在震荡&#xff0c;等待方向选择&#xff0c;整体量能不搞但个股红多绿少。 2025年4月25日涨停板行业方向分析如下&#xff1a; 一、核心行业方向及驱动逻辑 一季报增长&#xff08;17家涨停&#xff09; 核心个股&#xff1a;惠而浦、鸿博股份、卫星化学驱动逻辑&am…...

数据库-子查询、关联查询 和 TCL 语言

标题目录 子查询使用场景子查询分类在 DQL 中使用子查询单行单列子查询多行单列子查询 在 DML 中使用子查询在 DDL 中使用子查询视图 关联查询关联关系的分类连接条件主外键关联N 表关联查询关联查询中使用聚合函数 TCL 语言事务的特性&#xff08;ACID&#xff09;在事务中控制…...

精华贴分享|【牛马课题】可转债多策略研究-1【基础篇】

本文来源于量化小论坛策略分享会板块精华帖&#xff0c;作者为Mc&#xff0c;发布于2025年3月19日。 以下为精华帖正文&#xff1a; 01 背景 本次牛马主题是可转债的多策略研究。在第一次牛马线上会议讨论时&#xff0c;我曾表达对今年转债市场的看好。 原因在于&#xff1a…...

精读27页健康医疗大数据安全管控分类分级实施指南

这篇文档是一份关于健康医疗大数据安全管控分类分级实施指南的文档。该指南的主要内容包括数据分类、数据分级、数据开放形式、数据对外开放分级管控、数据模糊化与标签化、数据对外开放典型场景、数据内部分级安全管控和IS&ITS管理手册等内容。 具体来说&#xff0c;该指南…...

Spring MVC 数据绑定利器:深入理解 @InitBinder

在使用 Spring MVC 开发 Web 应用时&#xff0c;我们经常需要处理从 HTTP 请求&#xff08;如 URL 参数、表单数据&#xff09;到 Controller 方法参数的自动转换。这就是 Spring 的数据绑定 (Data Binding) 机制。虽然 Spring 提供了很多默认的类型转换器&#xff08;比如字符…...

【HTTP/2:信息高速公路的革命】

HTTP/2&#xff1a;信息高速公路的革命 想象一下&#xff0c;如果说HTTP/1.1是一条繁忙的双向马路&#xff0c;那么HTTP/2就是一座现代化的高速公路网络系统&#xff0c;彻底改变了数据传输的方式。让我们通过生动的比喻和图表&#xff0c;深入了解这场网络通信的革命。 HTTP…...

PMIC PCA9450 硬件原理全解析:为 i.MX 8M 平台供电的“大脑”

在嵌入式 Linux 系统中&#xff0c;电源设计是构建稳定系统的基础。PCA9450 是 NXP 推出的一款高度集成的 电源管理芯片&#xff08;PMIC&#xff09;&#xff0c;专为 i.MX 8M 系列处理器设计。它不仅提供多路电压输出&#xff0c;还具备可编程启动顺序、动态电压调节、低功耗…...

【计算机视觉】CV实战项目 - 深入解析基于HOG+SVM的行人检测系统:Pedestrian Detection

深入解析基于HOGSVM的行人检测系统&#xff1a;从理论到实践 技术核心&#xff1a;HOGSVM检测框架HOG特征原理SVM分类器 项目架构与数据准备INRIA Person数据集目录结构 实战指南&#xff1a;从零构建检测系统环境配置完整训练流程检测应用 关键技术问题与解决方案1. 难例挖掘不…...

巴西kwai短视频推广旅游广告获客营销策略

巴西kwai短视频平台作为一种新兴的推广渠道&#xff0c;可以为旅游广告带来新的营销机遇。以下是一些针对利用kwai短视频平台推广旅游广告的获客营销策略&#xff1a; 制作吸引人的内容&#xff1a;在kwai平台上发布具有吸引力的短视频内容&#xff0c;包括美丽的风景、当地文化…...

智慧医疗领域TMI期刊2025年3月研究热点解析

本推文对2025年3月《IEEE Transactions on Medical Imaging》&#xff08;TMI&#xff09;期刊论文的研究热点进行了深入分析。本期TMI涵盖了多模态图像融合、深度学习在医学诊断中的应用、三维重建与分割、图像引导治疗等关键方向&#xff0c;呈现出智慧医疗与人工智能深度融合…...

系统思考:看清问题背后的结构

组织的挑战&#xff0c;往往不是因为不努力&#xff0c;而是“看不清” 结束了为期两天系统思考课程的第一天&#xff0c;被学员的全情投入深深打动。我们用系统结构图&#xff0c;一步步揭示那些表面看起来“习以为常”的问题&#xff1a; 什么原因跨部门协作总是磕磕绊绊&am…...

计算机组成原理实验(1) 算术逻辑运算单元实验

实验一 算术逻辑运算单元实验 一、实验目的 1、掌握简单运算器的数据传输方式 2、掌握74LS181的功能和应用 二、实验内容 1、不带进位位逻辑或运算实验 2、不带进位位加法运算实验 3、实验指导书2.15实验思考 三、实验步骤和结果 实验内容一&#xff1a;不带进位…...

网络安全概述:定义、重要性与发展历程

网络安全概述&#xff1a;定义、重要性与发展历程 在互联网深度融入生活与工作的今天&#xff0c;网络安全已成为不可忽视的关键领域。从个人隐私泄露到企业数据失窃&#xff0c;再到国家关键基础设施遭受攻击&#xff0c;网络安全事件频发&#xff0c;深刻影响着个人、组织乃…...

应力腐蚀环功能及指标

西安力创&#xff08;LETRY&#xff09;应力腐蚀环广泛应用于高品质材料的生产检测和研究中。在H2S 作用下准确运用应力环测试可获取石油勘探&#xff0c;航天航空&#xff0c;焊接密封&#xff0c;海运船舶&#xff0c;食品加工等各类材料在各种酸&#xff0c;碱腐蚀环境的腐蚀…...

【多目标进化算法】常见多目标进化算法一览

算法全称核心特点备注NSGA-IINon-dominated Sorting Genetic Algorithm II非支配排序 拥挤度最经典&#xff0c;应用最广NSGA-IIINon-dominated Sorting Genetic Algorithm III支撑向量引导&#xff0c;适合高维&#xff08;3目标以上&#xff09;NSGA-II 的高维扩展版MOEA/DM…...

【2025 最新前沿 MCP 教程 01】模型上下文协议:AI 领域的 USB-C

文章目录 1. MCP 来了2. 什么是 MCP&#xff1f;为何它是颠覆性创新&#xff1f;M N 问题&#xff1a;解开 AI 集成乱麻 3. 采用 MCP 的核心优势&#xff1a;普适性价值MCP 与传统 API 集成的对比概览 4. 未来的路 1. MCP 来了 没想到&#xff0c;2025 年的每一天都在上演 「…...

抖音集团电商流量实时数仓建设实践

摘要&#xff1a;本文整理自抖音集团电商数据工程师姚遥老师在 Flink Forward Asia 2024 分论坛中的分享。内容主要分为五个部分&#xff1a; 1、业务和挑战 2、电商流量建模架构 3、电商流量流批一体 4、大流量任务调优 5、总结和展望 01.业务和挑战 第一部分给大家介绍一下流…...

redis客户端库redis++在嵌入式Linux下的交叉编译及使用

在开发过程中&#xff0c;我们经常会遇到需要在嵌入式Linux系统上与Redis进行交互的需求。因此选择一个适合的Redis客户端库就显得尤为重要。下面介绍下c中有名的redis-plus-plus&#xff08;redis&#xff09;三方库在嵌入式linux下的交叉编译及使用。该库底层是基于hiredis的…...

5.3 Dify:低代码平台,适用于企业快速部署合规AI应用

Dify作为一款开源低代码平台&#xff0c;已成为企业快速构建和部署合规AI应用的首选工具。Dify通过整合后端即服务&#xff08;Backend-as-a-Service, BaaS&#xff09;、大型语言模型操作&#xff08;LLMOps&#xff09;以及直观的视觉化界面&#xff0c;显著降低了AI应用开发…...

什么是可重入锁ReentrantLock?

大家好&#xff0c;我是锋哥。今天分享关于【什么是可重入锁ReentrantLock?】面试题。希望对大家有帮助&#xff1b; 什么是可重入锁ReentrantLock? ReentrantLock 是 Java 中的一个锁实现&#xff0c;它是 java.util.concurrent.locks 包中的一部分&#xff0c;主要用于提供…...

【Java学习日记26】:方法的重载

一、方法重载核心概念 方法重载&#xff08;Overload&#xff09;&#xff1a;指在同一个类中定义多个同名方法&#xff0c;但这些方法的参数列表必须不同。重载的目的是让同一功能的方法能处理不同类型或数量的参数&#xff0c;提高代码复用性。 二、判断是否构成重载的规则 …...

分层设计数据仓库的架构和设计高效数据库系统的方法

结合你所有的知识和技术&#xff0c;设计一套高效的数据仓库的分层架构说明每一层分层的用途以及为什么要这么设计&#xff0c;有什么优势&#xff1f;再从数据建模和其它的角度详细论述如何设计出一个高性能的数据仓库系统&#xff1f; 高效数据仓库分层架构设计 分层架构及…...

铃木一郎女儿是奥运会选手吗·棒球1号位

铃木一朗&#xff08;Ichiro Suzuki&#xff09; 铃木一朗职业生涯时间线 1973年出生于日本爱知县名古屋市。1992年以选秀第四顺位加入日本职棒&#xff08;NPB&#xff09;欧力士蓝浪队&#xff0c;开启职业棒球生涯。 1994-2000年 连续7年获得NPB太平洋联盟打击王&#xff…...

ORB-SLAM3核心模块、数据结构和线程交互方面解析

ORB-SLAM3作为当前最先进的视觉SLAM系统之一,其代码架构设计体现了高度模块化和多线程协同的特点。以下结合代码实现和系统原理,从核心模块、数据结构和线程交互三个维度展开详细解析: 一、核心架构模块 1. 线程划分 ORB-SLAM3采用多线程架构,主要包含以下核心线程: Tra…...

小刚说C语言刷题——1565成绩(score)

1.题目描述 牛牛最近学习了 C 入门课程&#xff0c;这门课程的总成绩计算方法是&#xff1a; 总成绩作业成绩 20% 小测成绩 30% 期末考试成绩 50%。 牛牛想知道&#xff0c;这门课程自己最终能得到多少分。 输入 三个非负整数 A、B、C &#xff0c;分别表示牛牛的作业成…...

查找函数【C++】

二分查找函数 lower_bound(起始地址, 末尾地址, target)&#xff1a;查找第一个大于等于target目标值的位置 upper_bound(起始地址, 末尾地址, target)&#xff1a;查找第一个大于target目标值的位置 binary_search(起始地址, 末尾地址, target)&#xff1a;查找target是否存在…...

利用车联网中的 V2V 通信技术传播公平的紧急信息

与移动自组织网络 (MANET) 相比,车载自组织网络 (VANET) 的节点移动速度更快。网络连接的节点可以在自身内部或其他基础设施之间交换安全或非安全消息,例如车对车 (V2V) 或车对万物 (V2X)。在车载通信中,紧急消息对于安全至关重要,必须分发给所有节点,以提醒它们注意潜在问…...

Semantic Kernel也能充当MCP Client

背景 笔者之前&#xff0c;分别写过两篇关于Semantic Kernel&#xff08;下简称SK&#xff09;相关的博客&#xff0c;最近模型上下文协议&#xff08;下称MCP&#xff09;大火&#xff0c;实际上了解过SK的小伙伴&#xff0c;一看到 MCP的一些具体呈现&#xff0c;会发现&…...

assertEquals()

assertEquals() 是 JUnit 框架中用于进行断言操作的一个非常常用的方法&#xff0c;其主要目的是验证两个值是否相等。如果两个值不相等&#xff0c;测试就会失败&#xff0c;JUnit 会给出相应的错误信息&#xff0c;提示开发者测试未通过。下面为你详细介绍&#xff1a; 方法…...

【ESP32S3】 下载时遇到 libusb_open() failed 解决方案

之前写过一篇 《VSCode 开发环境搭建》 的文章&#xff0c;很多小伙伴反馈说在下载固件或者配置的时候会报错&#xff0c;提示大多是 libusb_open() failed ...... &#xff1a; 这其实是由于 USB 驱动不正确导致的&#xff0c;准确来说应该是与 ESP-IDF 中内置的 OpenOCD 需要…...

【Pandas】pandas DataFrame rsub

Pandas2.2 DataFrame Binary operator functions 方法描述DataFrame.add(other)用于执行 DataFrame 与另一个对象&#xff08;如 DataFrame、Series 或标量&#xff09;的逐元素加法操作DataFrame.add(other[, axis, level, fill_value])用于执行 DataFrame 与另一个对象&…...

[C]基础13.深入理解指针(5)

博客主页&#xff1a;向不悔本篇专栏&#xff1a;[C]您的支持&#xff0c;是我的创作动力。 文章目录 0、总结1、sizeof和strlen的对比1.1 sizeof1.2 strlen1.3 sizeof和strlen的对比 2、数组和指针笔试题解析2.1 一维数组2.2 字符数组2.2.1 代码12.2.2 代码22.2.3 代码32.2.4 …...

巧记英语四级单词 Unit5-上【晓艳老师版】

count 数&#xff0c; counter n.计算器&#xff0c;柜台 a.相反的 数数的东西就是计算器&#xff0c;在哪数&#xff0c;在柜台里面数&#xff1b;你和售货员的关系就是相反的(一个买货&#xff0c;一个卖货account n.账户&#xff0c;账号 一再的数accountant n.会计 一再的…...

Linux系统中命令设定临时IP

1.查看ip ---ifconfig 进入指定的网络接口 ifconfig ens160 建立服务器临时IP ifconfig ens160 ip地址 network 系统进行重启后&#xff0c;临时IP将会消失 ip address add ip地址 dev 服务器 ---添加临时ip ip address delete ip地址 dev 服务器 ---删除临时ip 设置ip&a…...

13.ArkUI Navigation的介绍和使用

ArkUI Navigation 组件介绍与使用指南 什么是 Navigation 组件&#xff1f; Navigation 是 ArkUI 中的导航组件&#xff0c;用于管理页面间的导航和路由。它提供了页面栈管理、导航栏定制、页面切换动画等功能&#xff0c;是构建多页面应用的核心组件。 Navigation 的核心概…...

MYSQL 常用数值函数 和 条件函数 详解

一、数值函数 1、ROUND(num, decimals) 四舍五入到指定小数位。 SELECT ROUND(3.1415, 2); -- 输出 3.142、ABS(num) 取绝对值 SELECT ABS(-10); -- 输出 103、CEIL(num) / FLOOR(num) 向上/向下取整 SELECT CEIL(3.2), FLOOR(3.7); -- 输出 4 和 34、MOD(num1, num2) 取…...

CuML + Cudf (RAPIDS) 加速python数据分析脚本

如果有人在用Nvidia RAPIDS加速pandas和sklearn等库&#xff0c;请看我这个小示例&#xff0c;可以节省你大量时间。 1. 创建环境 请使用uv&#xff0c;而非conda/mamba。 # install uv if not yetcurl -LsSf https://astral.sh/uv/install.sh | shuv init data_gpucd data_g…...

c#操作excel表格

c#操作excel表格有很多方法&#xff0c;本文介绍的是基于Interop.Excel方式。该方式并不是winform操作excel的最好方法&#xff0c;本文介绍该方法主要是为一些仍有需求的小伙伴。建议有兴趣的小伙伴可以看一下miniexcel&#xff0c;该方法更简洁高效。 一、首先需要下载inter…...

【uniapp】vue2 搜索文字高亮显示

【uniapp】vue2 搜索文字高亮显示 我这里是把方法放在公共组件中使用 props: {// 帖子listpostList: {type: Array,required: true},// 搜索文本字体高亮highLightSearch: {type: String,required: false} }, watch: {// 监听 props 的变化postList: {immediate: true,handle…...

Android ActivityManagerService(AMS)深度解析

目录 ‌一、什么是AMS?‌ ‌二、AMS 的架构层次‌ ‌1. 客户端层‌ 2‌. 服务层‌ ‌3. 底层驱动‌ 三、AMS 的主要功能‌ ‌四、核心模块与工作流程‌ 1. ‌核心模块‌ 2. ‌Activity 启动流程 3. ‌进程启动流程 4. ‌广播分发流程 五、AMS 的启动流程‌ 1‌. S…...

C语言中操作字节的某一位

在C语言中&#xff0c;可以使用位操作来设置或清除一个字节中的特定位。以下是几种常见的方法&#xff1a; 设置某一位为1&#xff08;置位&#xff09; // 将字节byte的第n位&#xff08;从0开始计数&#xff09;设置为1 byte | (1 << n); 例如&#xff0c;将第3位置…...

【特殊场景应对8】LinkedIn式动态简历的利弊分析:在变革与风险间走钢丝

写在最前 作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offe…...