次のSphinx拡張を作りながら、メモしておくといいと思った事柄。
文字列データ
文字列の基本。これらの説明は「字句解析」のページで見つかる。
-
r"文字"正規表現で大活躍 -
f"文字"f"http://{host}/{paht}/{file}"の用に変数が書ける -
u"文字"Python3では使わない -
b"文字"使わない
英数字の並びを一文字ずつforループで処理する場合に
-
list(string)文字列を1文字毎のリストにしてくれる
リスト型データ
🍳基本的な使い方
🐾pprint
大量のデータを持つリスト型を見やすく視覚化する「 pprint 」
from pprint import pprint して、後は print() と同じ感覚で使うだけ。
🩸やらかし(その1)
関数内でのコード
return [node], []
受け取り側(間違い)
node, message = func()
これで、「 node['key'] がエラーになる。何で?」と思っていた…
受け取り側(正解)
[node], message = func()
yield
これが分かりやすかった。
関数内の関数
- 関数内の関数からは、関数内の変数の参照はできても更新はできない。
テスト
- doctestは使い方の説明程度に留めて、unittestでガツンとチェックする
- syntaxエラーのチェック、その他くらい。コミットする前に最低限やることとして。
🌤reStructured流のdocstring
- クラスやメソッドのdocstringでは引数の説明や、使い方の説明にもなるdoctestの記述に留めて、全てはモジュールのdocstringに書く。
sphinx-apidocに掛けて見たらreStructuredTextの流儀の意図がわかった。
以上
思い出したら追記します。