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


Groups > comp.lang.python > #80655

Re: I love assert

Return-Path <ian.g.kelly@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.101
X-Spam-Level *
X-Spam-Evidence '*H*': 0.80; '*S*': 0.00; 'detect': 0.07; 'expectation': 0.09; 'reached.': 0.09; 'convey': 0.16; 'executed,': 0.16; 'wrote:': 0.18; 'wed,': 0.18; 'programming': 0.22; 'error': 0.23; 'header:In-Reply-To:1': 0.27; 'raise': 0.29; 'message-id:@mail.gmail.com': 0.30; 'code': 0.31; 'assert': 0.31; 'comment': 0.34; "i'd": 0.34; 'something': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'false': 0.36; 'two': 0.37; 'easily': 0.37; 'being': 0.38; 'nov': 0.38; 'to:addr:python- list': 0.38; 'pm,': 0.38; 'rather': 0.38; 'anything': 0.39; '12,': 0.39; 'to:addr:python.org': 0.39; 'ian': 0.60; 'most': 0.60; 'effective': 0.61; 'reached': 0.63; 'between': 0.67; 'optimized': 0.68; 'apart': 0.72; 'honest': 0.78
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=empcu6b4TtckYT5XnLwbb56ODB2YV0USXd9jRHGiHs8=; b=QOKmrzAlUll28JDhghK2YPoQt0yRKqiENVsK9iofw9dnuh4UWBUqBF6qeje8E4lK2G xj/dqpEOOaOA8JNJ0Vd0170wSsiU6OO3nVOL37LcRk1SYKf2jkYV+iSqU+nkSNjKXzPK O4aF0DCJL6IdsF05BSuvHGyQBKqSucAKNgxhUHGIS3idx3LltgFcLLo41xwYNoLXimcE f3N1AWNbAoQtkw6efH7gd0+6jSj1aasF3127BbBY8vaVxGJOXokgSikYhiEgw+s338Iz AgTuh7gjUTHyYuEUCc+3V72yEOFv8sdTr3joBp53SuJDJnOIx/q0bsd/N/+akLodoIk2 buNg==
X-Received by 10.66.163.71 with SMTP id yg7mr43141039pab.110.1415833586630; Wed, 12 Nov 2014 15:06:26 -0800 (PST)
MIME-Version 1.0
In-Reply-To <87lhngox30.fsf@elektro.pacujo.net>
References <96c138e4-ab95-4e5f-a0c8-e696b5a926bb@googlegroups.com> <cf68f3b4-3312-4dda-a224-8f30f7b31b55@googlegroups.com> <87a93wqeq3.fsf@elektro.pacujo.net> <mailman.15744.1415829173.18130.python-list@python.org> <87y4rgozgd.fsf@elektro.pacujo.net> <CALwzid=77xgqFS6hA4nW5Qvo0Qw2oUjWGAvxdeVzcVG=7DB+Yg@mail.gmail.com> <mailman.15747.1415830087.18130.python-list@python.org> <87lhngox30.fsf@elektro.pacujo.net>
From Ian Kelly <ian.g.kelly@gmail.com>
Date Wed, 12 Nov 2014 16:05:46 -0700
Subject Re: I love assert
To Python <python-list@python.org>
Content-Type text/plain; charset=UTF-8
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.15756.1415833594.18130.python-list@python.org> (permalink)
Lines 26
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1415833594 news.xs4all.nl 2894 [2001:888:2000:d::a6]:35702
X-Complaints-To abuse@xs4all.nl
Path csiph.com!usenet.pasdenom.info!bete-des-vosges.org!feed.ac-versailles.fr!usenet-fr.net!nerim.net!novso.com!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Xref csiph.com comp.lang.python:80655

Show key headers only | View raw


On Wed, Nov 12, 2014 at 3:47 PM, Marko Rauhamaa <marko@pacujo.net> wrote:
> Ian Kelly <ian.g.kelly@gmail.com>:
>
>> Although to be honest I'd rather use something like "raise
>> RuntimeError('Unreachable code reached')" than "assert False" here. If
>> the expectation is that the code will never be executed, then there's
>> no reason to ever optimize it out.
>
> Asserts have nothing to do with them being optimized out. Asserts are
> communication.
>
> Apart from idiomatic style, there is no difference between
>
>     # never reached
>
>     assert False
>
>     raise RuntimeError('Unreachable code reached')

If the purpose is communication, then the comment is most effective,
as it can easily convey anything you want. If the purpose is to detect
programming errors, then the RuntimeError is most effective, as it
will always raise an error in the event it is reached.

