None is negative?

Discussion in 'Python' started by wheres pythonmonks, Aug 3, 2010.

  1. wheres pythonmonks, Aug 3, 2010
    #1
    1. Advertising

  2. wheres pythonmonks

    Mithrandir Guest

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    On 08/03/2010 01:17 PM, wheres pythonmonks wrote:
    > I did the google search... I must be blind as I don't see any hits...
    >
    > None is negative in Python? (v2.6)
    >
    > http://www.google.com/search?ie=UTF-8&q="none is negative" python
    >
    >>>> if None < -9999999.99: print "hi"

    >
    > hi
    >>>>

    >
    >>>> if -9999999 > None: print "hi"

    >
    > hi
    >>>>

    >
    > Is there a way to have the comparison raise an exception?
    >
    > W


    I believe it's also because None lacks any binary value at all, whereas
    - -99999999.99 or 0 have a value in binary.

    For example:

    if None < 0: print "hi"

    >>> hi


    if None > 0: print "hi"

    >>>


    But in human terms, None == 0 and None > -9999999.99.

    - --
    People should read more.
    https://secure.wikimedia.org/wikipedia/en/wiki/User:MithrandirAgain
    "All that is gold does not glitter,
    not all those who wander are lost;
    the old that is strong does not wither,
    deep roots are not reached by the frost.
    - From the ashes a fire shall be woken,
    a light from the shadows shall spring;
    renewed shall be blade that was broken,
    the crownless again shall be king."
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.10 (GNU/Linux)
    Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

    iQEcBAEBAgAGBQJMWHwBAAoJEKo37V1xH7gTgvYH/j1j0fgKI5mlzIp4urxhh6Ki
    49LVsZjVsISyD+NzvgV5b8hk0S9Ad+gpqaf8fBQJS36Ye1KtupA7W7CTr54roaK0
    ZBN3o4XxPdRjxXeHnBUNi3bqjGMzDdIIFZbE/qKalxTj0ZYgtlCgnMiYXLEeeY5z
    L0dzfn/qoMr6PjAtdlB9yp5amHcUeRzDos3hp13flsAj9Vq/pHyJmlPazME/vE0f
    381bMXP52ud71BGcm8gRWdDqhJOUdJ52NZeEk0fKcxHsRvscjt1nQmCRp4IMDtFl
    ws++tXcl0pY7KSAATb5dzzkhr/BJnKGb1JHRlQMMB0EEdtNOzJaDh63qbvSzTJI=
    =9jHw
    -----END PGP SIGNATURE-----
    Mithrandir, Aug 3, 2010
    #2
    1. Advertising

  3. On 2010-08-03, wheres pythonmonks <> wrote:

    > I did the google search... I must be blind as I don't see any hits...
    >
    > None is negative in Python? (v2.6)


    Not really.

    > http://www.google.com/search?ie=UTF-8&q="none is negative" python
    >
    >>>> if None < -9999999.99: print "hi"

    >
    > hi
    >>>>

    >
    >>>> if -9999999 > None: print "hi"

    >
    > hi
    >>>>

    >
    > Is there a way to have the comparison raise an exception?


    Use Python 3.x. Or perhaps there's a "from future import xxxx" way to
    do that as well... Is there a list of available "from future"
    features somewhere? I can't seem to figure out how to get Python
    itself to give me a list -- my copy of Python 2.6 insists there's not
    module named future.

    --
    Grant Edwards grant.b.edwards Yow! I have a very good
    at DENTAL PLAN. Thank you.
    gmail.com
    Grant Edwards, Aug 3, 2010
    #3
  4. On 2010-08-03, Grant Edwards <> wrote:
    > On 2010-08-03, wheres pythonmonks <> wrote:
    >
    >> I did the google search... I must be blind as I don't see any hits...
    >>
    >> None is negative in Python? (v2.6)

    >
    > Not really.
    >
    >> http://www.google.com/search?ie=UTF-8&q="none is negative" python
    >>
    >>>>> if None < -9999999.99: print "hi"

    >>
    >> hi
    >>>>>

    >>
    >>>>> if -9999999 > None: print "hi"

    >>
    >> hi
    >>>>>

    >>
    >> Is there a way to have the comparison raise an exception?

    >
    > Use Python 3.x. Or perhaps there's a "from future import xxxx" way to
    > do that as well... Is there a list of available "from future"
    > features somewhere? I can't seem to figure out how to get Python
    > itself to give me a list -- my copy of Python 2.6 insists there's not
    > module named future.


    Doh! It's "__future__" not "future". And it doesn't appear that you
    can import the "unorderable types" behavior.


    --
    Grant Edwards grant.b.edwards Yow! Uh-oh!! I'm having
    at TOO MUCH FUN!!
    gmail.com
    Grant Edwards, Aug 3, 2010
    #4
  5. wheres pythonmonks

    Mithrandir Guest

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    On 08/03/2010 01:28 PM, Mithrandir wrote:
    > On 08/03/2010 01:17 PM, wheres pythonmonks wrote:
    >> I did the google search... I must be blind as I don't see any hits...

    >
    >> None is negative in Python? (v2.6)

    >
    >> http://www.google.com/search?ie=UTF-8&q="none is negative" python

    >
    >>>>> if None < -9999999.99: print "hi"

    >
    >> hi
    >>>>>

    >
    >>>>> if -9999999 > None: print "hi"

    >
    >> hi
    >>>>>

    >
    >> Is there a way to have the comparison raise an exception?

    >
    >> W

    >
    > I believe it's also because None lacks any binary value at all, whereas
    > -99999999.99 or 0 have a value in binary.
    >
    > For example:
    >
    > if None < 0: print "hi"
    >
    >>>> hi

    >
    > if None > 0: print "hi"
    >
    >>>>

    >
    > But in human terms, None == 0 and None > -9999999.99.
    >

    That and/or it works out better in Python 3. :)

    - --
    People should read more.
    https://secure.wikimedia.org/wikipedia/en/wiki/User:MithrandirAgain
    "All that is gold does not glitter,
    not all those who wander are lost;
    the old that is strong does not wither,
    deep roots are not reached by the frost.
    - From the ashes a fire shall be woken,
    a light from the shadows shall spring;
    renewed shall be blade that was broken,
    the crownless again shall be king."
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.10 (GNU/Linux)
    Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

    iQEcBAEBAgAGBQJMWH1gAAoJEKo37V1xH7gTPSIH/igigROvz8NOy/Km5SEAPtUE
    08Brr46qeqZzkKPxV/r8wH2uD4eIhHoaBUN0oOv+7FT1UoP89eg7E0eC7U8FtzXY
    5uwgEXG4xHTLPCERK4UkX799zD6oVQ7eeoSmnKmbotXEbUEjZ6TONq3ErXZBn6g0
    FqHX6S/GdrVvIvqjuePYNJYYC/CsF3qXDpkM69Iye0MqGsZGPaKsrmsCa2cPVI+P
    ZZ67nXeHEsgYZ91utu4Hb4yOtmZf8MFqFqyD8aYF2Tr1P3uEBe8WOUqIPGRkwrFF
    Nxw1Ne/pw2v++CDLbJUS6+rpN52IYEeBLawtUarc/iG4RG+KFE7Z0ss8jSr75+c=
    =uXl5
    -----END PGP SIGNATURE-----
    Mithrandir, Aug 3, 2010
    #5
  6. wheres pythonmonks

    Chris Rebert Guest

    On Tue, Aug 3, 2010 at 1:29 PM, Grant Edwards <> wrote:
    > On 2010-08-03, wheres pythonmonks <> wrote:
    >
    >> I did the google search... I must be blind as I don't see any hits...
    >>
    >> None is negative in Python?  (v2.6)

    >
    > Not really.
    >
    >> http://www.google.com/search?ie=UTF-8&q="none is negative" python
    >>
    >>>>> if None < -9999999.99: print "hi"

    >>
    >> hi
    >>>>>

    >>
    >>>>> if -9999999 > None: print "hi"

    >>
    >> hi
    >>>>>

    >>
    >> Is there a way to have the comparison raise an exception?

    >
    > Use Python 3.x.  Or perhaps there's a "from future import xxxx" way to
    > do that as well...  Is there a list of available "from future"
    > features somewhere?  I can't seem to figure out how to get Python
    > itself to give me a list -- my copy of Python 2.6 insists there's not
    > module named future.


    The module is named __future__. But there's no __future__ import to
    change the comparison behavior:

    Python 2.7 (r27:82500, Jul 27 2010, 23:28:51)
    >>> __future__.all_feature_names

    ['nested_scopes', 'generators', 'division', 'absolute_import',
    'with_statement', 'print_function', 'unicode_literals']

    Cheers,
    Chris
    --
    http://blog.rebertia.com
    Chris Rebert, Aug 3, 2010
    #6
  7. wheres pythonmonks

    Ethan Furman Guest

    Grant Edwards wrote:
    > On 2010-08-03, wheres pythonmonks <> wrote:
    >
    >> I did the google search... I must be blind as I don't see any hits...
    >>
    >> None is negative in Python? (v2.6)

    >
    > Not really.
    >
    >> http://www.google.com/search?ie=UTF-8&q="none is negative" python
    >>
    >>>>> if None < -9999999.99: print "hi"

    >> hi
    >>>>> if -9999999 > None: print "hi"

    >> hi
    >> Is there a way to have the comparison raise an exception?

    >
    > Use Python 3.x. Or perhaps there's a "from future import xxxx" way to
    > do that as well... Is there a list of available "from future"
    > features somewhere? I can't seem to figure out how to get Python
    > itself to give me a list -- my copy of Python 2.6 insists there's not
    > module named future.
    >

    In 2.5 & 2.6 it's __future__.

    ~Ethan~
    Ethan Furman, Aug 3, 2010
    #7
  8. On Tue, Aug 3, 2010 at 1:29 PM, Grant Edwards <> wrote:
    > On 2010-08-03, wheres pythonmonks <> wrote:
    >
    >> I did the google search... I must be blind as I don't see any hits...
    >>
    >> None is negative in Python?  (v2.6)

    >
    > Not really.
    >
    >> http://www.google.com/search?ie=UTF-8&q="none is negative" python
    >>
    >>>>> if None < -9999999.99: print "hi"

    >>
    >> hi
    >>>>>

    >>
    >>>>> if -9999999 > None: print "hi"

    >>
    >> hi
    >>>>>

    >>
    >> Is there a way to have the comparison raise an exception?

    >
    > Use Python 3.x.  Or perhaps there's a "from future import xxxx" way to
    > do that as well...  Is there a list of available "from future"
    > features somewhere?  I can't seem to figure out how to get Python
    > itself to give me a list -- my copy of Python 2.6 insists there's not
    > module named future.
    >
    > --



    That would be because it's __future__, not future.

    >>> import __future___
    >>> help(__future__)

    Help on module __future__:

    NAME
    __future__ - Record of phased-in incompatible language changes.

    FILE
    c:\program files (x86)\ironpython 2.6 for .net 4.0\lib\__future__.py

    DESCRIPTION
    Each line is of the form:

    FeatureName = "_Feature(" OptionalRelease "," MandatoryRelease ","
    CompilerFlag ")"

    where, normally, OptionalRelease < MandatoryRelease, and both are 5-tuples
    of the same form as sys.version_info:

    (PY_MAJOR_VERSION, # the 2 in 2.1.0a3; an int
    PY_MINOR_VERSION, # the 1; an int
    PY_MICRO_VERSION, # the 0; an int
    PY_RELEASE_LEVEL, # "alpha", "beta", "candidate" or "final"; string
    PY_RELEASE_SERIAL # the 3; an int
    )

    OptionalRelease records the first release in which

    from __future__ import FeatureName

    was accepted.

    In the case of MandatoryReleases that have not yet occurred,
    MandatoryRelease predicts the release in which the feature will become par
    of the language.

    Else MandatoryRelease records when the feature became part of the language
    in releases at or after that, modules no longer need

    from __future__ import FeatureName

    to use the feature in question, but may continue to use such imports.

    MandatoryRelease may also be None, meaning that a planned feature got
    dropped.

    Instances of class _Feature have two corresponding methods,
    .getOptionalRelease() and .getMandatoryRelease().

    CompilerFlag is the (bitfield) flag that should be passed in the fourth
    argument to the builtin function compile() to enable the feature in
    dynamically compiled code. This flag is stored in the .compiler_flag
    attribute on _Future instances. These values must match the appropriate
    #defines of CO_xxx flags in Include/compile.h.

    No feature line is ever to be deleted from this file.

    DATA
    __all__ = ['all_feature_names', 'nested_scopes', 'generators', 'divisi...
    absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0...
    all_feature_names = ['nested_scopes', 'generators', 'division', 'absol...
    division = _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192...
    generators = _Feature((2, 2, 0, 'alpha', 1), (2, 3, 0, 'final', 0), 0)
    nested_scopes = _Feature((2, 1, 0, 'beta', 1), (2, 2, 0, 'alpha', 0), ...
    print_function = _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0)...
    unicode_literals = _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', ...
    with_statement = _Feature((2, 5, 0, 'alpha', 1), (2, 6, 0, 'alpha', 0)...



    Hm, looks like whatever IronPython is using to display the text is
    cutting the lines short. That could be a problem. Anyway, you get the
    idea.
    Benjamin Kaplan, Aug 3, 2010
    #8
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. David Freeman
    Replies:
    8
    Views:
    7,636
    tcena9
    Feb 16, 2011
  2. length power
    Replies:
    2
    Views:
    72
    Rustom Mody
    Apr 10, 2014
  3. Skip Montanaro
    Replies:
    0
    Views:
    57
    Skip Montanaro
    Apr 10, 2014
  4. Johannes Schneider

    Re: why i have the output of [None, None, None]

    Johannes Schneider, Apr 10, 2014, in forum: Python
    Replies:
    0
    Views:
    50
    Johannes Schneider
    Apr 10, 2014
  5. Terry Reedy
    Replies:
    0
    Views:
    61
    Terry Reedy
    Apr 10, 2014
Loading...

Share This Page