Sorry, I cant help aking stupid questions: I understand why we need = = in C, but why in Python (or Java), surely if you write if a=b: pass # syntax error it could not possibly mean anything other than what I intended (which was of course if a = = b:) ?