assert False is a strange hybrid of the two that is less effective at
both purposes.

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


Thread

I love assert Peter Cacioppi <peter.cacioppi@gmail.com> - 2014-11-11 11:40 -0800
  Re: I love assert Ben Finney <ben+python@benfinney.id.au> - 2014-11-12 07:03 +1100
    Re: I love assert Grant Edwards <invalid@invalid.invalid> - 2014-11-11 21:43 +0000
  Re: I love assert Ethan Furman <ethan@stoneleaf.us> - 2014-11-11 12:08 -0800
  Re: I love assert Rob Gaddi <rgaddi@technologyhighland.invalid> - 2014-11-11 12:20 -0800
  Re: I love assert Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-11-11 20:34 +0000
  Re: I love assert TP <wingusr@gmail.com> - 2014-11-11 12:57 -0800
  Re: I love assert Terry Reedy <tjreedy@udel.edu> - 2014-11-11 17:34 -0500
  Re: I love assert Ben Finney <ben+python@benfinney.id.au> - 2014-11-12 09:52 +1100
  Re: I love assert Tim Chase <python.list@tim.thechases.com> - 2014-11-11 17:03 -0600
  Re: I love assert Peter Cacioppi <peter.cacioppi@gmail.com> - 2014-11-11 15:02 -0800
  Re: I love assert Ethan Furman <ethan@stoneleaf.us> - 2014-11-11 15:38 -0800
  Re: I love assert Dan Stromberg <drsalists@gmail.com> - 2014-11-11 17:56 -0800
  Re: I love assert Chris Angelico <rosuav@gmail.com> - 2014-11-12 13:21 +1100
  Re: I love assert Ben Finney <ben+python@benfinney.id.au> - 2014-11-12 13:35 +1100
    Re: I love assert Grant Edwards <invalid@invalid.invalid> - 2014-11-12 14:10 +0000
  Re: I love assert Chris Angelico <rosuav@gmail.com> - 2014-11-12 13:44 +1100
    Re: I love assert wxjmfauth@gmail.com - 2014-11-11 23:14 -0800
  Re: I love assert Terry Reedy <tjreedy@udel.edu> - 2014-11-12 03:29 -0500
  Re: I love assert Anton <anton.schattenfeld@gmail.com> - 2014-11-12 12:53 -0800
    Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-12 23:41 +0200
      Re: I love assert Ethan Furman <ethan@stoneleaf.us> - 2014-11-12 13:52 -0800
        Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-12 23:56 +0200
          Re: I love assert Ian Kelly <ian.g.kelly@gmail.com> - 2014-11-12 15:04 -0700
            Re: I love assert Anton <anschatten@gmail.com> - 2014-11-12 14:13 -0800
              Re: I love assert Ian Kelly <ian.g.kelly@gmail.com> - 2014-11-12 15:41 -0700
                Re: I love assert Anton <anschatten@gmail.com> - 2014-11-12 14:48 -0800
                Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-13 01:01 +0200
                Re: I love assert Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-11-15 10:40 +1100
                Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-15 02:12 +0200
                Re: I love assert Chris Angelico <rosuav@gmail.com> - 2014-11-15 12:04 +1100
                Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-15 03:30 +0200
                Re: I love assert Chris Angelico <rosuav@gmail.com> - 2014-11-15 12:48 +1100
                Re: I love assert Tim Chase <python.list@tim.thechases.com> - 2014-11-14 20:14 -0600
                Re: I love assert Chris Angelico <rosuav@gmail.com> - 2014-11-15 13:16 +1100
                Re: I love assert albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-11-29 17:35 +0000
                Re: I love assert Ian Kelly <ian.g.kelly@gmail.com> - 2014-11-12 16:02 -0700
                Re: I love assert Anton <anschatten@gmail.com> - 2014-11-12 15:43 -0800
                Re: I love assert Chris Angelico <rosuav@gmail.com> - 2014-11-13 10:10 +1100
                Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-13 01:23 +0200
                Re: I love assert Chris Angelico <rosuav@gmail.com> - 2014-11-13 10:27 +1100
                Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-13 01:31 +0200
              Re: I love assert Ethan Furman <ethan@stoneleaf.us> - 2014-11-12 14:47 -0800
                Re: I love assert Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-11-14 22:37 +1100
                Re: I love assert Ian Kelly <ian.g.kelly@gmail.com> - 2014-11-14 09:40 -0700
          Re: I love assert Ian Kelly <ian.g.kelly@gmail.com> - 2014-11-12 15:07 -0700
            Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-13 00:47 +0200
              Re: I love assert Ethan Furman <ethan@stoneleaf.us> - 2014-11-12 14:56 -0800
              Re: I love assert Chris Angelico <rosuav@gmail.com> - 2014-11-13 09:58 +1100
              Re: I love assert Ian Kelly <ian.g.kelly@gmail.com> - 2014-11-12 16:05 -0700
                Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-13 01:12 +0200
              Re: I love assert Lie Ryan <lie.1296@gmail.com> - 2014-11-14 01:09 +1100
        Re: I love assert Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-11-14 22:33 +1100
          Re: I love assert Ethan Furman <ethan@stoneleaf.us> - 2014-11-14 10:18 -0800
            Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-14 21:12 +0200
              Re: I love assert Ethan Furman <ethan@stoneleaf.us> - 2014-11-14 12:41 -0800
                Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-14 22:50 +0200
            Re: I love assert Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-11-15 13:58 +1100
              Re: I love assert Ethan Furman <ethan@stoneleaf.us> - 2014-11-14 20:09 -0800
                Re: I love assert Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-11-17 13:09 +1100
                Re: I love assert Ethan Furman <ethan@stoneleaf.us> - 2014-11-16 19:25 -0800
      Re: I love assert Anton <anschatten@gmail.com> - 2014-11-12 14:00 -0800
        Re: I love assert Anton <anschatten@gmail.com> - 2014-11-12 14:04 -0800
          Re: I love assert Marko Rauhamaa <marko@pacujo.net> - 2014-11-13 00:34 +0200
    Re: I love assert Chris Angelico <rosuav@gmail.com> - 2014-11-13 09:43 +1100
  Re: I love assert Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-11-14 22:15 +1100
  Re: I love assert Richard Riehle <rriehle@itu.edu> - 2014-11-14 14:09 -0800
    Decorators (was: Re: I love assert) Marko Rauhamaa <marko@pacujo.net> - 2014-11-15 00:18 +0200
      Re: Decorators Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-11-14 22:37 +0000
        Re: Decorators Marko Rauhamaa <marko@pacujo.net> - 2014-11-15 00:47 +0200
      Re: Decorators (was: Re: I love assert) Richard Riehle <rriehle@itu.edu> - 2014-11-14 18:19 -0800
        Re: Decorators (was: Re: I love assert) Mayank Tripathi <oquanox@gmail.com> - 2014-11-15 02:36 +0000
        Re: Decorators (was: Re: I love assert) Tim Chase <python.list@tim.thechases.com> - 2014-11-14 20:30 -0600
          Re: Decorators Marko Rauhamaa <marko@pacujo.net> - 2014-11-15 09:00 +0200
            Re: Decorators Grant Edwards <invalid@invalid.invalid> - 2014-11-15 15:32 +0000
        Re: Decorators (was: Re: I love assert) Richard Riehle <rriehle@itu.edu> - 2014-11-14 23:42 -0800
        Re: Decorators Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-11-15 13:12 +0000
          Re: Decorators Marko Rauhamaa <marko@pacujo.net> - 2014-11-15 15:24 +0200
            Re: Decorators Terry Reedy <tjreedy@udel.edu> - 2014-11-15 15:28 -0500
        Re: Decorators (was: Re: I love assert) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-11-16 02:39 +1100
  Re: I love assert TP <wingusr@gmail.com> - 2014-11-27 01:22 -0800
    Re: I love assert alister <alister.nospam.ware@ntlworld.com> - 2014-11-27 09:59 +0000
      Re: I love assert Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-11-29 12:30 +1100
        Re: I love assert MRAB <python@mrabarnett.plus.com> - 2014-11-29 02:56 +0000
          Re: I love assert Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-11-29 20:31 +1100
            Re: I love assert Chris Angelico <rosuav@gmail.com> - 2014-11-29 21:40 +1100
            Re: I love assert MRAB <python@mrabarnett.plus.com> - 2014-11-29 19:49 +0000
        Re: I love assert Chris Angelico <rosuav@gmail.com> - 2014-11-29 14:02 +1100
        Re: I love assert Ethan Furman <ethan@stoneleaf.us> - 2014-11-29 14:33 -0800
          Re: I love assert Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-11-30 19:18 +1100
            Re: I love assert Ethan Furman <ethan@stoneleaf.us> - 2014-11-30 11:34 -0800

csiph-web