What I know about id function is that it returns an unique number which works as identifier and represents the value position in memory. When I run id(some_constant_value) I'm getting an identifier, so that makes me think the constant value is already existed and created before any assignment.
It goes like this:
>>> id(1)
140736767556672
>>> a = 1
>>> id(a)
140736767556672