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

  • 相关阅读:
    埃尔多安回击“穆斯林都是恐怖分子”:坏人也可能是基督徒或犹太人
    通信行业并非那么”腹黑“
    苹果无人驾驶技术专家遭大众挖角
    数据结构之数组定义及基本操作(转)
    LCD浮点数显示函数的探讨
    C 数据类型
    C 基本语法
    C 标准库
    C 语言实例
    C 语言实例
  • 原文地址:https://www.cnblogs.com/xudachen/p/8672971.html
Copyright © 2011-2022 走看看