Python PR

【Python】asの使う場面と使い方について

記事内に商品プロモーションを含む場合があります

この記事では、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文」「パターンマッチング」でしか使わないのでこれらの使い方さえ覚えておけば問題ありません。

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