Introduction to the usage of python assert (with code)

不言
Release: 2019-04-01 10:38:28
forward
23142 people have browsed it

This article brings you an introduction to the usage of python assert (with code). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

python assert The sentence format and usage are very simple. Usually the program throws an exception after running. Use assert to terminate the execution directly at the code where the exception occurs. Instead of waiting for the program to complete execution, an exception is thrown.

The role of python assert

python assert If an exception occurs, the expression is false. It can be understood that an exception will be triggered when the expression return value is false.

The syntax format of the assert statement

assert expression [, arguments]
assert 表达式 [, 参数]
Copy after login

Additional note: assert can also be used for multiple expressions Formula: assert expression1, expression2.
Note: When the expression = false, the exception following it will be executed.

Let’s look at a few examples
1: Single expression:

a = 1assert a < 0,
 &#39;出错了,a大于0 啊&#39;
 print(&#39;这里不会输出&#39;)
Copy after login

Output:

Traceback (most recent call last):
  File "main.py", line 3, in <module>    
  assert a < 0, &#39;出错了,a大于0 啊&#39;
  AssertionError: 出错了,a大于0 啊
Copy after login

2: Multiple expressions:

a = 1
b = -1
assert a > 0, b < 0
print(&#39;正常输出,表达式返回真了&#39;) # 输出:正常输出,表达式返回真了
Copy after login

3: Try to capture assert Exception:

import traceback

try:
    assert a < 0
except AssertionError as aeeor:  # 明确抛出此异常
    # 抛出 AssertionError 不含任何信息,所以无法通过 aeeor.__str__()获取异常描述
    print(&#39;AssertionError&#39;, aeeor, aeeor.__str__())

    # 通过 traceback 打印详细异常信息
    print(&#39;traceback 打印异常&#39;)
    traceback.print_exc()
except:  # 不会命中其他异常
    print(&#39;assert except&#39;)

try:
    raise AssertionError(&#39;测试 raise AssertionError&#39;)
except AssertionError as aeeor:
    print(&#39;raise AssertionError 异常&#39;, aeeor.__str__())
Copy after login

Output:

AssertionError
traceback 打印异常
Traceback (most recent call last):
  File "main.py", line 7, in <module>
    assert a < 0
AssertionError
raise AssertionError 异常 测试 raise AssertionError
Copy after login

4: Function call throws exception:

# 除法运算
def foo(value, divide):
    assert divide != 0
    return value / divide


print(&#39;4除以2 =&#39;, foo(4, 2))  # 执行成功
print(&#39;4除以0 =&#39;, foo(4, 0))  # 抛出异常
Copy after login

Output:

4除以2 = 2.0
Traceback (most recent call last):
  File "main.py", line 8, in <module>
    print(&#39;4除以0 =&#39;, foo(4, 0))  # 抛出异常
  File "main.py", line 3, in foo
    assert divide != 0
AssertionError
Copy after login

Through the above examples, I believe everyone has a deep understanding of the use of aseert

Summary: When the expression returns false. Throw an exception directly to terminate execution and continue execution.

【Related recommendations: python video tutorial

The above is the detailed content of Introduction to the usage of python assert (with code). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:cnblogs.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!