Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #73043
| Path | csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!news.stack.nl!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail |
|---|---|
| Return-Path | <pmiscml@gmail.com> |
| X-Original-To | python-list@python.org |
| Delivered-To | python-list@mail.python.org |
| X-Spam-Status | OK 0.000 |
| X-Spam-Evidence | '*H*': 1.00; '*S*': 0.00; 'else:': 0.03; 'operator': 0.03; '(at': 0.04; 'string.': 0.05; 'element': 0.07; 'string': 0.09; 'arguments': 0.09; 'raises': 0.09; 'sanity': 0.09; 'subject:None': 0.09; 'subject:string': 0.09; 'typed': 0.09; 'wrong,': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'assume': 0.14; 'suggest': 0.14; 'language.': 0.14; '"in"': 0.16; 'check",': 0.16; 'iterable:': 0.16; 'roy': 0.16; 'substring': 0.16; 'typeerror:': 0.16; 'so.': 0.16; 'wrote:': 0.18; 'trying': 0.19; 'seems': 0.21; '>>>': 0.22; 'cc:addr:python.org': 0.22; 'string,': 0.24; 'mon,': 0.24; 'paul': 0.24; 'looks': 0.24; 'cc:2**0': 0.24; 'cc:no real name:2**0': 0.24; 'possibly': 0.26; 'least': 0.26; 'header:In-Reply-To:1': 0.27; 'start,': 0.30; 'that.': 0.31; 'another': 0.32; 'noticed': 0.34; 'there,': 0.34; 'could': 0.34; 'something': 0.35; 'equal': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'false': 0.36; 'doing': 0.36; 'charset:us-ascii': 0.36; 'subject:?': 0.36; 'should': 0.36; 'checks': 0.38; 'that,': 0.38; 'strictly': 0.61; "you're": 0.61; 'email addr:gmail.com': 0.63; 'great': 0.65; 'within': 0.65; 'smith': 0.68; "'foo'": 0.84; '(pdt)': 0.91 |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=4OoyAEvm6UZwpl0oRisZ+uwSSeltpdHLcdpA5pVBHLE=; b=DHm8QH9M3axt6BKqkLkrzwcuos7h8wh8lGdbTAVxEufncwZZ3imR9CBciqKwsAF0R0 RMIeMbr8VPqf9rxWyju0iEjYprxQztzk3uLYC+hmvKg7msq12l3ckMTe0p5BIqjxom05 1rZ8XzZi1dG+ikn+HRQP7h7VAz6x+1r4tEgSZ0we05h50prUdpF1WzAEIGRkC2xTfLEL 5ZkIyLDsIosRh1/+L0sjLygAJjQ5QIfPn1/PoADPu01T37fAfaV+1ME/UA2CVwLLoyVI lCd8ECG7rIjirs9n4tql2Bk3AYfoDuNBI9/Z0D81SqvUFOOo2/MPJE/1heM9Tq0YFgAi lt3A== |
| X-Received | by 10.14.5.71 with SMTP id 47mr70796eek.101.1402329450840; Mon, 09 Jun 2014 08:57:30 -0700 (PDT) |
| Date | Mon, 9 Jun 2014 18:57:28 +0300 |
| From | Paul Sokolovsky <pmiscml@gmail.com> |
| To | Roy Smith <roy@panix.com> |
| Subject | Re: None in string => TypeError? |
| In-Reply-To | <048960da-c132-407f-b1b3-4612a3dd7697@googlegroups.com> |
| References | <048960da-c132-407f-b1b3-4612a3dd7697@googlegroups.com> |
| X-Mailer | Claws Mail 3.10.0 (GTK+ 2.24.10; i686-pc-linux-gnu) |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=US-ASCII |
| Content-Transfer-Encoding | 7bit |
| Cc | python-list@python.org |
| 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.10922.1402329457.18130.python-list@python.org> (permalink) |
| Lines | 41 |
| NNTP-Posting-Host | 2001:888:2000:d::a6 |
| X-Trace | 1402329457 news.xs4all.nl 2863 [2001:888:2000:d::a6]:43214 |
| X-Complaints-To | abuse@xs4all.nl |
| Xref | csiph.com comp.lang.python:73043 |
Show key headers only | View raw
Hello, On Mon, 9 Jun 2014 08:34:42 -0700 (PDT) Roy Smith <roy@panix.com> wrote: > We noticed recently that: > > >>> None in 'foo' > > raises (at least in Python 2.7) > > TypeError: 'in <string>' requires string as left operand, not NoneType > > This is surprising. The description of the 'in' operatator is, 'True > if an item of s is equal to x, else False '. From that, I > would assume it behaves as if it were written: > > for item in iterable: > if item == x: > return True > else: > return False > > why the extra type check for str.__contains__()? That seems very > unpythonic. Duck typing, and all that. -- This is very Pythonic, Python is strictly typed language. There's no way None could possibly be "inside" a string, so if you're trying to look for it there, you're doing something wrong, and told so. Also, it's not "extra check", it's "extra checks less", just consider that "in" operator just checks types of its arguments for sanity once at the start, and then just looks for a substring within string. You suggest that it should check for each element type in a loop, which is great waste, as once again, nothing but a string can be inside another string. -- Best regards, Paul mailto:pmiscml@gmail.com
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
None in string => TypeError? Roy Smith <roy@panix.com> - 2014-06-09 08:34 -0700
Re: None in string => TypeError? Ryan Hiebert <ryan@ryanhiebert.com> - 2014-06-09 10:42 -0500
Re: None in string => TypeError? Ian Kelly <ian.g.kelly@gmail.com> - 2014-06-09 09:50 -0600
Re: None in string => TypeError? Paul Sokolovsky <pmiscml@gmail.com> - 2014-06-09 18:57 +0300
Re: None in string => TypeError? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-06-09 16:14 +0000
Re: None in string => TypeError? Chris Angelico <rosuav@gmail.com> - 2014-06-10 02:31 +1000
Re: None in string => TypeError? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-06-09 16:07 +0000
Re: None in string => TypeError? MRAB <python@mrabarnett.plus.com> - 2014-06-09 17:06 +0100
Re: None in string => TypeError? Shiyao Ma <i@introo.me> - 2014-06-10 00:13 +0800
Re: None in string => TypeError? Roy Smith <roy@panix.com> - 2014-06-09 12:53 -0400
Re: None in string => TypeError? Chris Angelico <rosuav@gmail.com> - 2014-06-10 02:59 +1000
Re: None in string => TypeError? Ian Kelly <ian.g.kelly@gmail.com> - 2014-06-09 11:22 -0600
Re: None in string => TypeError? Chris Angelico <rosuav@gmail.com> - 2014-06-10 03:40 +1000
Re: None in string => TypeError? Ian Kelly <ian.g.kelly@gmail.com> - 2014-06-09 11:58 -0600
Re: None in string => TypeError? Chris Angelico <rosuav@gmail.com> - 2014-06-10 04:02 +1000
csiph-web