博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python----面向对象---断言-assert
阅读量:4987 次
发布时间:2019-06-12

本文共 1346 字,大约阅读时间需要 4 分钟。

断言assert

1 info = {} 2 info['name'] = 'alex' 3 # info['age'] = 18 4  5 if 'name' not in info: 6     raise KeyError('必须有name这个key') 7 if 'age' not in info: 8     raise KeyError('必须有age这个key') 9 10 结果为:11 12 Traceback (most recent call last):13   File "C:/Users/xu516/PycharmProjects/Python全栈开发/第三模块/面向对象编程/33 try...except详细用法.py", line 68, in 
14 raise KeyError('必须有age这个key')15 KeyError: '必须有age这个key'

断言是断定会有什么,没有的话就会报错,可以用assert方法来实现,如下:

1 info = {} 2 info['name'] = 'alex' 3 # info['age'] = 18 4  5 # if 'name' not in info: 6 #     raise KeyError('必须有name这个key') 7 # if 'age' not in info: 8 #     raise KeyError('必须有age这个key') 9 10 assert ('name' in info) and ('age' in info)11 12 结果为:13 14 Traceback (most recent call last):15   File "C:/Users/xu516/PycharmProjects/Python全栈开发/第三模块/面向对象编程/33 try...except详细用法.py", line 70, in 
16 assert ('name' in info) and ('age' in info)17 AssertionError

断言报错,

1 info = {} 2 info['name'] = 'alex' 3 info['age'] = 18 4  5 # if 'name' not in info: 6 #     raise KeyError('必须有name这个key') 7 # if 'age' not in info: 8 #     raise KeyError('必须有age这个key') 9 10 assert ('name' in info) and ('age' in info)11 12 if info['name'] == 'alex' and info['age'] > 10:13     print('welcome')14 15 结果为:16 17 welcome

if 语句的执行依赖于前面代码执行结果

 

转载于:https://www.cnblogs.com/xudachen/p/8672971.html

你可能感兴趣的文章
AOF 持久化策略
查看>>
MVC中使用RadioButtonFor
查看>>
小议:部署SharePoint 2013时,无法连接SQL Server问题
查看>>
登录之后更新导航
查看>>
图算法
查看>>
格式化日期的时候出现“对象不能从 DBNull 转换为其他类型。 ”的错误
查看>>
构建stm32最小系统板注意事项
查看>>
HTTP 错误 500.21 - Internal Server Error 解决方案 .
查看>>
树莓派Centos系统每次重启时间回到1970年如何解决?
查看>>
黑盒测试实践第二天
查看>>
传智播客_Springmvc+Mybatis由浅入深全套视频教程(燕青)-mybatis笔记(两天)(2017年8月5日16:12:20)...
查看>>
Android M Permission 运行时权限 学习笔记
查看>>
第一次迭代开发心得
查看>>
codeforces R 493 div2
查看>>
知识点五:关于数组的几个基本操作
查看>>
C# DataGridView点击Enter键切换单元格
查看>>
Week Plan:强介入性的效率导师[转]
查看>>
Thinkphp5.1源码阅读
查看>>
Leetcode401Binary Watch二进制手表
查看>>
Eclipse连接SQL Server 2008数据库
查看>>