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


Groups > comp.lang.python > #33336

Re: Python garbage collector/memory manager behaving strangely

From aahz@pythoncraft.com (Aahz)
Newsgroups comp.lang.python
Subject Re: Python garbage collector/memory manager behaving strangely
Date 2012-11-14 06:19 -0800
Organization The Cat & Dragon
Message-ID <k8098p$b2e$1@panix5.panix.com> (permalink)
References <CEE8C35195DB944D9C75ABB15A04193B14E77085@EHKG17P32001A.csfb.cs-group.com> <59f8c664-8f11-439e-8002-ca76ee24a632@g7g2000pbh.googlegroups.com> <mailman.830.1347878839.27098.python-list@python.org> <50570de3$0$29981$c3e8da3$5496439d@news.astraweb.com>

Show all headers | View raw


In article <50570de3$0$29981$c3e8da3$5496439d@news.astraweb.com>,
Steven D'Aprano  <steve+comp.lang.python@pearwood.info> wrote:
>On Mon, 17 Sep 2012 06:46:55 -0400, Dave Angel wrote:
>> On 09/16/2012 11:25 PM, alex23 wrote:
>>>
>>>     def readlines(f):
>>>         lines = []
>>>         while "f is not empty":
>>>             line = f.readline()
>>>             if not line: break
>>>             if len(line) > 2 and line[-2:] == '|\n':
>>>                 lines.append(line)
>>>                 yield ''.join(lines)
>>>                 lines = []
>>>             else:
>>>                 lines.append(line)
>> 
>> There's a few changes I'd make:
>> I'd change the name to something else, so as not to shadow the built-in,
>
>Which built-in are you referring to? There is no readlines built-in.
>
>py> readlines
>Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
>NameError: name 'readlines' is not defined
>
>There is a file.readlines method, but that lives in a different namespace 
>to the function readlines so there should be no confusion. At least not 
>for a moderately experienced programmer, beginners can be confused by the 
>littlest things sometimes.

Actually, as an experienced programmer, I *do* think it is confusing as
evidenced by the mistake Dave made!  Segregated namespaces are wonderful
(per Zen), but let's not pollute multiple namespaces with same name,
either.

It may not be literally shadowing the built-in, but it definitely
mentally shadows the built-in.
-- 
Aahz (aahz@pythoncraft.com)           <*>         http://www.pythoncraft.com/

"....Normal is what cuts off your sixth finger and your tail..."  --Siobhan

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


Thread

RE: Python garbage collector/memory manager behaving strangely "Jadhav, Alok" <alok.jadhav@credit-suisse.com> - 2012-09-17 10:28 +0800
  Re: Python garbage collector/memory manager behaving strangely alex23 <wuwei23@gmail.com> - 2012-09-16 20:25 -0700
    Re: Python garbage collector/memory manager behaving strangely 88888 Dihedral <dihedral88888@googlemail.com> - 2012-09-16 21:39 -0700
    Re: Python garbage collector/memory manager behaving strangely Dave Angel <d@davea.name> - 2012-09-17 06:46 -0400
      Re: Python garbage collector/memory manager behaving strangely Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2012-09-17 11:47 +0000
        Re: Python garbage collector/memory manager behaving strangely Dave Angel <d@davea.name> - 2012-09-17 08:03 -0400
        Re: Python garbage collector/memory manager behaving strangely aahz@pythoncraft.com (Aahz) - 2012-11-14 06:19 -0800
          Re: Python garbage collector/memory manager behaving strangely Dieter Maurer <dieter@handshake.de> - 2012-11-15 08:31 +0100
    RE: Python garbage collector/memory manager behaving strangely "Jadhav, Alok" <alok.jadhav@credit-suisse.com> - 2012-09-17 19:00 +0800
  Re: Python garbage collector/memory manager behaving strangely Thomas Rachel <nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915@spamschutz.glglgl.de> - 2012-11-15 12:20 +0100

csiph-web