• 締切済み

python: 例外classの書き方

pythonで独自の例外classの書き方をチュートリアルで見ていて気づいたことがあります 次のような記載をみつけました class wexal(Exception):  pass 質問の都合上次のように書き換えます class abcde(Exception): 質問: 1)独自の例外クラスの書き方は、(Exception)と記載すれば、abcdeのように名称はなんでも指定できると考えてよいでしょうか 2) Guido van Rossum さん著書のチュートリアル本(ISBN-13 ‏ : ‎ 978-4873119359)をみていると、class の記載の後の名称の最初の文字は大文字になっているものが多くあります  上記で abcdeの部分は、Abcdeでなくても作法上問題ないのでしょうか。つまり(Exception)を記述するときは、最初の文字を大文字にする必要は作法上はないのでしょうか 他の例外の処理については、今回は求めていません。独自例外classの書き方についてのみ質問しています。 【回答上のご注意】 回答は、解答(答え)を求めています わたしはプログラマーではないので、昭和的な「自分で考えろ」的なものは求めていません わからなければ答えない自由もあなたにはあります 不明点があれば説明いたします

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.3

> 引数のところ(Exception)と記載すれば、独自例外を書けるという認識でよいのかがちょっとまだひっかかっています オリジナルの例外クラスを作る場合は引数が (Exception) で合ってます。

  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.2

PythonのコーディングスタイルのガイドラインはPEP 8で決まっています。クラス名、変数名などの命名方法はその一部です。 https://peps.python.org/pep-0008/#naming-conventions 例外クラス名に限らず、クラス名にはCapWords形式(アッパーキャメルケースとかパスカルケースとも言う)を使うことが推奨されています。つまり、クラス名の先頭1文字目は大文字にするのが普通です。 これはクラス名・関数名・変数名・定数名などを見分けやすくするための規約であって、Pythonの文法としては全部小文字とか全部大文字のクラス名を禁じているわけではありません。abcdeというクラス名を使ってもプログラムは動作します。

ketae
質問者

お礼

ありがとうございます 名付けはやはりキャメルで書くとよさそうですね pyhthonの模擬試験問題にでてきたので、Exceptionの書き方があるのかと思いました

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

1) クラス名は自由に付けても構いませんが予約語は使えません。 http://www.ic.daito.ac.jp/~mizutani/python/intro8_python.html 2) Pythonの標準ライブラリのコーディング規約では、クラス名はパスカルケースで表記することになっています。 「HogeClass」の様に単語を連続して書き、各単語の最初の文字は大文字で他は小文字で書くのがパスカルケースと呼ばれる書き方です。 多くの場合、この標準ライブラリのコーディング規約に合わせて書きますが、Python自体の言語仕様として強制しているわけではないので好きなように書いても問題ありません。

ketae
質問者

お礼

ありがとうございます 予約後はたしかに使えませんね 引数のところ(Exception)と記載すれば、独自例外を書けるという認識でよいのかがちょっとまだひっかかっています

関連するQ&A