Archive for Luty, 2010

Python: alternatywa dla dict.update

Kolejny skrót. Dość regu­larny przy­pa­dek zwró­ce­nia sumy słow­ni­ków bez nisz­cze­nia któ­re­go­kol­wiek z nich:

def foo(bar, baz):
tmp­dict = dict(bar)
tmpdict.update(baz)
return tmpdict

Można rów­nież roz­wią­zać ina­czej, korzy­sta­jąc z faktu, że dict akcep­tuje nazwane parametry:

def foo(bar, baz):
return dict(bar, **baz)

Korzy­sta­jąc ze skró­tów zawsze upew­nij się, że na […]

Django: direct_to_template

Nie wiem, czemu nie­któ­rzy tak upar­cie korzy­stają z funk­cji render_to_response, by za każ­dym razem prze­ka­zać do niej ręcz­nie stwo­rzony obiekt kon­tek­stu. Zresztą, sami oceń­cie, która wer­sja jest ładniejsza:

from django.shortcuts import render_to_response
from django.template import RequestContext

def foo(request):
# …
return render_to_response(‘foo.html’, {‘bar’: baz},
[…]

Python: prawdziwy polimorfizm

Taki week­en­dowy żarcik:

#!/usr/bin/env python
import random

class Foo(random.choice([int, str, uni­code, Excep­tion])):
pass

f = Foo(‘1’)
print ‘f‘

O fontach raz jeszcze, czyli wielkość się liczy

Z powodu wystę­pu­ją­cego dzi­siaj u mnie prze­si­le­nia kataru, zosta­łem zmu­szony (dosłow­nie ze łzami w oczach) do zmiany wiel­ko­ści fon­tów z 10 na 12 punk­tów. Póź­niej wspo­mnia­łem o tym kilku oso­bom, doda­jąc, że nie roz­róż­niam liter poni­żej 16 pik­seli, co w dwóch przy­pad­kach wywo­łało kon­ster­na­cję. Punkty i pik­sele to nie to samo.
Punkt jest jed­nostką typo­gra­ficzną pocho­dzącą ze […]

Krzemowe kostki, czyli jak komputery zjadły RPG

Kiedy byli­śmy szczy­lami zupeł­nymi (pierw­sze dwie klasy pod­sta­wówki), zagry­wa­li­śmy się w Tali­zman, wtedy znany jedy­nie jako Magia i miecz. Gra wcią­gała, ale z cza­sem zaczę­li­śmy szu­kać odmiany. Advan­ced Dun­ge­ons & Dra­gons oka­zało się strza­łem w dzie­siątkę, przy­naj­mniej na jakiś czas.
Nie­długo póź­niej zaczę­li­śmy swoje pierw­sze eks­pe­ry­menty z poważ­nymi RPG. Eks­pe­ry­menty to dobre okre­śle­nie, bo pierw­sze spo­tka­nia dziesięciolatków […]

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Poland
This work by Patryk Zawadzki is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Poland.