0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python 入門】import 文の書き方 総まとめ

Posted at

Pythonでプログラムを書く際、避けては通れないimport文。
本記事では、基本的な使い方から実践的なテクニックまで、分かりやすく解説します。

import 文とは

Pythonでは import 文を使用することで、他のファイル内に記載されている module にアクセスできるようになります。
より詳しい説明は公式ドキュメントを参照してください。
この記述にいくつかパターンがあり、理解しておくことが大切です。

VSCodeで簡単に書く方法

元も子もない説明になりますが、Visual Studio Code を使用している場合は、拡張機能の Python を入れて、import が書けていない参照の波線にマウスを合わせて「クイックフィックス」で追記しましょう。

image.png

これなら覚えなくても書けますね。

記述パターン

改めて、記述のパターンを下記に示します。

# パターン1: モジュール全体をインポート
import module_name

# パターン2: モジュールに別名をつけてインポート
import module_name as alias_name

# パターン3: モジュールから特定の要素をインポート
from module_name import function_name, class_name

# パターン4: モジュールから全ての要素をインポート(非推奨)
from module_name import *

1. モジュール全体をインポート

最も基本的な方法です。モジュール内の要素にアクセスする際は、モジュール名を前置する必要があります。

import math
result = math.sqrt(16)  # → 4.0

2. モジュールに別名をつけてインポート

長いモジュール名を短く省略したい場合や、名前の衝突を避けたい場合に使用します。

import numpy as np
array = np.array([1, 2, 3])

※ numpy は別途インストールが必要な場合があります

3. モジュールから特定の要素をインポート

モジュールの特定の関数やクラスのみを使用する場合に適しています。

from datetime import datetime, timedelta

# 現在の日時を取得
current_time = datetime.now()
print(f"現在時刻: {current_time}")  # 例: 現在時刻: 2024-10-28 15:30:45.123456

# 1日後を計算
tomorrow = current_time + timedelta(days=1)
print(f"1日後: {tomorrow}") 

4. モジュールから全ての要素をインポート

名前空間が汚染される可能性があるため、通常は推奨されません。

from math import *  # 非推奨
result = sqrt(16)   # math.を省略できるが、どこから来た関数か分かりにくい

よく使われる標準ライブラリのインポート例

# 日時操作
from datetime import datetime, timedelta

# ファイルパス操作
import os
from pathlib import Path

# 正規表現
import re

# JSONデータの処理
import json

# ランダム値の生成
import random

プロジェクト内の自作モジュールのインポート

プロジェクト構成が以下のような場合を考えます。

my_project/
├── main.py
└── utils/
    └── helper.py

main.pyからhelper.pyをインポートする方法は下記です。

from utils.helper import UsefulClass

スタイルガイドに基づくインポートの記述

Pythonの公式スタイルガイド(PEP 8)では、インポート文の記述について以下のように定めています:

  1. インポートは個別の行に記述する
  2. インポートは以下の順序で記述し、各グループ間に空行を入れる
    • 標準ライブラリ
    • サードパーティライブラリ
    • ローカルアプリケーションやライブラリのインポート
  3. インポートはファイルの先頭に配置する(モジュールのコメントや docstring の後)
  4. ワイルドカードインポート(from <module> import *)は避ける
# 標準ライブラリ
import os
from datetime import datetime

# サードパーティライブラリ
import numpy as np

# ローカルアプリケーション
from utils.helper import UsefulClass
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?