検索

Python は高水準プログラミング言語です。シンプルで、習得が簡単で、強力な言語です。可読性が高く、コード量が少なく、メンテナンスが容易なため、科学技術計算で広く使用されています。データ分析、人工知能などの分野。ただし、どのプログラミング言語でもエラーや例外が発生する可能性があるため、開発者がこれらの状況に適切に対処できるように、Python には例外メカニズムも用意されています。この記事では、Python の異常検出メカニズムの使用方法といくつかの例を紹介します。

1. Python の例外の種類

Python では、例外はオブジェクトとして処理されます。例外が発生すると、Python は例外をスローし、制御フローを例外ハンドラーに渡します。 Python には、TypeError、ValueError、ZeroDivisionError など、多くの組み込み例外が用意されています。以下に、一般的な例外タイプをいくつか示します。

  1. IndexError: 添字またはインデックスがシーケンスの境界を超えています。
  2. ValueError: 関数に渡されたパラメータの型は正しいですが、その値が無効です。
  3. ZeroDivisionError: ゼロ除算が発生しました。
  4. NameError: 宣言されていない変数を使用しようとしました。
  5. TypeError: 不適切な型のオブジェクトに適用された操作または関数。

2. Python での例外検出

例外を処理するために、Python は try-excel 構造を提供します。 Try ブロックには、例外を引き起こす可能性のあるコードが含まれています。例外が発生すると、その例外は Try ブロックによってスローされ、Except ブロックによって捕捉されて処理されます。 Try-Except の基本的な構文形式は次のとおりです。

try:
    # 可能引发异常的代码
except ExceptionType as e:
    # 异常处理代码

この場合、ExceptionType は例外のタイプ、e は例外のインスタンスです。 try ブロック内のコードが ExceptionType 型の例外をスローすると、Python は例外インスタンスを作成し、それを変数 e に格納します。次に、Exception ブロック内のコードがこの例外を処理します。

try ブロックには複数の例外ブロックを含めることができます。この構造は複数の例外処理と呼ばれます。複数の例外ブロックは、現在の例外の処理に適したブロックが見つかるまで、配置された順序で評価されます。最後のブロックを除くすべてのブロックが現在の例外を処理できない場合、例外は上位レベルの例外ハンドラーに渡されます。

Exception ブロックでは、例外パラメーターを使用して、発生した例外に関する情報を取得できます。以下は、単純な例外検出の例です。

try:
    a = int(input("请输入一个整数:"))
    b = int(input("请输入另一个整数:"))
    c = a / b
    print(c)
except ZeroDivisionError:
    print("除数不能为0")
except ValueError:
    print("请输入整数")

この例では、ユーザーが整数以外を入力するか、除数が 0 の場合、プログラムは例外をスローします。 try ブロックには、ユーザー入力用のコード、除数を計算して結果を出力するコードが含まれています。条件文エラーが発生した場合、プログラムは例外をスローし、例外ブロックがキャッチして処理します。

3. Python のその他の例外

上記の例外に加えて、Python では、次のような他の一般的に使用される例外タイプも提供しています:

  1. FileNotFoundError: Trying to open が存在しません ファイルを開くときに例外がスローされました。
  2. KeyboardInterrupt: ユーザーが Ctrl C キーを押すと例外がスローされます。
  3. ImportError: モジュールのインポートが失敗したときに例外がスローされました。
  4. IOError: IO 操作が失敗すると例外が発生します。

次に、例外処理の例をいくつか示します:

  1. FileNotFoundError 例外をキャッチします:
try:
    f = open("file.txt", "r")
except FileNotFoundError:
    print("文件不存在")
else:
    print(f.read())
    f.close()

この例では、プログラムは次のことを試みます。ファイルを開く ファイルが存在しない場合、プログラムは FileNotFoundError 例外をスローします。この例外を try-excel ブロッ​​クにラップすると、プログラムはクラッシュせず、代わりに「ファイルが存在しません」と表示されます。

  1. ImportError 例外をキャッチします:
try:
    import my_module
except ImportError:
    print("模块导入失败")
else:
    my_module.my_function()

この例では、プログラムは存在しないモジュールをインポートしようとし、コードを try ブロックに含めます。インポートが失敗した場合、プログラムは ImportError 例外をスローし、「モジュールのインポートに失敗しました」と出力します。

  1. キャプチャ キーボード割り込み例外:
