Zanurkuj w Pythonie/Operatory and i or: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
mNie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 13:
'c'
# Podczas używania <tt>and</tt>, wartości są oceniane od lewej do prawej w kontekście logicznym. <tt>0</tt>, <tt><nowiki>''</nowiki></tt>, <tt>[]</tt>, <tt>()</tt>, <tt>{}</tt> i <tt>None</tt> są fałszem kontekście logicznym, natomiast wszystko inne jest prawdą. Cóż, prawie wszystko. Domyślnie instancje klasy w kontekście logicznym są prawdą, ale możesz zdefiniować specjalne metody w swojej klasie,
# Jeśli jakaś wartość jest fałszywa w kontekście logicznym, <tt>and</tt> zwraca pierwszą fałszywą wartość. W tym wypadku <tt><nowiki>''</nowiki></tt> jest pierwszą fałszywą wartością.
# Wszystkie wartości są prawdą, tak więc <tt>and</tt> zwraca ostatnią wartość, <tt>'c'</tt>.
Linia 61:
'second'
# Jako że <tt>a</tt> jest pustym napisem, który Python uważa
Sztuczka <tt>and</tt>-<tt>or</tt>, czyli wyrażenie <tt>bool and a or b</tt>, nie będzie działało jak wyrażenie C <tt class="lang-c">bool ? a : b</tt>, gdy <tt>a</tt> jest fałszem w kontekście logicznym.
|