You are teaching Python to your 3yo son??
I mean, maybe he is a genius but I do really wonder what a 3yo can possibly understand about programming (and you even make him type!)
I mean, at that age, they haven't even really learned basic algebra; they still have to learn things like the order of operations, manual addition and subtraction, and manual multiplication and division.
Don't you remember reading books as a kid with child characters saying things like "I was pretty good at math class until they started introducing letters to the problems; I don't understand it at all anymore!" Things like that show that variables aren't directly intuitive to all children.