Article View: pl.comp.lang.python
Article #28263Re: Pytania początkującego cz. 1
From: Stachu 'Dozzie' K.
Date: Wed, 09 Nov 2011 20:51
Date: Wed, 09 Nov 2011 20:51
48 lines
2785 bytes
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-mailReferences:
<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