En cuanto a la expresión x*=1+1 esta completamente correcta como x*2
Ya que el operador *= evalúa primero toda la expresión y luego la multiplica por si mismo
Ejemplo:
x *= expr -> x = x*(expr)
Deberías leer un poco sobre el
orden de precedencia de los operadores en python.