首页/新闻资讯/正文详情

assert的基本用法

发布时间:2026/9/27 22:38:55 来源:云帆数科 栏目:资讯中心
assert的基本用法
一、 是什么它是一种调试语句, 这种调试语句可以在程序运行的时候做一次自检。对某一个表达式开展验证工作, 以确认其呈现的状态是否为真True。它的功能等同于一个自动化的检测站点。如果条件为 True, 那么程序会接着往下执行。假设条件是等于否定的真, 那我们就把异常给抛出去, 这个异常里面是可以带着一些关于那个错误的提示信息的。二、这是关于基础语法方面的内容。assert 条件表达式, 可选的错误提示信息等价于if not 条件表达式:raise AssertionError(错误提示信息)三、用法示例的演示部分是第一个例子, 也就是最基本的那种使用方式。x 10assert x 0print(x 是正数)输出x 是正数在条件 x 0 被判定为成立之后, 程序便得以顺延继续执行接下来的操作步骤。示例 2条件不成立时x -1assert x 0, x 必须是正数print(不会执行到这里)输出Traceback (most recent call last):...AssertionError: x 必须是正数程序就这样被直接给中断了。示例 3结合函数使用def divide(a, b):assert b ! 0, 除数不能为0return a / bprint(divide(10, 2)) # 正常print(divide(10, 0)) # 报错一旦除数变成了0这个数值, 系统就会马上抛出异常信息, 以此来阻止可能出现运行时错误这种糟糕情况的发生。四、在那些经常用到的场景里, 会有对应的示例来作为说明。参数校验(x, int)必须确保输入的函数其类型是正确的, 这样才算没问题。环境检查使用os.path的/data。我们来检查一下, 那个所依赖的目录, 究竟是否存在。版本检测() (19.03)检查系统组件版本配置检测 0校验配置文件参数合法性五、有一个特别关键的点需要大家予以关注与重视, 那就是断言这个功能本身, 它在日常当中的主要应用场景是集中在软件开发的环节以及调试的过程里头的,而我们是不太倡导把这种操作手段往正式的业务逻辑判断里面去进行广泛使用的。之所以可以在运行时, 通过执行命令来完成相关的操作。python -O script.py把加上那个由一个短横线和大写字母O组成并且在后面带有左括号和右括号的参数之后, 那么所有的语句就会都被给忽略掉了因此, 在生产环境的代码编写过程中, 业界建议采用结合条件判断语句并抛出异常的处理方式, 或者利用专门的异常处理机制来取代表面看起来更简洁但实际存在隐患的断言操作:if not condition:raise ValueError(错误信息)六、在实际的运维或者是工程实践里面, 有一个具体的应用举例, 这个例子就是版本检测。from packaging.version import Versionfrom docker import from_envclient from_env()docker_version client.version()[Components][0][Version]assert Version(docker_version) Version(19.03), 需要 Docker 19.03 或更高版本示例配置检查config {port: 8080, host: 127.0.0.1}assert port in config and config[port] 0, 配置文件缺少 port 或 port 非法七、对项目的具体说明内容进行一番总结。关键词作用在运行的时候来检查一下这个表达式, 看它到底是不是真的。为假时抛出异常适用场景在调试和自检的过程中, 在进行开发时要能够快速地进行假设验证。注意事项在发布生产环境的代码的时候, 这个功能是可以被关闭的, 所以它不可以用来做核心的逻辑判断。

相关推荐

基于Python的医疗器械采购系统-附源码
基于Python的医疗器械采购系统-附源码

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台… · 2026/9/27 22:38:49

学习C#开源报表组件Seal Report(33:Seal Report Designer界面布局-29)
学习C#开源报表组件Seal Report(33:Seal Report Designer界面布局-29)

Seal Report Designer软件左侧面板的Views节点内Model视图控件,其下支持添加Chart NVD3 View视图,该控件用于将从数据源查询出的数据,通过NVD3图表库(基于D3.js)渲染成HTML5图表。Chart NVD3 View视图相关的属性与View… · 2026/9/27 22:38:49

MySQL与JDBC
MySQL与JDBC

后端业务离不开数据持久化,MySQL负责存储数据,那么JDBC则是Java程序访问数据库的标准规范。学会MySQLJDBC,才算真正把Java程序和数据库连接起来,也是为后面学习MyBatis、MyBatis-Plus框架打好基础。 在Java后端的学习路线中&#… · 2026/9/27 22:38:49

3个实战案例搞定wordpress网站跳转nginx避坑指南
3个实战案例搞定wordpress网站跳转nginx避坑指南

3个实战案例搞定wordpress网站跳转nginx避坑指南 域名解析和服务器配置总是让新手头疼,尤其是遇到wordpress网站跳转nginx这种混合架构时,很多站长都卡在SSL证书绑定或备案信息不一致上。我接触过不少四川成都的甲方对接人… · 2026/9/27 23:12:42

旅游站用网页设计模板素材旅游怎么避开备案坑与性能优化
旅游站用网页设计模板素材旅游怎么避开备案坑与性能优化

旅游站用网页设计模板素材旅游怎么避开备案坑与性能优化 备案流程一头雾水,是不是让你对着工信部ICP备案系统后台的截图发呆,连第一步填什么都不知道?别慌,很多独立站长在搭建旅游类网站时,都栽在了这个“非技术”环节上,明明代码写得溜,却在资质审… · 2026/9/27 23:12:36

自己做电视视频网站吗详细步骤
自己做电视视频网站吗详细步骤

不会代码也能做视频站?3步搞定免费工具实操 自己不会代码想做网站,这确实是很多中小企业老板和技术小白最头疼的难题。以前做个视频站,动不动就要找外包,报价几万起步,改个按钮位置都要加钱,心里那个苦只有做过的人才懂。… · 2026/9/27 23:12:36

谢韦尔钢材缺陷检测数据集:6666张VOC+YOLO双格式实战指南
谢韦尔钢材缺陷检测数据集:6666张VOC+YOLO双格式实战指南

简介:本资源为谢韦尔钢材表面缺陷检测数据集,面向从事工业质检、缺陷识别与深度学习目标检测的开发者与研究人员,可用于训练和验证钢材表面缺陷检测模型。数据集同时提供Pascal VOC与YOLO两种标注格式,包含6666张jpg图片及一一对应… · 2026/9/27 23:12:17

H5录音源码实战:从getUserMedia到MediaRecorder的兼容性避坑指南
H5录音源码实战:从getUserMedia到MediaRecorder的兼容性避坑指南

简介:这是一套面向前端开发者的H5录音功能完整源码,基于JavaScript与HTML5标准实现,可跨PC端与移动端使用,适用于在线教育、会议记录、语音备忘等需要网页录音的场景。资源包共202个文件,约11.38MB,其中90个… · 2026/9/27 23:12:17

自贡市30m DEM数据处理全流程:从zip包到地形分析底图
自贡市30m DEM数据处理全流程:从zip包到地形分析底图

简介:这份资源是四川省自贡市30米分辨率的DEM数字高程数据包,面向地理信息系统学习者、测绘与城市规划从业者及高校师生,可用于地形分析、洪水模拟、地质灾害评估与地图制作等教学实践场景。压缩包共12个文件,约14.72MB&#xff0… · 2026/9/27 23:12:17

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码