Side effects on operator overload or attribute read are just really bad practice and is very rarely done. Do you second guess every identifier in C because it could be a preprocessor macro?
Yeah, stupid overloading like C++ IO is a mess, but I haven't encountered much such abuse in Python.