A operator= B is not exactly the same as a = a operator B, except that:
1, the former only query the value of a once, and thus have a faster possibility.
2. If a is a complex expression (for example, the index position of a list is computed, such as Items[offset + index), the latter is less error when using the enhanced assignment operator. This is because if the calculation process needs to change, then the maintainer only has to change it once, not two times.
3, Python overloads the operator + and + =, respectively, for strings and lists, the former represents a connection, the latter represents appending strings and extending.
When used, select the appropriate operator based on the usage scenario.
----The Python3 Program Development Guide. Second edition of Reading notes
The difference between the Python assignment operator and the enhanced assignment operator