Path: csiph.com!usenet.pasdenom.info!aioe.org!news.stack.nl!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.005 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; '(except': 0.07; '(aka': 0.09; 'from:addr:ethan': 0.09; 'from:addr:stoneleaf.us': 0.09; 'from:name:ethan furman': 0.09; 'message-id:@stoneleaf.us': 0.09; 'subject:design': 0.09; '~ethan~': 0.09; 'python': 0.11; 'already,': 0.16; 'magic': 0.16; 'subject:Language': 0.16; 'wrote:': 0.18; '>>>': 0.22; 'header:User-Agent:1': 0.23; 'header :In-Reply-To:1': 0.27; 'stuff': 0.32; 'there': 0.35; 'false': 0.36; 'charset:us-ascii': 0.36; 'behind': 0.37; 'wrong': 0.37; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'to:addr:python.org': 0.39; 'called': 0.40; 'mentioned': 0.61; 'received:173': 0.61; 'simply': 0.61; 'such': 0.63; 'special': 0.74 Date: Wed, 11 Sep 2013 14:15:20 -0700 From: Ethan Furman User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 To: python-list@python.org Subject: Re: Language design References: <522eb795$0$29999$c3e8da3$5496439d@news.astraweb.com> <5230D58E.9020508@markusrother.de> In-Reply-To: <5230D58E.9020508@markusrother.de> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - gator3304.hostgator.com X-AntiAbuse: Original Domain - python.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - stoneleaf.us X-BWhitelist: no X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: ([173.12.184.233]) [173.12.184.233]:56874 X-Source-Auth: ethan+stoneleaf.us X-Email-Count: 1 X-Source-Cap: dG9idWs7dG9idWs7Z2F0b3IzMzA0Lmhvc3RnYXRvci5jb20= X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 21 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1378935411 news.xs4all.nl 15977 [2001:888:2000:d::a6]:36075 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:54000 On 09/11/2013 01:41 PM, Markus Rother wrote: > > 4. As has been mentioned already, some built-in functions do magic > stuff behind the scenes: That's why they're called magic methods. ;) > >>> () == [] > False > > But: > > >>> bool(().__eq__([])) > True This is not a trap, this is simply the wrong way to do it. The magic methods (aka dunder methods) are there for Python to call, not you (except under special circumstances, such as when writing your own dunder methods). -- ~Ethan~