openpyxlのソースを見ていたら、or
演算子を文字列に使用する華麗なidiomがあったのでメモしておきます。
下記のコードのself.title = title or self._default_title
の部分で、__init__
の引数title
がNone
だったり、空文字列だったりした場合は、クラス変数の_default_title
の値"Sheet"
がデフォルト文字列としてself.title
にセットされます。
child.py
class _WorkbookChild(object):
__title = ""
_id = None
_path = "{0}"
__parent = None
_default_title = "Sheet"
def __init__(self, parent=None, title=None):
self.__parent = parent
self.title = title or self._default_title
self.HeaderFooter = HeaderFooter()
追記) こちらの記事に詳しい説明がありました。
http://qiita.com/keisuke-nakata/items/e0598b2c13807f102469