🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Pytania początkującego cz. 1

#28263
From: Stachu 'Dozzie' K.
Date: Wed, 09 Nov 2011 20:51
48 lines
2785 bytes
On 2011-11-09, hubert depesz lubaczewski <depesz@depesz.com> wrote:
> hej
> zaczynam poznawać pythona, nie do końca z własnej woli, i jako całkowity
> beginner, a w dodatku z naleciałościami z perla,

Patrz, jaki ten internet mały :)

> mam od razu następujące
> pytania:
> 1. jakiś odpowiednik Data::Dumpera? chodzi o wypisanie dowolnie
> skomplikownaych struktur danych (lista dictów dictów itp.), ale z
> wcięciami, tak aby się to łątwo czytało. print zmienna pokazuje
> zawartość, ale wszystko w jednej linii.

Ja już dobrą chwilę temu darowałem sobie Data::Dumpera na rzecz modułów
YAML i YAML::Syck. Jakoś tak przyjemniej się to czyta niż kod nie
pasujący do mojego stylu wcięć kod.

W Pythonie też bym użył serializatora YAML:
#v+
import yaml

print yaml.dump([1, 2, 3, {'a': 'b', 'c': 'd'}])
#v-

> 2. jaka jest praktyczna różnica między [listą] a (tuplą) ?

W dyskusji pojawia się niehaszowalność listy, w odróżnieniu od krotki:
  http://jtauber.com/blog/2006/04/15/python_tuples_are_not_just_constant_lists/
Co zresztą ma sens, skoro krotka jest niezmienna (haszkod też nie
powinien, inaczej element musiałby wędrować po strukturze albo byłby
problem z jego namierzeniem przy dostępie).

Inne co mi przychodzi do głowy, to operator formatowania % (odpowiednik
sprintf()):

#v+
>>> print "a %s %s b" % ("foo", "bar")
a foo bar b
>>> print "a %s %s b" % ["foo", "bar"]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: not enough arguments for format string
#v-

-- 
Secunia non olet.
Stanislaw Klekot
Technical Details
Message-ID: <slrnjblpjq.7mn.dozzie@jarowit.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder4.news.weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail
References: <vhsqo8-di8.ln1@depesz.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder4.news.weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid>
Newsgroups: pl.comp.lang.python
Subject: Re: Pytania początkującego cz. 1
Date: Wed, 9 Nov 2011 20:51:01 +0000 (UTC)
Organization: solani.org
Lines: 48
Message-ID: <slrnjblpjq.7mn.dozzie@jarowit.net>
References: <vhsqo8-di8.ln1@depesz.com>
Mime-Version: 1.0
X-Trace: weretis.net 1320871861 14034 eJwFwQcBwDAMAzBK8ew8OH3hD2GSMxAnFR7y8ckOOHarDtSLj+AnY5fWq0GajWduu8OLwA/2mQ/i (9 Nov 2011 20:51:01 GMT)
X-Complaints-To: abuse@news.solani.org
NNTP-Posting-Date: Wed, 9 Nov 2011 20:51:01 +0000 (UTC)
User-Agent: slrn/pre0.9.9-111 (Linux)
X-User-ID: eJwFwQkRwEAIBDBLR2F55LAw+JfQBOriE+Zww+E6yPI96FQ2l90jVAtx/aYfscheSVbySf45DRGz
Cancel-Lock: sha1:taRETLkq7iFj/GcU7hvfFyBvTGc=
X-NNTP-Posting-Host: eJwFwYEBwCAIA7CXQGkr5zCF/09Ygk3nVRAMDOaNFpVk1jEV2sP9AmqN6ov0s2AF837bun8IrhB5
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit