ライブラリを自作しよう! パッケージ入門
Pythonは全部入りである。
私の言葉ですが、Pythonは自分でライブラリを作る必要がほぼありません。
なんと大抵のものがネットのどこかに転がっているんですね。
とはいえ! 誰かの作ったものを使うだけなんて退屈だ! と思うのは私だけでしょうか……
そこで! ライブラリの作り方を解説します。
ネット上にはライブラリの使い方は山ほど載っているんですが、それに対してライブラリの作り方を解説した記事は本当に少ない!
そこでなろうという場でライブラリ自作の勧めを書きましょう、ほかならぬ私がです。
実はライブラリを作るのはそんなに難しいことではありません、何故ネットにあまり無いのでしょうか、不思議ですねぇ……
無ければ作れという言葉通りに作っていきましょう。
まずはなろうらしくgodという名前のライブラリに転生させてもらいましょう。
初めに実行する.pyファイルとおなじディレクトリにgodという名前のディレクトリを作りましょう。
ちなみに海外展開でウハウハとか考えてるなら絶対この名前はやめましょう福音派とかが激おこです。え? 日本? いいでしょなろうなんだから。
といういわけで神様の扱いが軽い事には定評のあるなろうらしくこのライブラリに転生させてもらいましょう。
godディレクトリの下にrebirth.pyという名前のファイルを作ります。内容はこんな感じ。
class god():
def __init__(self):
pass
def rebirth(self):
print("本当にすまない! 転生させるから許してくれ!")
passはまだ紹介していませんでしたね、何もしないという意味です。
Pythonでは行単位で処理するため何もしない場合は明示的に「ここは何もしない」とpass文を書く必要があります。
じゃあ何もしないのになんで__init__(self):が要るの? という話ですが、後々のためです。
大抵後から「これもさせたかった」という願望が出てきますがコンストラクタは今回のような非実用的なライブラリでなければ大抵必要になるので書いています。
皆さんが自分で作るときに作るかどうかは自由ですが、実用的なクラスを作るならほぼ必須でしょう。
なんとこれをコピペするだけで立派なライブラリの完成です!
え? ショボい? 「完璧よります終わらせろ」っていう言葉があるじゃないですか。
では早速使ってみましょう。
メインディレクトリのnarou.pyにこう書きます。
from god import rebirth
GOD = rebirth.god()
GOD.rebirth()
なんとたった三行です「永井産業」といわれても困らないですね!
さて実際に何をやっているかは予想が付くと思いますが説明します。
from god import rebirth
この行はgodディレクトリからrebirth.pyを取り込めという命令です。
拡張子の.pyは書かないことに気をつけましょう。
下二行はもう説明が要らないかもしれませんが一応書くと、
GODにrebirth.pyに書かれているgodクラスのインスタンスを放り込んで、下の行でgodクラスのrebirth関数を呼んでいるだけです。
ちゃんと実行すると以下のように表示されます。
>本当にすまない! 転生させるから許してくれ!
きちんと書いたとおりの文が表示されますね。
以上で終わらせてもいいんですが念のためちゃんとコンストラクタが呼ばれているのか確認のために__init__(self):のpassを書き換えてみましょう。
def __init__(self):
print("危なーい!!!")
print("ドーン!")
print("キャー!!")
これはプログラミング講座ではなくなろう小説の体裁で書いているのでまあこのくらいふざけてもいいでしょう。では実行結果。
危なーい!!!
ドーン!
キャー!!
本当にすまない! 転生させるから許してくれ!
はい、コンストラクタがちゃんと呼び出されてますね。
難しいことをいえば難しくもできるのですが、人間簡単な方がいいですからね、とりあえずこれだけ覚えておけば自作ライブラリが完成です。
繰り返しますがPYPIと呼ばれるライブラリを集めているパッケージ集が誰でも投稿できる形で公開されていますがこれを投げないでくださいね。
宗教ガチ勢の方々には冗談が通じないしなろうなんて知らない人が殆どですからこういう実用性のないライブラリを投稿しないようにしましょう。
はい、というわけで、かんたん! らいぶらりじさく! コーナーでした。




