【Python基礎➀】importって何でしなきゃいけないの?どういう仕組みなの?という方へ
プログラミングを自力でやっていて、投げ出したくなる場面・・・「一体これは何のためにやっている?」「呪文のように暗記すればいいの?」
これが連続するとどんどん気持ちが折れそうになりますね。僕もそうです。
基本的な文法の解説等は有難いことに無料解説サイトが沢山ありますが、そこでも語られないようなことで意外とつまづきますよね。。。
なので、「① そもそも何のために?」「➁ 裏側で何が行われているの?」「➂ どういう場面で使うの?」という点に絞って書いていきたいと思います。
1. importって何のためにするの?
独習しようと人様のコードを見ると、大体初めに登場する「import xxx」、「from xxxx import xxxx」、「import xxx as xxx」、「from xxx import xxx as xxx」。
とりあえず、xxxxライブラリやxxxxモジュールをインポートすることで、自分のコード上で使えるようになるんだな・・・くらいに理解はされているか、今後されると思います。
2. 裏側で何が行われているの?
(1) Pythonのライブラリ・モジュールがどう管理されているか
あなたのPC上のPythonプログラムが格納されているフォルダを開いてみてください。
エクスプローラー等で「python」と検索すると、pythonフォルダが出てくると思います。
(私の場合は、Cドライブに格納されております。)
Pythonが格納されているフォルダに移動したら、Libというフォルダに移動してみください。(AnacondaでPythonをインストールされた方は、Anaconda配下のLibフォルダを開いてみてください)
並んでいるフォルダあるいはファイル名を見ると、importしたことのあるライブラリやモジュールがあるのではないでしょうか。
なお、フォルダで複数モジュールを保有しているものをライブラリ、単品のプログラムをモジュールと呼ぶのかなと私は理解してます。(間違ってたら誰か指摘してください・・・)
tkinter発見
random発見
では、tkinterを開いてみましょう。
中にフォルダやらファイルが格納されていますが、ttk.pyなんていうファイルも入っております。
では、ttk.pyファイルを開いてみましょう。
(IDLEでも、お使いのテキストエディタでも、メモ帳でも大丈夫です。見やすいよう、私はAtomで開きました。)
コードの内容自体は分からなくて大丈夫です。・・・が、591行目あたりを見ると、Buttonなんていうクラスがあります。
(2) Pythonのライブラリを利用するってどういうことか
つまり、以下のように記載してtkinterで作成した画面上にボタンを表示する場合は、これら予め用意したPythonプログラムを利用して実行しているわけです。
ボタンを定義するコード
button_a = ttk.Button(xxxframe)
そして、利用しているのはPythonファイル内で定義されたクラス(class)や関数(def xxx)ということです。
なので、例えば上記のように「tkinterというフォルダに格納されているttkというライブラリに用意されているButtonクラスを使いたい」という指示を出すだめに・・・
from tkinter import ttk
button_a = ttk.Button(xxxframe)
という書き方になるのです。fromというのは「複数のモジュール等をまとめたライブラリ(フォルダ)の中から、ttkというモジュールを呼び出すね」という指示となります。
今度はrandom.pyファイルを開いてみましょう。
頭の方を見ると、randomモジュール自身がmathモジュールやモジュールをインポートしてることが分かります。
そして、291行目あたりを見ると・・・
よくPythonの教科書や学習サイトでも見かけるrandrange関数を発見しました。
例えば、「1~10の間からランダムに数字を選びたい」という場合は、「randomモジュール内のrandrange関数を使いたい」となるため、プログラム上の指示としては・・・
import random
print(random.randrange(1, 11))
と書く訳です。つまり、「randomモジュールのrandrange関数を利用する」は、「random.randrange()」という書き方になるのです。
大分理解が進んできたのではないでしょうか。そうはいっても、ちゃんと理解するためには自分でコードを書いて動かして、納得する必要があります。
では、次から今までの説明をもとにした応用編として、「自分でモジュールやライブラリを作って、他のプログラムで呼び出す」ということをやってみましょう!
3. どういう場面で使うの?(応用編)
応用編として、自作モジュールと複数モジュールを格納したライブラリを作成して先ほどの方法で利用してみましょう。
(1) プログラムを格納するフォルダを作成する
私は自分のユーザーフォルダの中に、module-testというフォルダを作成しました。
(2) 自作モジュールを一つ作ってみる
作成したフォルダの中に、記念すべきはじめての自作モジュールということで「first_function.py」というファイルを作成しました。
テキストファイルを新規作成して、ファイル名を変更する際に拡張子を.pyにするとPythonファイルとなります。
では、IDLEやテキストエディタで編集していきましょう。
first_function.py
'''
これは私が初めて作成するモジュールなのである
名前を引数としてとって、占った結果を返します
'''
import random
def fortune_telling(name):
fortune = ['大吉', '中吉', '吉', '小吉', '凶', '大凶']
result = name + 'さんの運勢は' + random.choice(fortune) + 'です。'
return result
はじめにそれっぽくコメントもつけたりしました。
ここから先は
¥ 100
この記事が気に入ったらチップで応援してみませんか?