DEV Community

Discussion on: Correct syntax to output the type of variable or object?

Collapse
 
dwd profile image
Dave Cridland • Edited

Well, obviously you could use print(type(x)), but that's not very useful, since type doesn't return a string but a class, and then print will call str() on it, so you typically and up with the repr() of the class:

print(type(''))  # <class 'str'>
Enter fullscreen mode Exit fullscreen mode

What you can do is hit the introspection bits, for example:

x = ''
print(''.join((x.__class__.__module__, '.', x.__class__.__name__)))  # builtins.str
Enter fullscreen mode Exit fullscreen mode

Which is a bit prettier.

Collapse
 
serghei profile image
Serghei Iakovlev

str.join() takes exactly one argument (3 given) :)

Collapse
 
dwd profile image
Dave Cridland

Nice catch - I edited to pass in a tuple rather than the args directly.

Thanks for the demonstration that good code review is important!