こんにちは!
機械学習講師をしている篠原です!
「苦手な人の気持ちに寄り添うことを忘れない」をモットーに、18 歳から集団指導塾や高校の学内予備校で教えていました!
この記事も、これから Python を学習する方向けに丁寧に書きましたので、ぜひご覧ください!
担当:篠原
Python を学習していると、一番初めに行う命令は import です。ですが、この命令、なんとなく行っていませんか?
この記事では、 import はそもそも何を行っているのか。そして周辺の専門用語であるモジュールやライブラリの知識を深めていきます。
この記事を読み終えた頃には、参考書などでも頻繁に見かける用語である「モジュール」と「ライブラリ」の区別がわかり、なんとなく行っていた import を納得しながら行うことができるようになります。プログラミングの理解度がより一層上がりますので、これからプログラミングスキルの上達を目指す方はぜひ読み進めてみてください!
- import をなんとなく使っていた方
- モジュールやライブラリという用語の意味があやふやな方
- これからプログラミングスキルを上達させたい方
ゼロから始めるプログラミング
スモールステップで Python を基礎から学べる、初学者の方向けの講座です。演習問題を通して Python の使い方を理解し、データ分析や機械学習実装のための基礎を身につけることを目指します。
DX を推進する AI ・データサイエンス人材育成コース
プログラミング未経験から、AI やデータサイエンスを学ぶことのできる 6 ヶ月間のコースです。転職実績も豊富で、自走できる AI人材を多く輩出しています。
初歩から学ぶ import とモジュール:Python の重要概念
「import」って一体何? Python の import 文を解説
プログラミングの初めに行う命令といえば、import です。
これは、既存のモジュール(便利な道具たちのこと)を Python 内で使用する際に必要なものです。言い換えるならば、
import = モジュールを使うための「呼び出し魔法」
※モジュール = プログラミングを行う際の便利な道具たち
です。
「import ~~~ ( = モジュールの名前) 」と唱えると、呼び出されたモジュールは、これ以降に使用することが可能になります!
例
import numpy
→ ベクトルや行列などの計算に関する処理を簡単に使用可能になる。
import datetime
→ 日付と時間に関する処理を簡単に使用可能になる。
逆に、import を行っていない場合は numpy や datetime などのモジュールを使用することはできないため、気をつけましょう!
※ 有名なモジュールである 「numpy」 の性能やできることなどについては、これらの記事がおすすめです!
では次に、専門用語であるモジュールと、併せて押さえておきたい「ライブラリ」「パッケージ」についてご紹介します。
「モジュール」って何? Python のモジュールの役割と活用法
モジュールとは、先ほど紹介した通りプログラミングを行う際の便利な道具です。
プログラミングはあなただけでなく、世界中で様々な個人や企業が開発・利用を日々しています。そしてこれからのあなたや世界中の様々な人が「もっとこの処理を簡単にできたらな」と感じています。
そこで、すごくプログラミングの得意な人や企業、そして Python そのものなどが、誰にでも利用できるようにかつ操作しやすいように便利な道具を開発し、公開しています。それこそがモジュールです。
「便利な道具」のことだと押さえておいてください。
「パッケージ」って何? モジュールのグループ化について
パッケージは道具箱のようなものです。具体的には、Python の「道具」であるモジュールがいくつも集まって一緒になったものを指します。これを少し分かりやすく言い換えると、「いろんな道具が詰まった大きな箱」というイメージになります。
例えば、絵を描くときに色んなブラシや色鉛筆が一つの箱に入っていると便利ですよね。それぞれのブラシや色鉛筆(これがモジュール)が一つ一つの特徴や役割を持っていて、それぞれが一緒になることで色んな絵を描くことができます。それと同じように、パッケージは色んなモジュールが一緒になったものです。
パッケージを使うことで、色んな「道具」を一度に取り出すことができます。それによって、プログラムを書く際の手間を減らすことができ、コードがすっきりと整理されます。
この「道具箱」を上手に使いこなすことで、Python でのプログラミングがもっと楽しく、そして効率的になるでしょう。
「ライブラリ」って何? Python のパワフルな武器を理解する
ライブラリとは、モジュールやパッケージが複数集まったもののことを指すものと説明されることが多いです。しかし、実は厳密にライブラリの定義は決まってなく、見解が少し異なることもあります。
モジュールやパッケージを複数個まとめて呼びたい時の名称であると認識ください。
Python の組み込みツール:標準ライブラリとその使い方
Pythonが元から用意しているライブラリを標準ライブラリと呼びます。
import datetime | 日付・時刻 |
import csv | csvファイル |
import math | 数学計算 |
import random | 乱数 |
import email | 電子メール |
import json | JSONファイル |
これらのライブラリは、Python に標準装備されている純正パーツのようなものです。
環境に影響されずに基本的に使用可能です。
Python の世界を広げる:外部ライブラリとその導入方法
個人や企業などが開発したライブラリを外部ライブラリと呼びます。
import numpy | ベクトル・行列の計算 |
import pandas | データ解析 |
import matplotlib | データの可視化 |
import sklearn | 機械学習 |
import tensorflow | 深層学習 |
import torch | 深層学習 |
その際は
pip install モジュール名
をimport の前に実行することで、その環境に追加することができます。
pip install pytorch-lightning==1.6.1
複数の「便利な道具を入れた袋がまとめて入っているタンス」のことだと押さえておいてください!
- import → 便利な道具を使用可能にする呼び出し魔法
- モジュール→便利な道具
- パッケージ→便利な道具を複数入れた袋
- ライブラリ→便利な道具を複数入れた袋が入っているタンス
※ライブラリの中にはパッケージだけでなく、モジュールも入っている
より簡潔に!import したモジュール名を効率的に書き直すテクニック
例えば先ほど pip install pytorch-lightning 。このまま使用していくと
import pytorch_lightning
pytorch_lightning.seed_everything(0)
trainer = pytorch_lightning.Trainer( 一部省略 )
という風に、長いコードを書くことになります。
この pytorch_lightning の文字数、できるなら減らしたいですよね?
担当:篠原
できます!
import モジュール名 as 別名
とすることで、別名に変えることができます。
import pytorch_lightning as pl
pl.seed_everything(0)
trainer = pl.Trainer( 一部省略 )
この2つはどちらも同じ結果が得られます。
あなたがもし写すことを頼まれた時、どちらの方が楽ですか?
さらに考えてみてください、Pytorch を用いてニューラルネットワークの処理を行う際のモジュールである torch.nn.functional
を別のあだ名(例えば F
)に置き換えてみると・・・
どちらがコードを打つ上でより楽に書くことができるのか、想像つきますよね!
※ import torch.nn.functional as F
このように、あだ名をつけ置き換えることで、コードをより楽に書くことができます!
必要なものだけ取り出す:一部の変数や関数のみを import する方法
from モジュール名 import 変数名・関数名
モジュールの中でも一部の機能のみを使用したい場合、from を先頭につける書き方を使うことがあります。
仮にモジュール名と同じような名前を変数名にしたい場合、import モジュール名
のみの宣言だと、モジュール名として扱われてしまいます。
しかし、from モジュール名 import 変数名・関数名
と宣言すると、一部のみのモジュールを扱うので、宣言していない他のモジュール名は変数としても自由に使用することができます!
from pandas_datareader.yahoo.daily import YahooDailyReader
また、一個のみではなく複数個のみを取り出せる方法もあります。
from torchvision import transforms, datasets
最後に
今回は import とモジュールをまとめました。
import → モジュールを使えるようにする呼び出し魔法
モジュール → プログラミングを便利に行える道具
import モジュール名 as あだ名 → モジュール名をあだ名に変えて、打つ量を少なく!
モジュールなどの用語は、プログラミングを学ぶ人にとって当たり前の用語として、様々な参考書や講義で出会います。ここで1つ理解を深めるだけでも、きっと今後の学習に役立ちますので、ぜひこの調子で学び続けてみてください!
私たちキカガクブログでは、初学者の方向けの入門シリーズをはじめ様々な記事を通じて皆様の学習に役立つ内容を提供していきます。これからも記事の更新にご期待ください!
まずは無料で学びたい方・最速で学びたい方へ
まずは無料で学びたい方: Python&機械学習入門コースがおすすめ
AI・機械学習を学び始めるならまずはここから!経産省の Web サイトでも紹介されているわかりやすいと評判の Python&機械学習入門コースが無料で受けられます!
さらにステップアップした脱ブラックボックスコースや、IT パスポートをはじめとした資格取得を目指すコースもなんと無料です!
最速で学びたい方:キカガクの長期コースがおすすめ
続々と転職・キャリアアップに成功中!受講生ファーストのサポートが人気のポイントです!
AI・機械学習・データサイエンスといえばキカガク!
非常に需要が高まっている最先端スキルを「今のうちに」習得しませんか?
無料説明会を週 2 開催しています。毎月受講生の定員がございますので確認はお早めに!
- 国も企業も育成に力を入れている先端 IT 人材とは
- キカガクの研修実績
- 長期コースでの学び方、できるようになること
- 料金・給付金について
- 質疑応答
ゼロから始めるプログラミング
スモールステップで Python を基礎から学べる、初学者の方向けの講座です。演習問題を通して Python の使い方を理解し、データ分析や機械学習実装のための基礎を身につけることを目指します。
DX を推進する AI ・データサイエンス人材育成コース
プログラミング未経験から、AI やデータサイエンスを学ぶことのできる 6 ヶ月間のコースです。転職実績も豊富で、自走できる AI人材を多く輩出しています。