Pythonはよく関数の実例のまとめを断言します。
Python asert文は、断言文とも呼ばれ、機能縮小版のif文と見なされ、ある表現の値を判断するために用いられます。値が本当であれば、プログラムは続けて実行できます。逆にPython解釈器はAsertionErrエラーを報告します。
asert文の文法構造は以下の通りです。
クラス表現
astert文の実行フローはif判定文で表してもいいです。以下のようにします。
if表現==True:
プログラムは続行します
else:
プログラムレポートAsertionErrエラー
ある読者は、astertがプログラムを崩壊させるのに、なぜそれを使うのですか?これは、プログラムを遅く崩壊させるよりも、エラーが発生した時に直接にプログラムを崩壊させるほうが、プログラムの間違いに対して頑健性を高めるためです。
したがって、astert文は通常ユーザーの入力が規定に合っているかどうかを確認するために使われ、また、プログラム初期テストとデバッグ中の補助ツールとしてもよく使われます。
次の手順では、astert文の使い方を示します。
mathmark=int(input()
数学のテストの点数は正常な範囲内にあるかどうかを断言します。
astert 0<=marthmark<=100
xiはmathmarkが[0,100]の範囲内にある場合のみ、プログラムが実行されます。
print(「数学試験の点数は:」、mashmark)
このプログラムを実行します。テストデータは以下の通りです。
90
数学の試験の点数は90です。
再度このプログラムを実行します。テストデータは以下の通りです。
159
Traceback(most recent call last):
File「C:\Users\mengma\Desktop\file.py」、ライン3、in
astert 0<=marthmark<=100
Asertion Error
astert文の後の表現値が本物の場合、プログラムは続行されます。逆にプログラムの実行を停止し、AsertionErrエラーを報告します。
よく言い切る関数
常用
ここでは断言しがちな使い方をいくつか紹介しますが、ある程度の結果を判断するのに役立ちます。 astertEqual astert NotEqual astert True astert False astertIsNone astertIs NotNone astertEqualとastert NotEqual astertEqual:2つの値が等しいなら、pass astert NotEqual:2つの値が等しくない場合、pass 使用方法:
astertEqual(first、second、msg)の中でfirstはsecondと比較して、等しいなら通過します。msgは失敗時に印刷した情報で、記入を選択します。astert NotEqualは逆に使うと断言すればいいです。 astert Trueとastert False astert True:book値がTrueであると判断した場合、pass astert False:book値がFalseであると判断した場合、Pass 使用方法:クラスのert True(expr、msg)の中でexpressは対応する表現式を入力して、もし式が真実ならば、pass;msgを選択して記入するastert Falseがもし式が偽であれば、pass を言い切る。 astertIsNoneとastertIsNot None astertIsNone:存在しないなら、pass astertIs NotNone:存在すれば、pass 使用方法:
astertIsNone(obj,msg)はある要素が存在するかどうかを検査します。
まとめ:
常用
astertEqual(a,b)a=b
astert NotEqual(a,b)a!=b
astert True(x)book(x)is True
astert False(x)book(x)is False
astertIs(a,b)a is b 2.7
astertIs Not(a,b)a is not b 2.7
astertIs None(x)x is None 2.7
astertIs Not None(x)x is not None 2.7
astertIn(a,b)a in b 2.7
astert NotIn(a,b)a not in b 2.7
astertIs Instance(a,b)isinstance(a,b)2.7
astert NotIs Instance(a,b)not isinstance(a,b)2.7
その他
astert AlmostEqual(a,b)round(a-b,7)=0
astert NotAlmostEqual(a,b)round(a-b,7)!0
astert Greer(a,b)a>b 2.7
astert Greter Equal(a,b)a>=b 2.7
astert Less(a,b)aastert LessEqual(a,b)a<=b 2.7
astertRegexpMatch(s,re)regex.search(s)2.7
astert NotRegexpMatch(s,re)not regex.search(s)2.7
astertItemsEqual(a,b)sorted(a)=sorted(b)and works with unhashable Objs 2.7
astert DictContins Subset(a,b)all the key/value pairs in a exist in b 2.7
astert MultiLineline Equal(a,b)stings 2.7
astert SequenceEqual(a,b)sequences 2.7
astert ListEqual(a,b)lists 2.7
astert TupleEqual(a,b)tuples 2.7
astert SetEqual(a,b)sets or frozennsets 2.7
astert DictEqual(a,b)dicts 2.7
astert MultiLineline Equal(a,b)stings 2.7
astert SequenceEqual(a,b)sequences 2.7
astert ListEqual(a,b)lists 2.7
astert TupleEqual(a,b)tuples 2.7
astert SetEqual(a,b)sets or frozenets 2.7 astert DictEqual(a,b)dicts 2.7
使用タイミング:
私たちはいつ断言を使うべきですか?特別な目的がないなら、次のような場合に使うべきだと断言します。防備プログラミング 実行時のプログラム論理の検出 契約性検査(例えば、前の条件、後の条件) プログラムの定数 検査ドキュメント 例:防御プログラミングには、断言を追加しました。 コードにコメントを付け始めるのはいいスタートですが、これらのコメントを読むのがあまり好きではないので、これらのコメントはすぐに古くなります。しかし、断言するには、私たちはこのコードに対して同時に文書を作成することができます。これらの断言が違反されたら、簡単で直接的な失敗を引き起こします。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
asert文の文法構造は以下の通りです。
クラス表現
astert文の実行フローはif判定文で表してもいいです。以下のようにします。
if表現==True:
プログラムは続行します
else:
プログラムレポートAsertionErrエラー
ある読者は、astertがプログラムを崩壊させるのに、なぜそれを使うのですか?これは、プログラムを遅く崩壊させるよりも、エラーが発生した時に直接にプログラムを崩壊させるほうが、プログラムの間違いに対して頑健性を高めるためです。
したがって、astert文は通常ユーザーの入力が規定に合っているかどうかを確認するために使われ、また、プログラム初期テストとデバッグ中の補助ツールとしてもよく使われます。
次の手順では、astert文の使い方を示します。
mathmark=int(input()
数学のテストの点数は正常な範囲内にあるかどうかを断言します。
astert 0<=marthmark<=100
xiはmathmarkが[0,100]の範囲内にある場合のみ、プログラムが実行されます。
print(「数学試験の点数は:」、mashmark)
このプログラムを実行します。テストデータは以下の通りです。
90
数学の試験の点数は90です。
再度このプログラムを実行します。テストデータは以下の通りです。
159
Traceback(most recent call last):
File「C:\Users\mengma\Desktop\file.py」、ライン3、in
astert 0<=marthmark<=100
Asertion Error
astert文の後の表現値が本物の場合、プログラムは続行されます。逆にプログラムの実行を停止し、AsertionErrエラーを報告します。
よく言い切る関数
常用
ここでは断言しがちな使い方をいくつか紹介しますが、ある程度の結果を判断するのに役立ちます。
astertEqual(first、second、msg)の中でfirstはsecondと比較して、等しいなら通過します。msgは失敗時に印刷した情報で、記入を選択します。astert NotEqualは逆に使うと断言すればいいです。
astertIsNone(obj,msg)はある要素が存在するかどうかを検査します。
まとめ:
常用
astertEqual(a,b)a=b
astert NotEqual(a,b)a!=b
astert True(x)book(x)is True
astert False(x)book(x)is False
astertIs(a,b)a is b 2.7
astertIs Not(a,b)a is not b 2.7
astertIs None(x)x is None 2.7
astertIs Not None(x)x is not None 2.7
astertIn(a,b)a in b 2.7
astert NotIn(a,b)a not in b 2.7
astertIs Instance(a,b)isinstance(a,b)2.7
astert NotIs Instance(a,b)not isinstance(a,b)2.7
その他
astert AlmostEqual(a,b)round(a-b,7)=0
astert NotAlmostEqual(a,b)round(a-b,7)!0
astert Greer(a,b)a>b 2.7
astert Greter Equal(a,b)a>=b 2.7
astert Less(a,b)aastert LessEqual(a,b)a<=b 2.7
astertRegexpMatch(s,re)regex.search(s)2.7
astert NotRegexpMatch(s,re)not regex.search(s)2.7
astertItemsEqual(a,b)sorted(a)=sorted(b)and works with unhashable Objs 2.7
astert DictContins Subset(a,b)all the key/value pairs in a exist in b 2.7
astert MultiLineline Equal(a,b)stings 2.7
astert SequenceEqual(a,b)sequences 2.7
astert ListEqual(a,b)lists 2.7
astert TupleEqual(a,b)tuples 2.7
astert SetEqual(a,b)sets or frozennsets 2.7
astert DictEqual(a,b)dicts 2.7
astert MultiLineline Equal(a,b)stings 2.7
astert SequenceEqual(a,b)sequences 2.7
astert ListEqual(a,b)lists 2.7
astert TupleEqual(a,b)tuples 2.7
astert SetEqual(a,b)sets or frozenets 2.7 astert DictEqual(a,b)dicts 2.7
使用タイミング:
私たちはいつ断言を使うべきですか?特別な目的がないなら、次のような場合に使うべきだと断言します。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。