LoginSignup
0
0

More than 5 years have passed since last update.

or演算子だけでメンバをデフォルト文字列に設定するかを判断する

Last updated at Posted at 2017-02-22

openpyxlのソースを見ていたら、or演算子を文字列に使用する華麗なidiomがあったのでメモしておきます。

下記のコードのself.title = title or self._default_titleの部分で、__init__の引数titleNoneだったり、空文字列だったりした場合は、クラス変数の_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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0