try:
    while True:
        pass
except KeyboardInterrupt:
    print("程序被中断")

この例では、ユーザーが Ctrl C キーを押すまで、プログラムは実行され続けます。プログラムが中断されると、Python は KeyboardInterrupt 例外をスローし、「プログラムは中断されました」と出力します。

5. 概要

この記事では、Python の異常検出メカニズムの使用法を紹介し、例外処理の例をいくつか示します。異常検出は、入力エラー、実行時エラー、その他の異常な状況をより適切に処理できるため、Python の非常に重要な部分です。 Python の例外タイプと例外処理構文構造を理解すると、コードをより効率的に記述し、コードの可読性と保守性を向上させることができます。

以上がPython での異常検出の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Pythonリストをどのようにスライスしますか?Pythonリストをどのようにスライスしますか?May 02, 2025 am 12:14 AM

slicingapythonlistisdoneusingtheyntaxlist [start:stop:step] .hore'showitworks:1)startisthe indexofthefirstelementtoinclude.2)spotisthe indexofthefirmenttoeexclude.3)staptistheincrementbetbetinelements

Numpyアレイで実行できる一般的な操作は何ですか?Numpyアレイで実行できる一般的な操作は何ですか?May 02, 2025 am 12:09 AM

numpyallows forvariousoperationsonarrays:1)basicarithmeticlikeaddition、減算、乗算、および分割; 2)AdvancedperationssuchasmatrixMultiplication;

Pythonを使用したデータ分析では、配列はどのように使用されていますか?Pythonを使用したデータ分析では、配列はどのように使用されていますか?May 02, 2025 am 12:09 AM

Arraysinpython、特にnumpyandpandas、aresentialfordataanalysis、offeringspeedandeficiency.1)numpyarraysenable numpyarraysenable handling forlaredatasents andcomplexoperationslikemoverages.2)Pandasextendsnumpy'scapabivitieswithdataframesfortruc

リストのメモリフットプリントは、Pythonの配列のメモリフットプリントとどのように比較されますか?リストのメモリフットプリントは、Pythonの配列のメモリフットプリントとどのように比較されますか?May 02, 2025 am 12:08 AM

listsandnumpyarraysinpythonhavedifferentmemoryfootprints:listsaremoreflexiblellessmemory-efficient、whileenumpyarraysaraysareoptimizedfornumericaldata.1)listsstorereferencesto objects、with whowedaround64byteson64-bitedatigu

実行可能なPythonスクリプトを展開するとき、環境固有の構成をどのように処理しますか?実行可能なPythonスクリプトを展開するとき、環境固有の構成をどのように処理しますか?May 02, 2025 am 12:07 AM

toensurepythonscriptsbehaveCorrectlyAcrossDevelosment、staging、and Production、usetheseStrategies:1)環境variablesforsimplestetings、2)configurationfilesforcomplexsetups、and3)dynamicloadingforadaptability.eachtododododododofersuniquebentandrequiresca

Pythonアレイをどのようにスライスしますか?Pythonアレイをどのようにスライスしますか?May 01, 2025 am 12:18 AM

Pythonリストスライスの基本的な構文はリストです[start:stop:step]。 1.STARTは最初の要素インデックス、2。ストップは除外された最初の要素インデックスであり、3.ステップは要素間のステップサイズを決定します。スライスは、データを抽出するためだけでなく、リストを変更および反転させるためにも使用されます。

どのような状況で、リストは配列よりもパフォーマンスが向上しますか?どのような状況で、リストは配列よりもパフォーマンスが向上しますか?May 01, 2025 am 12:06 AM

ListSoutPerformArraysIn:1)ダイナミシジョンアンドフレーケンティオン/削除、2)ストーリングヘテロゼンダタ、および3)メモリ効率の装飾、ButmayhaveslightPerformancostsinceNASOPERATIONS。

PythonアレイをPythonリストに変換するにはどうすればよいですか?PythonアレイをPythonリストに変換するにはどうすればよいですか?May 01, 2025 am 12:05 AM

toconvertapythonarraytoalist、usetheList()constructororageneratorexpression.1)importhearraymoduleandcreateanarray.2)useList(arr)または[xforxinarr] toconvertoalistは、largedatatessを変えることを伴うものです。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン