【Python入門】モジュールとimport – 必要な部品を利用する方法

Pythonの基礎
スポンサーリンク

初心者の独学でのプログラミング学習はとてもツライ…

プログラミングをマスターしたい!

今のIT業界はプログラミングエンジニアが不足していると言われています。
高収入の職業とも言われる分野もありますし、AI、機械学習、ディープラーニング、IOTといった注目される分野が目白押しです。

でも、いざ初心者がプログラミングをマスターしようとすると…

  • 本を読んだりネットの記事で自力で勉強しているけど限界を感じる
  • プログラミングスクールに定期的に通うのは面倒だ
  • 地方に住んでると家の近くにプログラミングスクールなんてない
  • どのプログラミング言語を学べばいいのか悩む
  • 実際の就職や転職にプログラミングが活かせるのか心配だ

など、プログラミングを自分で勉強しようとすると悩みが尽きません。

プログラミングに詳しい友人に教えてもらおうと思っても、そんな友人なんて滅多にいません。いたとしても細かく教えてくれるほど時間に余裕がある人はいないでしょう。

そんな独学でプログラミングをマスターするのに限界を感じてる方に、オンラインプログラミングスクールをがおすすめです。

おすすめのオンラインスクールはこちら

Pythonには、プログラムで利用する関数などの部品を分類してまとめておいて、外部のプログラミングファイルにそれを取り込んで使う仕組みがあります。

この部品の集まりをモジュールやパッケージと言います。

このモジュールを取り込むための「import」「from」といったキーワードを使います。

ここではモジュールとインポートについて触れていきましょう。

スポンサーリンク

モジュールを作る

モジュールをインポートしてプログラミングに利用するということですから、簡単なコードでモジュールを作ってみましょう。

作業しているディレクトリの中に、Pythonファイルを作ります。ここではmy_voice.pyとword_shout.pyいうファイル名の2つのファイルを作成してみます。

my_voice.pyはこちらのコードにしました。

挨拶と勉強中!と返す関数を書いています。

word_shout.pyはこちらのコードにしました。

引数に言葉を入れて、それを3回返す関数を書いています。

ここまでは特に問題無いと思います。

スポンサーリンク

パッケージを作る

モジュールはパッケージとして一つにまとめて、階層構造を作ることができます。

ここで作業ディレクトリに新たにフォルダを作ってみます。ここではフォルダ名をmy_moduleとしました。

このmy_moduleフォルダの中に新しくPythonファイルを用意して関数を書いてもいいのですが、ここでは上の2つのファイルをコピーして、こちらのフォルダの中に入れます。

そのままでもいいのですが、区別をつける為にちょっとだけそれぞれのコードを変えておきます。

my_module/my_voice.pyはこうしておきます。

my_module/word_shout.pyはこうしておきます。

特に難しいところは無いですね。

このmy_moduleというフォルダは、ファイルが2つ入ったパッケージになります。これをPythonでパッケージとしてインポートすることができるように__init__.pyというPythonファイルをフォルダ内に作成します。

my_module/__init__.py

__init__.pyは今は何も記入しなくて構いません。設定を書くことができるのですが、それは別の機会に扱います。パッケージのフォルダに入れて置かないといけないファイルということだけ今は頭に入れておきましょう。

スポンサーリンク

モジュールをインポート

では、モジュールをインポートして使うとはどういうことなのか見ていきましょう。

作業ディレクトリに作業するファイルを用意して、そこにコードを書いていきましょう。ここではpractice.pyというファイル名で作業していきます。

現時点で作業ディレクトリがどんな構成になっているかをターミナルからlsコマンドを使って見てみましょう。

lsコマンドなどターミナルで使うコマンドがわからない場合はこちらを参考にしてください。

Macのターミナル操作でよく使う基本的なUNIXコマンド入門一覧
Macでターミナルの操作を覚えて置くと何かと便利です。ここではMacのターミナル操作でよく使う基本的なUNIXコマンドを入門編として一覧にしてみました。Linuxコマンドとしても使えますから、他でも活用できますよ。Macの醍醐味もわかります。

作業フォルダの中は次のような形になっています。

__pycache__というものがありますが、一度Pythonを実行するとキャッシュが作成の為にできるものです。ここではとりあえず無視で構いません。作成したファイルとフォルダが確認できますね。もちろんフォルダの中にも作成したファイルが入っています。

では、practice.pyにコードを書いてインポートの方法を見ていきましょう。

モジュールをインポートするには、「import モジュール名」をコードの冒頭に書きます。

まずは最初に作った2つのPythonファイルをインポートしてみましょう。

同じ作業ディレクトリにあるモジュール(ファイル名)を指定してインポートしているのがわかります。

このモジュール名に続けて、ドット(.)で接続してモジュール内の関数をそれぞれ呼び出して実行するコードですね。

Atomで実行するとこうなります。

モジュールで定義した関数が、このプログラミングで実行されているのがわかりますね。

次はパッケージ(ここではmy_module)のインポートについて見てみます。1つのモジュールだけインポートしたコードを書いてみます。

importに続けて、パッケージ名を置き、ドット(.)に続けてモジュール名を書いています。

呼び出すには、パッケージ名を置き、ドット(.)に続けてモジュール名を書き、さらにドット(.)に続けて関数を呼んでいます。

実行するとこうなります。

パッケージ内のモジュールの関数が呼び出されているのがわかります。

ただ、これは呼び出すコードがとても長くなりますよね。

このコードは次のようにfromキーワードを使って書き換えることができます。

パッケージの中から特定のモジュールをインポートしているコードになります。

呼び出しのコードがモジュール名からになっています。

また、次のようにも書き換えることができます。ただし、この書き方は実際にはやらない方がいいです。

これはパッケージのモジュールから、特定の関数だけをインポートしているコードになります。

今度は呼び出しのコードが関数名だけになっています。この関数だけ呼び出されているのがくせ者です。この場合はコードが単純ですからわかりますが、このコードの中に別にshout()関数を定義しているところに、このモジュールのインポートの方法を行っていると、関数の名前が同じになってバッティングすることになります。

ですから、この最後のインポートの書き方は避けるようにしましょう。

どれも出力の結果は同じになりますが、このようにインポートの書き方で呼び出し方が変わってくることに注意しましょう。どのような書き方をするかは、統一しておくのが良いと思います。

スポンサーリンク

別名でインポート

今度は、このコードを見てみましょう。パッケージに入れたもう1つのモジュールを使ってコードを書いています。

実行するとこうなります。特に違うことはやっていません。

パッケージ内のモジュールを使っているのがわかりますね。

ここで、関数を呼び出すのに、モジュール名に繋げて書くのはちょっと長いなと思えたりすることがあります。

このモジュール名はまだいいですが、場合によってはもっと長い名前になってコードの記述が煩雑に感じたりすることがあります。また、この場合のように同じモジュール名を何度も使って呼び出すのもかなり手前になります。

この場合は、インポート時にasキーワードを使ってモジュール名を別名にして簡素な使いやすいものに変えて使うことができます。

このコードを書き換えてみましょう。

インポート時にmy_voiceをasキーワードにして、mvに変更しています。呼び出しもモジュール名ではなく、この別名を使っています。

実行しても結果は同じです。

このように、モジュール名をわかりやすい別名にすることで利便性を高めることができますし、同じ名前の別のモジュールを使いたい時にもこの書き方で利用することができます。

ただし、あまりこれを多用すると、別名の部分を見ただけでは何のモジュールを使っているのかわからないことにもなるので、使わない方が良いと言われる場合もあります。

スポンサーリンク

インポートする方法のルール

これまでモジュールを作ってインポートをする方法を見てきました。

Pythonにはあらかじめ組み込まれている標準モジュールもあります。

また、サードパーティのモジュールもあります。

これらをそれぞれ使ってプログラミングすることがありますが、インポートする時に書く順番が決められています。守らなくてもプログラミングは動きますが、コードを読んだ時に理解しやすくする為に意識したおきましょう。

適当にモジュールをインポートしたコードを書いてみました。

まず、importに続けて複数のモジュールをカンマで区切って書くこともできますが、これは推奨されていません。

どれもアルファベット順にそれぞれインポートする必要があります。

また、モジュールの種類毎にインポートします。まず標準モジュールをインポートして、1行開けてサードパーティモジュール、1行開けて作成したパッケージ、さらに1行開けてローカルファイルという並びで記述するというルールになっています。

スポンサーリンク

まとめ

Pythonには、プログラムで利用する関数などの部品を分類してまとめておいて、外部のプログラミングファイルにそれを取り込んで使う仕組みがあります。

この部品の集まりをモジュールやパッケージと言います。

パッケージは自分で作ることもできますし、すでに組み込まれた標準モジュールや、サードパーティのモジュールをインストールして使うことができます。

import文でモジュールをインポートします。fromを組み合わせてモジュールを指定してインポートすることもできます。

パッケージをインポートする順番もルールとして決められています。

インポートはプログラミングで常に使うことになりますのでしっかり理解しておきましょう。

自宅学習はオンラインプログラミングスクールを活用!

自宅学習にはオンラインプログラミングスクールがおすすめ!

オンラインプログラミングスクールは独学でプログラミングを学習する時のデメリットを解消する仕組みが備わっています。

気になるところは…

学習がオンラインで完結するのはもちろんですが、独学ではできない質問サポートがあるかどうか。わからないことを現役のエンジニアが質問に答えてくれるといいですよね。

受講者個人に担当のメンターがつき、マンツーマンで学習の相談に乗ってくれることも必要で、ITエンジニアの世界についても伺えたりもすると幅が広がります。

オンライン面談だけでなく、チャット機能を使って気軽に質問を投げかけることができることも大切です。

また、オリジナルプロダクトの開発とサポートがコースの中に組み込まれていて、独学ではなかなか難しい実践的なスキルの習得にもつなげたい。

プログラミングをマスターした後の実際の仕事につながる転職サポートでがあると、ITエンジニアの世界に飛び込むのに不安が解消されます。

そんな豊富なメニューが揃っているおすすめのオンラインプログラミングスクールがこちらにあります。

おすすめのオンラインプログラミングスクールはこちら

TechAcademyはおすすめのオンラインプログラミングスクール!

オンラインのプログラミングスクールでは、テックアカデミーの充実度が目を見張ります。

オンラインで受講が完結するので、自宅学習でプログラミングをマスターしたい人にはテックアカデミーがおすすめです。

メンター制度も現役のプロが対応してくれます。大学生などが対応しているスクールに比べて本気度と専門性が違います。メンター制度の無いスクールもありますし、担当では無いメンターが対応するスクールもあったりするので、相談の質が違いますね。

チャットサポートもあるので、それが無いスクールに比べて相談の気軽さの違いがあります。

プロダクト開発のサポートで実践力が養われるだけでなく、どの講座を利用しても転職サポートが受けられるのはありがたい。

用意されているコースも、初心者向けのプログラミングコースから、Python、Java、PHP、iPhoneアプリ、AndroidといったITエンジニアのベースとなる主要な言語だけでなく、AI、データサイエンス、ブロックチェーン、webアプリケーションと行った実践的なコースまで用意しています。

他にも、webデザインやUI/UXデザイン、動画編集、webディレクションやwebマーケティングといったプログラミング以外での役立つコースまであります。

このようなたくさんの選択肢から自分にあったコースを選ぶことがでるのがテックアカデミーです。

コースの期間も短期間でマスターしたり、長期の受講でじっくり取り組むコースを選ぶこともできます。

複数講座のセットコースを利用することで大幅な割引が受けらるので、お得に受講することもできます。

無料体験もありますので、プログラミング学習でオンラインスクールを考えている人はTechAcademyをぜひ利用してみてください。

テックアカデミーの公式サイトはこちら

タイトルとURLをコピーしました