'what is the difference between in-Build type() and typing.Type?

can someone explain me the difference between type() and typing.Type

like if I write the variable like

user = Optional[type(userInfo)]

this is interpreted as

user: Optional[Type[type]]

VS

user = Optional[Type[userInfo]]

this is interpreted as

user: Optional[Any]


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source