Существует ли какая-либо низкоуровневая разница между реализацией (performance-ish) между этими подходами.?
# check if string is empty
# the preferred way it seems [1]
if string:
    print string
else:
    print "It empty."
# versus [2]
if string is '':
# or [3]
if string == '':
Например, при тестировании для None я все еще считаю его более читаемым и явным:
if some_var is not None:
.. вместо..
if not some_var:
 if not some_var, по крайней мере для меня, всегда читает "если some_var не существует".
Что лучше использовать, каковы правильные варианты использования для ==, is и bool-testing?
