ひさふぃの日記

DjangoとPythonとLaravelが好き。大阪でフリーランスエンジニアやってます。

入門Python3のメモ 12章|パイソニスタになろう

Pythonの入門書として各所でオススメされている入門Python3。

shikouno.hatenablog.com

前半7章までで基本をおさらいし、後半8章からは他分野で活用できそうなちょっとした応用編がオールインワン。みんなのPython 第4版の次に読むとちょうどいいレベル感。

その際、初めて知る箇所や曖昧でいつも検索する箇所を後で見返せるようにメモしておこうかと。

そのため、このメモは僕の知識的偏りから生み出されたものであることを最初にお断りしておきます。気になった方は書籍を購入してください。

入門 Python 3

ちなみに、1章は導入なのでメモがありませんが、1.2 Pythonと多言語の比較は面白いので必見!著者の冗談も随所に入っていて、面白くていい本です。

英語版はPDFが無料で公開されています。よろしければ!

Introducing Python

後半8章からは色んな分野に渡る知識が書いてあるため、広く浅くの内容になっています。大まかな概要を掴んだり、検索時に活用するワードのピックアップという読み方・メモり方になる予定。

モジュールの探し方

  • 12.2 Pythonコードを見つけてこよう

優先度は左から、標準モジュール -> PyPI -> Github = Popular Python recipes

モジュールの探し方は、ドキュメントで知っているもの・google検索程度だったので幅が広がった。英語大事。

モジュールの一括導入

  • 12.3.1 pipの使い方

pip install -r requirement.txt

requirement.txtは、モジュールを一行ずつ書いたテキストファイル。バージョンの指定もできるようです。

pip freezeを出力するとスマートな気がする。

テスト

目次に書かれたものの他に、12.6.5でtox、py.test。12.6.6でbuildbot、jenkins、travis-ciが紹介されている。

品質を保ち開発速度を向上させるために必要なテストはノータッチ。なのでどこかのタイミングで取り入れていきたい。

デバッグ

入出力の引数を表示するデコレーターの例が示されている。関数の頭に表記するだけで良く、@マークが付いているので検索除去も簡単。

また、デバッガーの使い方に初めて触れたんですが、バグ探しの時はかなり便利そう。現在はprint文を随所に挟む非効率なことをやっているため、早いうちに慣れておきたいですね。

ただ、優先度はあくまでテストの方が高く、テスト多めデバッグ少なめは忘れないようにしてほしいとのこと。恒久的に使用できるものと一時的に使用するものの違いだからかな。

ロギング

  • 12.9 エラーメッセージのロギング

loggingを用いる。ファイルに出力されるのは便利そうだが、ロギングの基準が曖昧。連続運転や何度も繰り返す作業に対して当てはめてみる時に詳しく調べて使ってみよう。

コード処理の時間

  • 12.10.1 実行時間の計測

time.timeの差分を取ることで計測可能だが、timeit.timeitが完全上位互換。普通に使うならtimeitですね。

さいごに

メインの章は今回で終わりです。今回はコード以外の部分が多かったのですが、知りたかったことが満載なのでためになりました。もっと早くに12章を読んでいれば!

コードを書くための環境って、企業や学校に属していないと案外わからないものなので助かりますね。

最後までお読みいただきありがとうございます。それじゃ!

入門 Python 3

入門 Python 3