Есть ли существенная разница в Python 3.x между:
for each_line in data_file:
if each_line.find(":") != -1:
#placeholder for code
#more placeholder
и
for each_line in data:
if not each_line.find(":") == -1:
#placeholder for code
#more placeholder
Мой вопрос не относится к приведенному выше использованию, но является более общим или существенным - работает ли эта синтаксическая разница по-другому, даже если результат тот же? Есть ли логическая разница? Есть ли задачи, где одна подходит больше, или это исключительно стилистическая разница? Если это чисто стилистический аспект, какой из них программисты на Python считают более чистым?
Кроме того, является ли приведенное выше противоположным примером вопроса, в чем разница между is
и ==
? Является ли первое, как и второе, разницей тождества объекта и равенства значений объекта? Я имею в виду, что в приведенном выше примере is
в использовании not
является неявным?