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

  • 相关阅读:
    单据存储过程
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
    学期总结
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
  • 原文地址:https://www.cnblogs.com/xudachen/p/8672971.html
Copyright © 2011-2022 走看看