yakataの情報奮闘記

プログラミングの話をします

Pythonで新しいライブラリに触れたときとかに役立つTips

今日、2019/07/17も僕は生きていたんだよっていう記録を残したくて。

エンジニア界隈ではWordは使うんじゃない、Markdownこそ至高みたいな風潮があったりなかったり。とにかく、中身が複雑すぎるツールを嫌う傾向にあると思います。とはいえ、Wordさんはおそらく一番使われているドキュメント作成ツール。そこから逃げるわけには行きません。自分が書くならともかく、他人がWordファイルで共有してくることを止めることは出来ません。

そのときにとりあえず構造化したいなぁと思って、ネットの海をプカプカしていたらPython-docxというライブラリを見つけました。これを使うとPythonでdocxファイルをいじって、好きな形式でoutput出来るらしい。今回はcsvで表示することにしました。

さて、本題は新しいライブラリでとりあえず成果を出す方法です。 まずはドキュメントのTutorial的なものをよみこみましょう。そのうえで登場人物となるものたちのクラスを調べます。

print(new_concept.__class__)

それらのクラスがわかったら、何が出来るのかを調べます。

def examine_new_concept(new_concept):
    print("Usage: new_concept\nthis concept have several items. ↓\n")
    for key, value in new_concept.__class__.__dict__.items():
        print('{0}, {1}'.format(key, value))
    print()

    print("new concept have several functions. ↓\n")
    for x in dir(new_concept):
        print(x)

    print()

関数名と簡単な説明が表示されるコードです。大体これだけで何が出来るのかわかります。
出来たら、各クラス間の関係性を書いていきます。これは全て必要なわけでなく、今出したいアウトプットに必要な項目だけでとりあえず大丈夫です。

この上で必要な関数の詳細はドキュメントを読んだり個別で行うとして、概ねの必要な概念のマッピングはできたんじゃないでしょうか。