Pythonで例外メッセージをキャプチャして出力する方法
Pythonでは、発生した例外のメッセージをさまざまな方法でキャプチャし、出力することができます。以下に2つのコード例を示します。最初の例では、例外オブジェクトが持つ message 属性を使用しています。
例1:message属性を使う方法
try:
a = 7/0
print float(a)
except BaseException as e:
print e.message出力
integer division or modulo by zero
このコードでは0による除算が行われたため ZeroDivisionError が発生し、そのメッセージ「integer division or modulo by zero」が出力されます。
次に、sys モジュールをインポートし、sys.exc_value 属性を使って例外メッセージをキャプチャして出力する例を見てみましょう。
例2:sys.exc_valueを使う方法
import sys
def catchEverything():
try:
a = 'sequel'
b = 0.8
print a + b
except Exception as e:
print sys.exc_value
catchEverything()出力
cannot concatenate 'str' and 'float' objects
このコードでは、文字列(str)と浮動小数点数(float)を連結しようとしたため TypeError が発生し、「cannot concatenate 'str' and 'float' objects」というメッセージが出力されます。
補足:Python 3での書き方
なお、上記のコードはPython 2向けの記述です。Python 3では message 属性や sys.exc_value は廃止されているため、代わりに組み込み関数の str(e) を使って例外メッセージを取得するのが一般的です。
try:
a = 7/0
except BaseException as e:
print(str(e))
-
Pythonで辞書(dict)を印刷・出力する方法を徹底解説
Pythonの辞書(dict)は、データを「キー」と「値」のペアで格納するデータ構造です。つまり、辞書内の各値には必ずキーが関連付けられており、そのキーが値を参照するための目印となります。 辞書の内容をコンソールで確認したい場合、いくつかのアプローチがあります。辞書をそのまま直接出力することもできますし、キーと値のペアを1つずつ個別に出力することも可能です。 このガイドでは、Pythonで辞書を印刷する方法を解説します。実際のコード例を通じて、自分のコードで辞書を出力する方法をわかりやすく紹介していきます。 forループを使って辞書を印刷する方法 まず、パン職人が読めるように辞書の内容を出力す
-
Pythonでパターンを出力する方法|三角形・数字・アルファベット・ピラミッドのコード例
Pythonでパターンを出力するには、ネストされた(入れ子構造の)forループを使用します。外側のループで行数を制御し、内側のループで列数を処理します。そしてprint文を工夫することで、目的に応じたさまざまなパターンを作成できます。パターンには、星(アスタリスク)パターン、数字パターン、アルファベットパターンなどがあり、三角形やピラミッドなど、さまざまな形状にも対応できます。パターン出力の基本これらのパターンは、print文を少し変更しながらforループを組み合わせることで出力できます。基本的な考え方はどのパターンも共通しており、違いはごくわずかです。ここからは、代表的なパターンのコードを実