ホームページ > バックエンド開発 > Python チュートリアル > Python Assertの使い方入門(コード付き)

Python Assertの使い方入門(コード付き)

不言
リリース: 2019-04-01 10:38:28
転載
23303 人が閲覧しました

この記事では、Python Assert の使い方 (コード付き) を紹介します。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。

pythonassert 文形式と使い方は非常にシンプルです。通常、プログラムは実行後に例外をスローします。例外が発生したコードで実行を直接終了するには、assert を使用します。プログラムの実行が完了するのを待つ代わりに、例外がスローされます。

pythonassert の役割

pythonassert 例外が発生した場合、式は false になります。式の戻り値が false の場合に例外がトリガーされることがわかります。

assert ステートメントの構文形式

assert expression [, arguments]
assert 表达式 [, 参数]
ログイン後にコピー

補足:assert は次の目的にも使用できます。複数の式 式: 式 1、式 2 をアサートします。
注: 式 = false の場合、それに続く例外が実行されます。

いくつかの例を見てみましょう
1: 単一の式:

a = 1assert a < 0,
 &#39;出错了,a大于0 啊&#39;
 print(&#39;这里不会输出&#39;)
ログイン後にコピー

出力:

Traceback (most recent call last):
  File "main.py", line 3, in <module>    
  assert a < 0, &#39;出错了,a大于0 啊&#39;
  AssertionError: 出错了,a大于0 啊
ログイン後にコピー

2: 複数の式:

a = 1
b = -1
assert a > 0, b < 0
print(&#39;正常输出,表达式返回真了&#39;) # 输出:正常输出,表达式返回真了
ログイン後にコピー

3: アサート例外をキャプチャしようとします:

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__())
ログイン後にコピー

出力:

AssertionError
traceback 打印异常
Traceback (most recent call last):
  File "main.py", line 7, in <module>
    assert a < 0
AssertionError
raise AssertionError 异常 测试 raise AssertionError
ログイン後にコピー

4: 関数呼び出しにより例外がスローされました:

# 除法运算
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))  # 抛出异常
ログイン後にコピー

出力:

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
ログイン後にコピー

上記の例を通して、誰もが aseert の使用法を深く理解できたと思います。

概要: 式が false を返す場合。例外を直接スローして実行を終了し、実行を継続します。

【関連する推奨事項: Python ビデオ チュートリアル ]

以上がPython Assertの使い方入門(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート