[Python] Sphinxでドキュメントを自動生成する
自分でライブラリなどを作っていると、機能追加のたびにドキュメントも書かなくてはなりません。
そんな手間を少しでも省くためにドキュメントを自動生成できる環境を整えます。
自分でライブラリなどを作っていると、機能追加のたびにドキュメントも書かなくてはなりません。
そんな手間を少しでも省くためにドキュメントを自動生成できる環境を整えます。
macOS 10.14.3
pyenv 1.2.11
ある時、気が向いて
$ brew upgrade
を実行したらpyenvのバージョンが上がった。
その直後、
$ python
としたら、
Users/username/.pyenv/shims/python: line 21: /usr/local/Cellar/pyenv/1.2.11/libexec/pyenv: No such file or directory
というエラーメッセージが表示された。
ループの最後の一回だけ別の処理がしたい!
なんていうよくある願いを簡単に叶えてくれる、ループの最後の一回を判定する小技のご紹介
def lastone(iterable):
"""与えられたイテレータブルオブジェクトの
最後の一つの要素の時にTrue、それ以外の時にFalseを返す
"""
# イテレータを取得して最初の値を取得する
it = iter(iterable)
last = next(it)
# 2番目の値から開始して反復子を使い果たすまで実行
for val in it:
# 一つ前の値を返す
yield last, False
last = val # 値の更新
# 最後の一つ
yield last, True
for i, is_last in lastone(range(5)):
print(i, is_last)
# 0, False
# 1, False
# 2, False
# 3, False
# 4, True
論理式が真偽値以外の結果を返却してくる不思議な構文のお話です。
早速ですが、次のプログラムを実行したときvalueには何が入っているでしょう?
value = False or True
正解はTrueです。
最近よく耳にするオブジェクト指向プログラミング
オブジェクトって何?それメリットあんの?
そう思う方も多いことでしょう。
Python3を利用する場合、どんな使い方ができるのかを例にあげながら解説します。
print関数の出力先を標準エラー出力やファイルなど、いろんな場所に切り替える小ネタの紹介
皆さんご存知のprint関数でございます。print(~~)ってすると画面に文字が出るアレです。
Pythonのクラスでプライベートメンバを表現するときにメンバ名の先頭に__(アンダースコア*2)を利用しますが、実は全然プライベートじゃないというお話です。
新しくプログラミング言語を始めると気になってくるのが変数のスコープです。
どこからどこまでが有効なのか知っていて損をすることはまずありません。
ご存知の方も多いとは思いますが、スコープとは変数の有効範囲の事です。
Pythonは文字列の掛け算ができることは以前から知っていたのですが、つい前日衝撃的な文法に遭遇した時の話です。
普通に、str文字列*int整数
Pythonでクラスの継承関係を確認する方法のメモ。
Pythonでクラスの継承関係を確認する方法は大きく分けると二つくらいになると思います。
issubclass関数mroメソッド組み込み関数issubclassを利用すると、第一引数に渡されたクラスが第二引数のサブクラスかどうかを判定してくれます。