Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #67810

Re: Reference

From Marko Rauhamaa <marko@pacujo.net>
Newsgroups comp.lang.python
Subject Re: Reference
Date 2014-03-05 08:23 +0200
Organization A noiseless patient Spider
Message-ID <8761ntp3ja.fsf@elektro.pacujo.net> (permalink)
References (7 earlier) <53155c15$0$2923$c3e8da3$76491128@news.astraweb.com> <mailman.7693.1393910647.18130.python-list@python.org> <op.xb75g7ap5079vu@gnudebeest> <roy-A9E76C.21091704032014@news.panix.com> <164d209c-ba5e-449f-bc25-c27ebfb1fc0f@googlegroups.com>

Show all headers | View raw


Rustom Mody <rustompmody@gmail.com>:

> * ... which summarizes my objection in this thread: Python's 'is'
> leaks the machine abstraction. 'id' does it legitimately (somewhat),
> 'is' does it illegitimately

I agree that the Python data model can be exceedingly challenging to a
beginner. However, I wouldn't throw the baby away with the bathwater,
but look for ingenious ways to teach it.

The Spanish say, "Mal de muchos, consuelo de tontos." Python is hardly
alone in this mess. For example, Java's '==' operator corresponds to
Python's "is". Nobody would consider throwing Java's "==" away. Instead,
we are offered esoteric rules like:

   If the value p being boxed is true, false, a byte, a char in the
   range \u0000 to \u007f, or an int or short number between -128 and
   127, then let r1 and r2 be the results of any two boxing conversions
   of p. It is always the case that r1 == r2. <URL: http://docs.ora
   cle.com/javase/specs/jls/se5.0/html/conversions.html#5.1.7>

