int literals and __class__
aleaxit at yahoo.com
Tue Nov 16 08:14:16 CET 2004
Steven Bethard <steven.bethard at gmail.com> wrote:
> Dan Bishop <danb_83 <at> yahoo.com> writes:
> > You don't have to ask *that* nicely.
> > >>> 1 .__class__ # notice the space
> > <type 'int'>
> Why does this work? Or, perhaps my real question is why *doesn't* it work
> without the space? Pointers to the appropriate point in the docs would be
> fine... I assume it's something about making parsing easier...?
It's to make lexing more predictable: it's known as maximal-much lexing
(without backtracking: backtracking in lexical analysis would really but
really be bad). '1.' (no space) is a token (stands for a float
literal). So, '1.__class__' is two tokens: float '1.' followed by
More information about the Python-list