メインコンテンツにスキップ
モジュール 7 · レッスン 4 / 4コース内の 28/36~10 min
モジュールのレッスン (4/4)

インポートとモジュール

Python の モジュール は、単に .py ファイルです。モジュールのコードを使用するには 別のファイルからインポートします。

import の形式

Python
# 1) import del modulo intero
import math
math.sqrt(16)        # 4.0
math.pi              # 3.14159...

# 2) import di nomi specifici
from math import sqrt, pi
sqrt(16)             # ora direttamente disponibile
pi

# 3) import con alias
import numpy as np      # convenzione idiomatica
from datetime import datetime as dt

# 4) import "star" (sconsigliato)
from math import *      # inquina il namespace, evita

Python がモジュールを探す場所

Python は sys.path で以下を含むモジュールを検索します。

  1. 実行中のスクリプトのディレクトリ、
  2. PYTHONPATH のディレクトリ、
  3. インストールされているライブラリ (site-packages)。
Python
import sys
sys.path     # lista di directory

モジュールの作成

mio_modulo.py を作成します。

Python
# mio_modulo.py
PI = 3.14159

def area_cerchio(r):
    return PI * r * r

同じディレクトリ内の別のファイルから:

Python
import mio_modulo
mio_modulo.area_cerchio(5)   # 78.53975

from mio_modulo import area_cerchio, PI

if __name__ == "__main__":

スクリプトが 直接実行されると、その特殊変数 __name__ "__main__" と等しくなります。同じファイルを モジュールとしてインポートすると、 __name__ はモジュール名と同じです。

Python
# strumento.py

def fai_qualcosa():
    print("lavoro!")

if __name__ == "__main__":
    # eseguito solo se lanci `python strumento.py`
    # NON viene eseguito se qualcuno importa questo file
    fai_qualcosa()

これは、再利用可能なファイルとして機能するファイルの標準パターンです。 モジュール と 実行可能スクリプト。

パッケージ: モジュールのフォルダー

__init__.py ファイル (空のファイルであっても) を含むディレクトリは、 インポート可能な パッケージ:

Code
mio_pkg/
    __init__.py
    utenti.py
    pagamenti.py
Python
from mio_pkg import utenti
from mio_pkg.utenti import crea_utente

あなたの番です

運動#python.m7.l4.e1
試行回数: 0読み込み中…

`math` モジュールから関数 `sqrt` をインポートし (`from math import sqrt` を使用)、144 の平方根を計算し、それを `r` に代入します。 「r」を評価します。

エディターを読み込み中…
ヒントを表示

数学インポート sqrt から

3 回の試行後に解決策が利用可能になります

復習演習

運動#python.m7.l4.e2
試行回数: 0読み込み中…

`random` モジュールをエイリアス `rnd` でインポートし (`import rand as rnd`)、rnd.seed(42) でシードを 42 に設定し、rnd.randint(1, 100) を評価します。

エディターを読み込み中…
ヒントを表示

ランダムを rnd としてインポート

3 回の試行後に解決策が利用可能になります

追加の課題

運動#python.m7.l4.e3
試行回数: 0読み込み中…

Import the `sin` and `cos` functions directly from the `math` module using `from ... import ...`. Calculate the sum of `sin(0)` and `cos(0)`, store it in `trig_sum`, and evaluate it.

エディターを読み込み中…
ヒントを表示

sin(0) は 0.0 を生成し、cos(0) は 1.0 を生成します。合計は 1.0 です。数学インポートの sin、cos から使用します。

3 回の試行後に解決策が利用可能になります