For Python's "==", Java offers the "equals()" method. So is it wrong in
Java to check:

   if (list.equals(null)) {

The spec says:

   For any non-null reference value x, x.equals(null) should return
   false. <URL: http://docs.oracle.com/javase/7/docs/api/java/lang/O
   bject.html#equals%28java.lang.Object%29>

So it *should* work, but why would you avoid the more natural test:

   if (list == null) {


Similarly, in Python:

   if the_list == None:

*should* work (even if there's no such stipulation in Python's reference
 material), but why wouldn't you use the more natural:

   if the_list is None:


Marko

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Reference "ast" <nomail@invalid.com> - 2014-03-03 10:42 +0100
  Object identity (was: Reference) Ben Finney <ben+python@benfinney.id.au> - 2014-03-03 21:00 +1100
    Re: Object identity (was: Reference) "ast" <nomail@invalid.com> - 2014-03-03 11:21 +0100
  Re: Reference "Mark H. Harris" <harrismh777@gmail.com> - 2014-03-03 05:09 -0800
  Re: Reference Grant Edwards <invalid@invalid.invalid> - 2014-03-03 14:29 +0000
  Re: Reference Rustom Mody <rustompmody@gmail.com> - 2014-03-03 07:52 -0800
    Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-04 08:10 +1100
    Re: Reference Tim Chase <python.list@tim.thechases.com> - 2014-03-03 15:24 -0600
    Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-04 08:31 +1100
    Re: Reference Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-03-03 21:35 +0000
      Re: Reference Marko Rauhamaa <marko@pacujo.net> - 2014-03-04 00:07 +0200
        Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-04 09:18 +1100
          Re: Reference Alister <alister.ware@ntlworld.com> - 2014-03-04 11:10 +0000
            Re: Reference Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-03-04 11:48 +0000
              Re: Reference "Rhodri James" <rhodri@wildebst.org.uk> - 2014-03-05 00:25 +0000
    Re: Reference Tim Chase <python.list@tim.thechases.com> - 2014-03-03 15:51 -0600
    Re: Reference Jerry Hill <malaclypse2@gmail.com> - 2014-03-03 17:02 -0500
      Re: Reference Marko Rauhamaa <marko@pacujo.net> - 2014-03-04 00:22 +0200
        Re: Reference Chris Angelico <rosuav@gmail.com> - 2014-03-04 09:27 +1100
        Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-04 09:33 +1100
        Re: Reference Steven D'Aprano <steve@pearwood.info> - 2014-03-04 04:52 +0000
          Re: Reference Chris Angelico <rosuav@gmail.com> - 2014-03-04 16:24 +1100
            Re: Reference "Rhodri James" <rhodri@wildebst.org.uk> - 2014-03-05 01:08 +0000
              Re: Reference Roy Smith <roy@panix.com> - 2014-03-04 21:09 -0500
                Re: Reference Rustom Mody <rustompmody@gmail.com> - 2014-03-04 19:36 -0800
                Re: Reference Ian Kelly <ian.g.kelly@gmail.com> - 2014-03-04 21:08 -0700
                Re: Reference Rustom Mody <rustompmody@gmail.com> - 2014-03-04 20:31 -0800
                Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-05 15:32 +1100
                Re: Reference Rustom Mody <rustompmody@gmail.com> - 2014-03-04 20:47 -0800
                Re: Reference Steven D'Aprano <steve@pearwood.info> - 2014-03-05 05:06 +0000
                Re: Reference Rustom Mody <rustompmody@gmail.com> - 2014-03-04 21:47 -0800
                Re: Reference alex23 <wuwei23@gmail.com> - 2014-03-05 16:01 +1000
                Re: Reference Rustom Mody <rustompmody@gmail.com> - 2014-03-04 22:10 -0800
                Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-05 17:22 +1100
                Re: Reference alex23 <wuwei23@gmail.com> - 2014-03-05 16:28 +1000
                Re: Reference Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-03-05 12:24 +0000
                Re: Reference Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-03-05 12:21 +0000
                Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-05 17:20 +1100
                Re: Reference Rustom Mody <rustompmody@gmail.com> - 2014-03-05 09:40 -0800
                Re: Reference Tim Chase <python.list@tim.thechases.com> - 2014-03-05 12:12 -0600
                Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-06 05:33 +1100
                Re: Reference Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-03-05 18:19 +0000
                Re: Reference Marko Rauhamaa <marko@pacujo.net> - 2014-03-05 22:23 +0200
                Re: Reference Grant Edwards <invalid@invalid.invalid> - 2014-03-05 20:31 +0000
                Re: Reference Marko Rauhamaa <marko@pacujo.net> - 2014-03-05 22:46 +0200
                Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-06 08:07 +1100
                Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-06 08:10 +1100
                Re: Reference Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-03-05 21:34 +0000
                Re: Reference Terry Reedy <tjreedy@udel.edu> - 2014-03-05 18:00 -0500
                Re: Reference Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-03-06 03:01 +0000
                Re: Reference Rustom Mody <rustompmody@gmail.com> - 2014-03-04 22:03 -0800
                Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-05 17:26 +1100
                Re: Reference Chris Angelico <rosuav@gmail.com> - 2014-03-05 17:32 +1100
                Re: Reference Tim Chase <python.list@tim.thechases.com> - 2014-03-05 08:24 -0600
                Re: Reference Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-03-05 18:29 +0000
                Re: Reference Marko Rauhamaa <marko@pacujo.net> - 2014-03-05 22:34 +0200
                Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-06 08:01 +1100
                Re: Reference Marko Rauhamaa <marko@pacujo.net> - 2014-03-05 23:14 +0200
                Re: Reference Chris Angelico <rosuav@gmail.com> - 2014-03-06 08:26 +1100
                Re: Reference Marko Rauhamaa <marko@pacujo.net> - 2014-03-05 23:50 +0200
                Re: Reference Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-03-06 00:35 +0000
                Re: Reference Chris Angelico <rosuav@gmail.com> - 2014-03-06 11:50 +1100
                Re: Reference Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-03-06 17:46 +0000
                Re: Reference Tim Chase <python.list@tim.thechases.com> - 2014-03-05 15:33 -0600
                Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-06 08:37 +1100
                Re: Reference Marko Rauhamaa <marko@pacujo.net> - 2014-03-06 02:52 +0200
                Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-06 12:05 +1100
                Re: Reference alex23 <wuwei23@gmail.com> - 2014-03-06 12:12 +1000
                Re: Reference Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-03-05 21:46 +0000
                Re: Reference Marko Rauhamaa <marko@pacujo.net> - 2014-03-05 08:23 +0200
                Re: Reference Rustom Mody <rustompmody@gmail.com> - 2014-03-04 22:33 -0800
                Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-05 17:40 +1100
                Re: Reference Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-03-05 12:35 +0000
                Re: Reference Chris Angelico <rosuav@gmail.com> - 2014-03-05 23:45 +1100
          Re: Reference Jerry Hill <malaclypse2@gmail.com> - 2014-03-04 10:19 -0500
            Re: Reference Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-03-04 15:42 +0000
              Re: Reference Chris Angelico <rosuav@gmail.com> - 2014-03-05 03:02 +1100
                Re: Reference Roy Smith <roy@panix.com> - 2014-03-04 11:14 -0500
              Re: Reference MRAB <python@mrabarnett.plus.com> - 2014-03-04 17:12 +0000
            Re: Reference Rustom Mody <rustompmody@gmail.com> - 2014-03-04 08:24 -0800
          Re: Reference Chris Angelico <rosuav@gmail.com> - 2014-03-05 02:25 +1100
          Re: Reference Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2014-03-05 14:37 +0100
      Re: Reference Steven D'Aprano <steve@pearwood.info> - 2014-03-04 03:59 +0000
    Re: Reference Ben Finney <ben+python@benfinney.id.au> - 2014-03-04 09:17 +1100
      Re: Reference Roy Smith <roy@panix.com> - 2014-03-03 18:02 -0500
        Re: Reference Chris Angelico <rosuav@gmail.com> - 2014-03-04 10:09 +1100
        Re: Reference Steven D'Aprano <steve@pearwood.info> - 2014-03-04 04:38 +0000
  Re: Reference Terry Reedy <tjreedy@udel.edu> - 2014-03-03 13:48 -0500
    Re: Reference Steven D'Aprano <steve@pearwood.info> - 2014-03-04 03:45 +0000
    Re: Reference Alexander Blinne <news@blinne.net> - 2014-03-04 13:55 +0100
      Re: Reference Chris Angelico <rosuav@gmail.com> - 2014-03-05 01:06 +1100
        Re: Reference Alexander Blinne <news@blinne.net> - 2014-03-04 22:53 +0100
          Re: Reference Chris Angelico <rosuav@gmail.com> - 2014-03-05 09:01 +1100

csiph-web