この記事では、Pythonで「as」を使う場面と使い方について解説します。
Pythonでas
を使う場面は現状以下の4パターンしか存在しない。
- モジュールをインポートするとき
- 例外処理のexcept節
- with文を使うとき
- パターンマッチングのバインド
as
は構文ではなく上記4パターンでのみ使えるオプションのようなものなのでas
の意味を深く考えるのはやめておきましょう。
それでは、パターンごとに使い方を見ていきます❗️
スポンサーリンク
モジュールをインポートする時のas
import
文を使ってモジュールをインポートする際にas
を使うことでインポートするモジュールにエイリアス(別名)を付けることができます。
# datetime.datetimeをdtで呼び出せるようにしている
from datetime import datetime as dt
print(dt.now())
実行結果
2021-08-04 17:06:49.633795
同時に複数のエイリアスを付けることが可能です。
from json import dumps as ds, loads as ls
vals = [1, 2, 3]
encode = ds(vals)
print(type(encode), encode)
decode = ls(encode)
print(type(decode), decode)
実行結果
<class 'str'> [1, 2, 3]
<class 'list'> [1, 2, 3]
【Python】import文を使ってモジュールやライブラリを読み込む方法この記事では、Pythonファイルにモジュールやライブラリを読み込む方法を解説します。Pythonファイルに任意のモジュールを読み込むことによって、そのモジュールに定義されている機能(関数やクラスなど)を読み込み先のPythonファイルから呼び出すことができます。...
例外処理のexcept節のas
try
文のexcept
節でエラーの型を指定した際にas
を繋げて名前を付けることで指定した例外が発生した時に生成されたエラーのインスタンスをその名前で参照することができます。
try:
raise ValueError('ValueErrorを発生させたよ!')
except ValueError as e: # eにValueErrorのインスタンスが渡される
print(f'type: {type(e)}')
print(f'エラーメッセージ: {e}')
実行結果
type: <class 'ValueError'>
エラーメッセージ: ValueErrorを発生させたよ!
【Python】try文を使った例外処理の方法この記事では、Pythonで例外処理する方法を解説します。例外処理とは、エラーに応じて実行される処理のことを言います。「エラー処理」とも呼ばれたりします。エラー(例外)が発生したけどプログラムを中断したくない場合は、あらかじめ例外処理を定義しておくことでプログラムを中断することなく発生したエラーに応じた処理を実行させることができます。...
with文のas
with
文を使ってコンテキストマネージャを処理する際に__enter__()
で返されたオブジェクトがas
で繋いだ名前に渡されます。
class ContextManager:
def __enter__(self):
print('前処理')
return '__enter__の戻り値です' # asで繋いだ変数に渡されるオブジェクト
def __exit__(self, exc_type, exc_value, traceback):
print('後処理')
with ContextManager() as text:
print(text)
実行結果
前処理
__enter__の戻り値です
後処理
【Python】自作クラスをwith文で使う方法【コンテキストマネージャ】この記事では、Pythonのユーザー定義クラスをwith文で使えるようにする方法を解説します。with文を使うことで、前処理と後処理を安全に実行することができます。with文で使えるようにするには、クラスにコンテキストマネージャを実装します...
パターンマッチングのas
Python 3.10で追加された構造パターンマッチングでもas
を使用することができます。
定義したパターンのサブジェクト値をcase
本体の処理で使用したい場合、as
に続く任意の変数名にサブジェクト値をバインドさせることができます。
num = 1
match num:
case 1 as n: # 1をasで繋いだnにバインド
print(n)
実行結果
1
まとめ
この記事では、Pythonのas
の使う場面と使い方を解説しました。
as
は、「モジュールインポート時」「例外処理」「with文」「パターンマッチング」でしか使わないのでこれらの使い方さえ覚えておけば問題ありません。
それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