Есть ли существенная разница в 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
неявный?