フタミノブログ

マーケティングから技術まで色々

Pythonチュートリアルをやってみる その4

f:id:nimi0370376:20170709011757p:plain

 

昨日、おとといと少し忙しかったので更新できなかった。でも、チュートリアルはしっかりとやっています。

 

前回何やったか覚えてないけど、確かオブジェクト指向のデータのやりとりをやった気がする。さほど難しくなかった覚え。

 

前回のエントリは下記リンクからお願いします。

 

nimi0370376.hatenablog.com

 

 

さて、今回もやっていきましょう。

 

 

第6章 モジュール

さて、6章にきてやっとモジュールがきました。詳しくやるとすごく難しそうなんだけど、表面的にやるぶんには今までで一番軽いところかも。

 

端的に言うと、Rubyで言う所のgemみたいなやつ。あと、requireってついてたアレみたいなやつ。つまり、外部のライブラリやファイルを読み込んで使うって言うのが大きな役割。実際にコードを書いて見ていく。

 

 

6-1 モジュールについて

関数を定義する際に、なんども定義するのは面倒臭い。他の人が定義した関数を使いたいときに役立つ。

 

今回は、フィボナッチ数列の関数定義をモジュールから返す。適当にテキストエディタを開く。

 

fibo.py

 

と名付けて、以下のコードを書き込む。

 

f:id:nimi0370376:20170709011757p:plain

 

保存する。

Pythonインタープリタを起動して、

 

>>>import fibo

 

でモジュールを読み込める。

実際に使ってみる。モジュールの使い方は下記の文法になる。

>>>モジュール名.メソッド名

よって

f:id:nimi0370376:20170709012707p:plain

 

よく使う場合は、変数に代入してあげれば良い。下記のようになる。

f:id:nimi0370376:20170709012817p:plain

 

以上。

 

 

6-2 モジュールの検索パス

spamと言う名前のモジュールがインポートされるとき、インタープリタはまずビルトインモジュールの中にこの名前のモジュールがないか検索する。

もしない場合は、sys.path変数で得られるディレクトリのリストを使ってspam.pyというファイルを検索する。

 

 

変数sys.pathはインタープリタのモジュール検索パスを指定する文字列のリストである。これは環境変数PYTHONPATHを使って、またはPYTHONPATHがセットされていないときは組み込みのデフォルトを使って、デフォルトパスとして初期化されている。

 

>>>import sys

>>>sys.path.append('/usr/local/lib/python3')

 

 

 

6-3 dir()関数

ビルトイン関数dir()は、モジュールが定義している名前を確認するのに使う。返り値は文字列のリストで、ソート済みである。

 

f:id:nimi0370376:20170709013455p:plain