公式リファレンス:https://docs.python.org/ja/3.12/reference/index.html
https://qiita.com/piyo_parfait/items/5abbe4bee2495a62acdc
ダウンロード: https://www.python.org/ftp/python/3.12.6/python-3.12.6-embed-amd64.zip C直下に解凍してpath設定。
def 関数名(引数名: 型, 引数名2: 型) -> 戻り値の型: ...
def 関数名(引数名1, 引数名2, ...):
処理1try:
raise ValueError('out of range') # ←ここで例外を明示的に発生させる、中の文言は好きに書ける、
except Exception:
return 0
except Exception as e: #好きに書いた文言はeとなる
print(e)
よく使う例外クラス+用途
| **例外クラス** | **用途(発生する状況)** |
| ----------------------- | ---------------------------------- |
| **ValueError** | 引数の型は正しいが、値が不適切な場合(例:`int('abc')`) |
| **TypeError** | 型が不正な場合(例:文字列と数値を足そうとした) |
| **KeyError** | 辞書に存在しないキーを参照した場合 |
| **IndexError** | リストやタプルで範囲外のインデックスを参照した場合 |
| **FileNotFoundError** | 指定したファイルが存在しない場合 |
| **PermissionError** | ファイルや操作に対して権限がない場合 |
| **RuntimeError** | 実行時に一般的なエラーが発生した場合(特定の型に分類できない場合) |
| **NotImplementedError** | 抽象メソッドや未実装の機能を呼び出した場合 |
| **AttributeError** | オブジェクトに存在しない属性やメソッドを呼び出した場合 |
| **ImportError** | モジュールのインポートに失敗した場合 |
| **ModuleNotFoundError** | 指定したモジュールが見つからない場合 |
| **ZeroDivisionError** | 0で割り算した場合 |
| **OverflowError** | 数値演算が範囲を超えた場合 |
| **StopIteration** | イテレータが終了した場合(通常は内部で使われる) |
| **AssertionError** | `assert` 文が失敗した場合 |
| **MemoryError** | メモリ不足のとき |
| **EOFError** | 入力が予期せず終了した場合(`input()` でEOF) |
基本的にubuntuのpackage管理はaptなのに、pip経由でpackageインストールすると、apt管理外になる環境破壊の恐れがある。なので「python -m pip install openpyxl」はダメ。sudo apt insatll python3-openpyxl