パコチューを読んでいる 6.モジュール編 Python公式チュートリアル
たわ言
Pythonの公式チュートリアル、略してパコチュー(流行れ)
にるです。
前から思ってたんだけど公式ドキュメント横文字多すぎて初学者だと意味分からなくない?訳してあるから仕方ないんだけど。
Rubyみたいに日本人が作った言語なら分かりやすそうな解説いっぱいありそうだな...。
6. モジュール
今回はモジュールってやつを読みました!
ここを自分なりに理解したら今までのモヤモヤが晴れた感じしました!
モジュールってのは関数とか定義してある.pyファイルって事なのね。
(モジュール=ファイルって事でいいのかな)
もっと言うとimportして別ファイルから呼び出せるファイルのことだったのね。
defでfibとfib2って関数が定義されてるfibo.pyってファイルがある。
ここでimport fiboってやればfibとfib2を使えるようになると、ふむふむ。
fibo.py↓ 関数fibとfib2を定義してる。
importでfiboファイルを呼び出す。↓
>>>マークはターミナルやコマンドプロンプトでpythonモードに入ったときの証(インタプリタ?)
↓fibo.fib(1000)は、ファイル名.関数名(引数)。
importしてればこうやって自分で作った違うファイルに入れた関数を呼び出して使う事が出来るよってこと。
fibo.__name__???
__name__っていうpython標準の関数(組み込み関数)かな??
返り値を見るとファイル名を返してるっぽい。
↓またいちいちファイル名.関数名(引数)ってするのめんどくさければ、変数に代入して使うことも出来るよ
6.1. 別のインポートのやり方
さっきimport ファイル名で持ってこれるってやったんだけど、
このやり方だと使うときは必ずファイル名.関数名(引数)って具合に関数名も明示しないといけないのね。
初めからこのファイルのこの関数使う!!!って分かってる時は↓で指定して読み込めるみたいよ。
from ファイル名 import 関数名って感じ。↑
ファイル内の関数とかを全部読み込んどくならこれ↓
from ファイル名 import *←アスタリスク
↑このやり方は可読性が乏しいコードになるからやめた方がいいらしいよ。
(解説読んでたら「モジュールで定義されている名前を全て import する」って表記があって、importするのはひょっとして関数だけじゃないのか?って思ったり...)
あとは関数名を自分の使いやすいように変えられる方法もあります。↓
from ファイル名 import 関数名 as 好きな名前をどうぞ←下の例だとfibonacci
おしまい!
次回はif __name__ == "__main__"を頑張るぞ!
(公式チュートリアルでフィボナッチ数列が題材にされてるんだけど見る度にプリズンブレイクを思い出す...。わかる人いる??)