Python

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

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

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

  • モジュールをインポートするとき
  • 例外処理のexcept節
  • 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文を使って、モジュール・パッケージ・ライブラリを読み込む方法を解説します。それらのファイルをimport文で読み込むことによって、ファイルの機能をコード内で使うことができます。...

例外処理の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】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文で使えるようにするには、クラスにコンテキストマネージャを実装します...

まとめ

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

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

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

『DMM WEBCAMP COMMIT』