On Sat, Feb 11, 2017 at 1:34 AM, boB Stepp <robertvst...@gmail.com> wrote: > I was playing around with type() tonight. If I type (pun intended), I get: > > py3: type(5) > <class 'int'>
`type` is a metaclass that either creates a new class (given 3 arguments: name, bases, and dict) or returns a reference to the class of an existing object. type(5) is the latter case, and it returns a reference to the class `int`. What you see printed in the REPL is repr(int), a string representation of the class object: >>> repr(int) "<class 'int'>" Speaking of classes and metaclasses, note that you can't call int.__repr__(int) to get this representation, because the __repr__ special method of int is meant for instances of int such as int(5). Instead you have to explicitly use __repr__ from the metaclass, i.e. `type`: >>> type(int) <class 'type'> >>> type.__repr__(int) "<class 'int'>" But just use built-in repr(). _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor