🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #28335

Re: Prośba o wytknięcie błędów

#28335
From: Artur M. Piwko
Date: Fri, 18 Nov 2011 07:37
59 lines
2574 bytes
In the darkest hour on Tue, 15 Nov 2011 15:12:17 +0100,
hubert depesz lubaczewski <depesz@depesz.com> screamed:
>> W obecnych Pythonach możesz stosować konstrukcję (automagicznie zamknie uchwyt):
>>
>> def calculate_hash(filename):
>>     with open(filename) as f:
>>         mail = .....
>
> a to powyżej nie zamknie uchwytu po wyjściu z funkcji?
>

Zamknie. A podobno wolisz explicite podawaća w Twoim przykładzie brak
close(). ;-)

>>> def visit_fn( hash_dict, path, files ):
>>>     for i in [ 'new', 'tmp' ]:
>>>         if files.count ( i ) > 0:
>>>             files.remove( i )
>>>
>> Tu lepiej użyć tupli ('new', 'tmp').
>
> czemu lepiej?
>

Tak, wiem, że [] to struktura, itp., ale w pętlach, gdzie nie muszę
"mutować" lubię dawać (). Własne przyzwyczajenie.

>> Alternatywnie (z tym, że trzeba uważać):
>> hash_dict[checksum] = []
>> hash_dict = {}
>
> na co uważać?
>

Żeby nie rozpędzić się i nie napisać kiedyś tak:

def fun(spam, eggs=[]):
    eggs.append(spam)
    print eggs

fun(1)
fun('abc')

>> Oprócz konstrukcji:   if not d.has_key(k):
>> można też używać:     if k not in d:
>> Dla mnie ta druga jest czytelniejsza.
>
> czy one są równoważne? w szczególności - czy ich wydajność będzie taka
> sama jak d ma np. 10M elementów?
>

Z tego co (blaaado) pamiętam druga była odrobinę szybsza. Ale mogę się
mylić.

-- 
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:235B ]
[ 08:33:22 user up 12990 days, 20:28,  1 user, load average: 0.01, 0.28, 0.12 ]

     I haven't spoken to my wife in years. I didn't want to interrupt her.
Technical Details
Message-ID: <slrnjcc2q2.ckt.milusi.pysiaczek@buziaczek.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <2h09p8-kgk.ln1@depesz.com> <slrnjc4841.8or.milusi.pysiaczek@buziaczek.pl> <1j8ap8-uiv.ln1@depesz.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Artur M. Piwko" <milusi.pysiaczek@buziaczek.pl>
Newsgroups: pl.comp.lang.python
Subject: Re: Prośba o
 wytknięcie błędów
Date: Fri, 18 Nov 2011 08:37:38 +0100
Organization: Petroleum Drinkers (;
Lines: 59
Message-ID: <slrnjcc2q2.ckt.milusi.pysiaczek@buziaczek.pl>
References: <2h09p8-kgk.ln1@depesz.com> <slrnjc4841.8or.milusi.pysiaczek@buziaczek.pl> <1j8ap8-uiv.ln1@depesz.com>
Reply-To: milusi.pysiaczek@buziaczek.pl
NNTP-Posting-Host: 81.26.9.42
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1321603690 21903 81.26.9.42 (18 Nov 2011 08:08:10 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Fri, 18 Nov 2011 08:08:10 +0000 (UTC)
X-User: pipene
User-Agent: slrn/pre1.0.0-18 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit