Qiitaの新着エントリを眺めてると、論理演算子の特殊性について、これまでに2度ほど「初めて知った」と言ってる人を見かけたので、試しにまとめてみる。 知ってる人には当たり前だけど、だからこそ知らない人もいるのではないだろうか。 trueまたはfalseを返す論理演算子(&&, ||)は、最後まで評価しなくても、途中で返すべき値が分かる場合がある。 これを眺めてほしい。 true && true → true true && false → false false && true → false false && false → false こういう挙動になっていることに気づく。 &&の左側がtrueの場合、&&の右側がtrueだとtrueを返し、falseだとfalseを返す &&の左側がfalseの場合、&&の右側が何であってもfalseを返す 同様に||の場合は、 ||の左側がtrue
よくどっちがどっちだったか混乱してしまうので自分用にまとめます。最初に、引数にオブジェクトを渡して呼び出したときの挙動を比較したのち、引数なしで呼び出したときの挙動を比較します。 vars(obj) 2. 組み込み関数 — Python 3.5.2 ドキュメントによると モジュール、クラス、インスタンス、あるいはそれ以外の dict 属性を持つオブジェクトの、 dict 属性を返します とあります。例で確かめてみます。 class MyClass: def __init__(self): self.val1 = 10 self.val2 = 20 obj = MyClass() print(vars(obj)) print(obj.__dict__) この出力は以下の通りです。vars(obj)は、objを辞書として扱ったときの値を返していると解釈できそうです。 {'val1': 10,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く