Python 3.x之间是否存在重大差异:
for each_line in data_file:
if each_line.find(":") != -1:
#placeholder for code
#more placeholder
Run Code Online (Sandbox Code Playgroud)
和
for each_line in data:
if not each_line.find(":") == -1:
#placeholder for code
#more placeholder
Run Code Online (Sandbox Code Playgroud)
我的问题不是特别针对上述用法,而是更一般或必要 - 这种语法差异是否以不同的方式工作,即使结果是相同的?有逻辑差异吗?是否存在一个更合适的任务,或者仅仅是风格上的差异?如果这只是风格,Python程序员认为哪一个更干净?
此外,为上述要求相反的实例的区别是什么之间is和==?前者和后者一样,是对象身份和对象价值平等的区别吗?我的意思是,在上面的例子中,是is使用not隐式?