zoukankan      html  css  js  c++  java
  • Python----面向对象---断言-assert

    断言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 <module>
    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 <module>
    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 语句的执行依赖于前面代码执行结果

  • 相关阅读:
    web安全性测试用例
    Postman界面介绍及实例(转)
    基于RFS(robot framework selenium)框架模拟POST/GET请求执行自动化接口测试
    python 将list中的元素按字母排序
    Python操作字典取Key对应的值
    excel的常用工具类
    事务隔离机制
    如何上传附件
    sql函数认识
    对导出poi报表的更深层次了解
  • 原文地址:https://www.cnblogs.com/xudachen/p/8672971.html
Copyright © 2011-2022 走看看