What does type vs .type() return in pytorch 0.4.0?

I was looking at the migration guide and the example:

>>> x = torch.DoubleTensor([1, 1, 1])
>>> print(type(x))  # was torch.DoubleTensor
"<class 'torch.Tensor'>"
>>> print(x.type())  # OK: 'torch.DoubleTensor'
'torch.DoubleTensor'
>>> print(isinstance(x, torch.DoubleTensor))  # OK: True
True

Does the above code mean that type returns the root tree of type hierarchy of a class? (i.e. I assume torch.Tesnor is at the top and that torch.DoubleTensor subclasses it), thus x is an instance of torch.DoubleTensor but not of type torch.DoubleTensor?

I guess I am trying to understand what the word type means in pytorch and how that relates to the usual CS way of using the word type…thanks for your patience, thnx for the nice migration tutorial…