Python

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

Pythonでasを使う場面は以下の3パターンしか存在しない。

  1. モジュールをインポートするとき
  2. 例外処理のexcept節
  3. with文を使うとき

asは構文ではなく、この3パターンでのみ使えるオプションのようなものなので、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のimport文を使って、モジュール・パッケージ・ライブラリを読み込む方法を解説します。それらのファイルをim...

例外処理のexcept節のas

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】エラー処理の仕方【例外処理】この記事では、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文を使うことで、前処理と後...

まとめ

この記事では、Pythonのasの使う場面と使い方を解説しました。

asは「モジュールインポート時」「例外処理」「with文」でしか使わないので、これらの使い方さえ覚えておけば問題ありません。

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

最短3か月でエンジニア転職『DMM WEBCAMP COMMIT』