{category}

Python - モジュールのインポート

from

フロム(モジュールとパッケージ

意味 一部機能の取り込み


fromとは?

from文は、Pythonのプログラムで、外部のモジュールやパッケージの中から、特定の関数やクラスだけを取り込むために使われます。必要なものだけを取り込むことで、プログラムの読みやすさを向上させることができます。

fromの具体的な使い方

正規表現を使用した文字列操作

from re import search, sub

text = "私の電話番号は080-1234-5678です。メールアドレスは[email protected]です。"

# 電話番号を検索
電話番号 = search(r'\d{3}-\d{4}-\d{4}', text)
if 電話番号:
    print(f"電話番号が見つかりました: {電話番号.group()}")

# メールアドレスをマスク
マスク後のテキスト = sub(r'\S+@\S+', '****@****.***', text)
print(f"マスク後のテキスト: {マスク後のテキスト}")

👇出力結果

電話番号が見つかりました: 080-1234-5678
マスク後のテキスト: 私の電話番号は080-1234-5678です。メールアドレスは****@****.***です。

この例では、reモジュールからsearchとsub関数をインポートして、正規表現を使った文字列操作を行っています。search関数で電話番号を検索し、sub関数でメールアドレスをマスクしています。fromを使用することで、re.searchやre.subと書く必要がなくなり、コードがより簡潔になります。

fromに関するよくある質問

Q. from import *の問題点は?
A. from モジュール名 import * は、モジュールの全ての要素を現在の名前空間に取り込みます。これにより名前の衝突が起こりやすくなり、コードの可読性も低下するため、一般的には推奨されません。特定の要素だけをインポートするか、モジュール全体をインポートする方が良いプラクティスです。
Q. 相対インポートとは?
A. 相対インポートは、現在のモジュールの位置を基準にして他のモジュールをインポートする方法です。from . import モジュール名 のように、ドット(.)を使用します。1つのドットは同じディレクトリ、2つのドットは親ディレクトリを表します。パッケージ内部のモジュール間の関係を明確にできますが、スクリプトとして直接実行する場合には使用できません。
Q. 循環インポートの問題とは?
A. 循環インポートは、2つ以上のモジュールが互いにインポートし合う状況を指します。これはインポート時にエラーや予期せぬ動作を引き起こす可能性があります。解決策としては、インポートを関数内に移動する、共通の依存関係を別のモジュールに抽出する、またはインポート文の位置を調整するなどがあります。

fromが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Pythonのfromやfrom . import module、nonlocal、global、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Pythonを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Pythonはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

from . import module

現在のフォルダからインポート

種類: 相対インポート

nonlocal

内側の関数から変更

種類: グローバルとノンローカル

global

全体で有効な変数

種類: グローバルとノンローカル

dis

Pythonコードの解析

種類: デバッグ

re.match

文字列の先頭一致

種類: 正規表現