[Python]from importでモジュール名やクラス名が被ってしまった場合の対応

python

Pythonでimportを使いモジュールやクラスをインポートした時に他でインポートしていたものとクラス名やモジュール名が被ってしまった場合の対応方法について。

as で解決

from app_a.models import Post as PostA
from app_b.models import Post as PostB

こんな感じでasの後ろに自分で名前を付けることができます。

あとは同スクリプト内ではPostAやPostBとして使うことで名前の重複を回避できます。

 

Djangoで複数のアプリケーションを1つにまとめてサイトマップを作成するスクリプトを書いていたのですが、複数のアプリケーションにまたがってクラス名が同一のものが散見されたので、どうしようかと思っていたらasが活躍してくれました。



カテゴリー