print function doesn't return a value.
A function that "does not return a value" returns None.
Thus None was assigned to variable x.
type "function" returns the class of an object.
Thus type(None) returns the class of None and the class of None was printed.
(type is not actually a function, it is also a class, it is the class of classes)
when you write:
x = print ("y")
The variable x then points to the result of the function call: print("y").
And print is a function which returns nothing (=None)
You would get the same result doing:
x = f("y")
It is easy
First you need to nude yourself
Then lay down on the bed
Remember: You need to get some oil and lay down in opposite direction
Then someone comes
And take feeling of ghapa ghap
(Bsdk angrezi or npmat jaiyo)