A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2011-April/110925.html below:

[Python-Dev] Syntax quirk

[Python-Dev] Syntax quirk [Python-Dev] Syntax quirkNick Coghlan ncoghlan at gmail.com
Mon Apr 25 19:36:11 CEST 2011
On Tue, Apr 26, 2011 at 3:21 AM, Rob Cliffe <rob.cliffe at btinternet.com> wrote:
>>>> type (3.)
> <type 'float'>
>>>> 3..__class__
> <type 'float'>
>>>> type(3)
> <type 'int'>
>>>> 3.__class__
>  File "<stdin>", line 1
>    3.__class__
>              ^
> SyntaxError: invalid syntax
>
> Superficially the last example ought to be legal syntax (and return <type
> 'int'>).
> Is it an oversight which could be fixed in a straightforward way, or are
> there reasons why it can't?

The parser (or is it the lexer? I never remember which it is that has
the problem in this case) can't handle it - it sees the first "." and
expects a floating point value. It's hard to disambiguate due to 3.e10
and the like being valid floating point numbers, while 3..e10 has to
be an attribute access.

You have to use whitespace or parentheses to eliminate the ambiguity:

3. __class__
(3).__class__

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4