Path: csiph.com!usenet.pasdenom.info!news.redatomik.org!newsfeed.xs4all.nl!newsfeed3a.news.xs4all.nl!xs4all!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.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'removes': 0.05; 'method,': 0.07; 'broken.': 0.09; 'convention,': 0.09; 'methods,': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'spelled': 0.09; 'jan': 0.11; 'wed,': 0.15; 'descriptors': 0.16; 'idlelib': 0.16; 'metaclasses': 0.16; 'parameter,': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'reedy': 0.16; 'wrote:': 0.16; "wouldn't": 0.16; 'removed.': 0.18; 'wednesday': 0.18; 'tests': 0.18; '>>>': 0.20; 'function,': 0.22; 'lawrence': 0.22; 'names.': 0.22; 'nested': 0.22; 'parsing': 0.22; 'am,': 0.23; '2015': 0.23; 'header:In-Reply-To:1': 0.24; 'header :User-Agent:1': 0.26; 'header:X-Complaints-To:1': 0.26; 'chris': 0.26; "i'm": 0.29; 'looks': 0.29; 'methods.': 0.29; 'relies': 0.29; 'terry': 0.29; 'function': 0.30; 'classes': 0.30; 'source': 0.31; 'code': 0.31; 'class': 0.33; "d'aprano": 0.33; 'steven': 0.33; 'subject:?': 0.34; 'to:addr:python-list': 0.35; 'but': 0.36; 'being': 0.36; 'there': 0.36; 'subject:" ': 0.36; 'subject:: ': 0.37; 'skip:i 20': 0.37; 'signature': 0.37; 'rather': 0.38; 'received:org': 0.38; 'self': 0.38; 'is,': 0.38; 'pm,': 0.39; 'test': 0.39; 'method': 0.39; 'whatever': 0.39; 'does': 0.39; 'to:addr:python.org': 0.39; 'sure': 0.40; 'mark': 0.40; 'apart': 0.70; 'surprise': 0.72; 'subject:self': 0.84; 'received:fios.verizon.net': 0.91 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Terry Reedy Subject: Re: should "self" be changed? Date: Wed, 27 May 2015 17:59:08 -0400 References: <551c8229-f426-45f0-a0ee-fdad1b161f59@googlegroups.com> <556554d9$0$2796$c3e8da3$76491128@news.astraweb.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: pool-98-114-97-173.phlapa.fios.verizon.net User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 In-Reply-To: X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ 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: 34 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1432763977 news.xs4all.nl 2839 [2001:888:2000:d::a6]:34762 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:91326 On 5/27/2015 2:32 AM, Chris Angelico wrote: > On Wed, May 27, 2015 at 3:23 PM, Steven D'Aprano > wrote: >> On Wednesday 27 May 2015 06:45, Mark Lawrence wrote: >> >>> Apart from breaking all the tools that rely on "self" being spelt "self" >>> this looks like an excellent idea. >> >> Tools which rely on self being spelled "self" are already broken. It's a >> convention, nothing more, and there are various good reasons for breaking >> the convention: >> >> - metaclasses >> - classmethods >> - custom descriptors >> - nested classes > > If it truly relies on it, yes. But if I see a function that has "self" > as its first parameter, I'm going to read it as a (probable) method > rather than a stand-alone function, and it wouldn't surprise me if > introspection and/or source code parsing made the same assumption. The Idlelib calltips function does not look at names. It leaves the signature of functions as is and removes the first name, whatever it is, of bound methods, including bound class methods. See idlelib.CallTips.get_argspec for details. To make sure there is no name assumption, test_calltips.py tests that the first name, not 'self', is the name removed. One test method, Tc.t6, has function signature "(no, self)", which makes the bound method signature "(self)". -- Terry Jan Reedy