Re: [python] class a subclass

2006-11-10 Tema obsahu Petr Přikryl
mtip napsal(a):
 RM Problem je asi niekde v tom, ze v potomku v metode ma() odovzdavas
 RM self t.j. referenciu na instanciu triedy b (potomka)
 RM super(b,self).ma()
  
 RM Neviem naco by sa v tej funkcii super() mala davat referencia na potomka,
 RM ked to ma ist do rodica.
 RM Ja som to skusal aj inac ale nejde mi to. Predtym som super() nikdy
 RM nepouzil. Podla mna tam niekde je problem.
 
 
 To je presne ono. Ja to taky tak chapu, jenze lze ziskat neco jako
 instanci rodice ? To asi ne, podle me vsechno bezi na jedne instanci a
 to self potomka.
 Navic sem to zkusil tak, ze misto self tam vytvorim novou instanci
 rodice a poslu a uz to funguje, jak ma. Jenze ta nova instance pred
 kazdym volanim predka nelze v praxi pouzit.

Možná je chyba v tom mentálním obraze rodič-potomek.
Instance odvozené třídy je instance potomka. Žádná
související instance rodičovské třídy neexistuje.
Potomek se chová úplně jako tata, jenom některé
věci dělá trošku jinak. Prober si tohle

class tata(object):

 def huli(self):
 return 'smoke'

 def chlasta(self):
 return 'glgy glgy'

 def nadava(self):
 return 'do prdele'

 def vlastnosti(self):
 return '%s, %s, %s' % (self.huli(), self.chlasta(), self.nadava())

 def __str__(self):
 return self.vlastnosti()


class synek(tata):

 def chlasta(self):
 return 'lok lok'

 def nemysli(self):
 return 'to sem magor'

 def vlastnosti(self):
 # jako tata, trochu jinak, ale navic nemysli

 return tata.vlastnosti(self) + ', ' + self.nemysli()


fotr = tata()
print fotr

syn = synek()
print syn


Vypíše to:
smoke, glgy glgy, do prdele
smoke, lok lok, do prdele, to sem magor



pepr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] class a subclass

2006-11-12 Tema obsahu Petr Přikryl
Ještě jednou se vrátím k původnímu dotazu. Kdybych přece jen
chtěl něco takového, abych u instance mohl dynamicky rozhodovat,
jaká varianta metody se má volat (zda rodičovský kód nebo
kód potomka) a kdyby se o tom mělo rozhodovat například
zvnějšku, mohu použít prostředníka...


mtip napsal(a):
 [...]
 class a:
 def prn(self):
 print 'a',self
 def ma(self):
 self.prn()
 
 class b(a):
 def prn(self):
 print 'b',self
 def ma(self):
 '''prekryje a.ma()'''
 a.ma(self)
 
 x=b()
 x.ma()
 
 vysledkem je print z metody b.prn, a ja bych potreboval aby byl a.prn

Nadefinujeme referenci self.prnX, která bude obsahovat buď odkaz
na rodičovský kód metody nebo na potomkův kód metody. Metoda ma()
nebude volat prn() přímo, ale prostřednictvím prnX(). Budeme
přepínat voláním funkce setPrn?(). Příklad:

class a:
 def __init__(self):
 self.setPrnA()

 def prn(self):
 print 'a',self

 def setPrnA(self):
 self.prnX = a.prn

 def ma(self):
 self.prnX(self)


class b(a):
 def __init__(self):
 a.__init__(self)
 self.setPrnB()

 def prn(self):
 print 'b',self

 def ma(self):
 '''prekryje a.ma()'''
 a.ma(self)

 def setPrnB(self):
 self.prnX = b.prn


x=b()
x.ma()

x.setPrnA()
x.ma()

x.setPrnB()
x.ma()

Pokud se nepletu, tak se tomu po zobecnění říká Strategy Pattern
nebo delegace (moc silný v teorii tady nejsem). Jde o to, že
chci provádět nějakou činnost, která má pro mě jakýsi abstraktní
význam (například tisk), ale teprve za běhu chci upřesnit, kterou
variantu oné abstraktní operace budu chtít používat.

(Lovím to z hlavy. Možná jsem tady trochu nepřesný.)

pepr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Buducnost Pythonu: lambda, map, filter

2006-11-13 Tema obsahu Petr Přikryl
Roman Miklos napsal(a):
 Radsej by som naopak uvital keby sa preberalo stale viac, napriklad keby
 bolo mozne namiesto
 
 f = open(data.txt)
 line = f.readline() 
 while line:
   print line
   line = f.readline()
 f.close()
 
 napisat jednoducho ako v Perle a C++
 
 f = open(data.txt)
 while line = f.readline():
   print line 
 f.close()

Já raději píšu

f = open(data.txt)
for line in f:
 print line
f.close()


pepr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] file.next() (bylo Buducnost Pythonu: lambda, map, filter)

2006-11-14 Tema obsahu Petr Přikryl
radek napsal(a):
  Avšak souhlasím s názorem, že soubory se čtou 
  většinou po řádcích  takže je
  to takto praktické ale mám z toho pocit vyjímky která se mi nelíbí.

 Problém je v tom, že zadrátovat do jazyka konstrukci, která ušetří
 několik písmenek je sice praktické, ale nedobré. Nechť je prostě všechni
 vidět. Pokud se soubory mohou číst i jinak, než po řádcích, což se děje
 velmi často, tak bych tyto zjednodušující konstrukce do jazyka vůbec
 nedával.

 
 Presne tak, priklady, jak by to vypadalo jinak:
 
 #cteni po radcich s defaultnim line oddelovacem (jak je ted)
 for line in file(data.txt).lines():
 ...
 
 #cteni po radcich, ktere jsou oddelene oddelovacem br
 for line in file(data.txt).lines(br):
 [...]

Ale definice, že řádek v textovém souboru je ukončen
br jaksi není obecně přijímaná. Když chci, musím
si to napsat sám a nebo použít odpovídající parser.


Jan Matějka
 Ono obecnější řešení je udělat parsovací generátory, které by šly použít s
 čímkoliv file-like jako vstupním prametrem, a nestrkat parsování to objektu
 file. Tedy: [...]
 
 for line in lines(file(data.txt)):
  ...
 [...] atd.
 
 Výpočetní náročnost by zústala stejná. Generátory mi přijdou jako skvělý
 nástroj, škoda že se GvR brání zobecnění do více úrovní zanoření jenž nabízí
 stackless python. 

Ale vdyť mi nic nebrání zpracovávat soubor po znacích.

# Vygenerujeme si testovaci textovy soubor.
f = open('test.txt', 'w')
for i in xrange(3):
 f.write('Line %d.\n' % i)
f.close()


# Pruchod po znacich.

f = open('test.txt')
c = 'init'
while c != '':
 c = f.read(1)
 print c
f.close()

A nic mi nebrání napsat generátor, který vezme a bude vracet znaky
a použít ho:

def chargen(f):
 c = 'init'
 while c != '':
 c = f.read(1)
 yield c

for c in chargen(file('test.txt')):
 print c

A můžu si napsat jakýkoliv jiný generátor/parser.

pepr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] OT: překlad syndication feeds

2010-04-28 Tema obsahu Petr Přikryl

Petr Messner

Stejně kdo si v knize u RSS přečte, že je to syndikace, buď bude
význam vědět proto, že RSS už zná, nebo mu nějaká syndikace neřekne
vůbec nic.

S tím souhlasím. Vím, co je RSS, ale s celým názvem 
jsem se setkal jen párkrát a asi bych si na něj nevzpomněl.
A opravdu se mi pod tím nic logicky pochopitelného nevybavuje.
Je to skoro jako kdyby to vymyslel microsoftí marketingový pracovník.

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] printy v češtině na WINDOWS/cmd konzoli nečitelné

2010-04-28 Tema obsahu Petr Přikryl

petrofF
Bohužel, toto se týká jen příkazů print.
Pokud použiju raw_input(uZadej jméno...) hodí to chybu

Zdá se, že jde o starou chybu, kterou jsem hlásil vývojářům skoro před 
5 lety. Mrkni sem http://www.py.cz/pipermail/python/2005-July/003022.html
Jsou tam popsané projevy a možnost částečného řešení. Tenkrát se mi
zdálo, že ten řešitel tak trochu strkal hlavu do písku. Šlo to nějak do 
ztracena.
Už jsem to pak nesledoval. Ty odkazy uvnitř už asi nefungují.

Jestli máš možnost, přejdi na poslední Python 2.6.x a zkus, jestli 
už to náhodou není opravené.

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] printy v češtině na WINDOWS/cmd konzoli nečitelné

2010-05-04 Tema obsahu Petr Přikryl

zu1234
Hynek
 Ve wydlích není žádná obdoba *nixových $LC_* proměných, ze kterých by to šlo 
 zjistit za běhu?

Zase někdo, kdo chce nás, chudáky windowsáky, nas..t!
...
Prostě, ms-windows není systém a už vůbec ne operační.
Je to produkt úspěšného marketingu.

Ale vážně a k věci: někde na webu jsem potkal informaci že commandlajna 
pod ms-w nemusí jet v cp852. Že se to dá změnit na cp1250.
Ale nezkoušel jsem to - mám se celkem rád!

Ale... on to tak Hynek určitě nemyslel. Nezapomínejme na to, že
... až budou Windows hotové, bude to nejlíp dokumentovaný Unix na světě.
Fakt je, že u Apple už to tak dopadlo.

Ono to zas není tak horké a neustále omílat folklór... Programovat se dá
skoro ve všem, i když je to někdy obtížnější, než tvrdit, že to nejde.

Zkuste tohle v pythonovském shellu v cmd:

 import sys
 sys.stdout.encoding
'cp852'

a zkuste totéž v IDLE (používá skutečné windowsovské okno...):

IDLE 2.6.5  
 import sys
 sys.stdout.encoding
'cp1250'


Takže odpověď zní sys.stdout.encoding, případně sys.stderr.encoding.

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] printy v češtině na WINDOWS/cmd konzoli nečitelné

2010-05-04 Tema obsahu Petr Přikryl

Do toho sitecustomize.py bych to necpal. Je to soubor v podstatě 
vázaný na počítač. Pokud by aplikace na něco takového spoléhala,
nedala by se rozumně instalovat jinde.

Přimlouvám se o naprostý přechod k Unicode -- jinak s tím bude
problém vždycky. Nebo se musí přinejmenším neunicodový řetězec
převést na Unicode řetězec (v kódování podle zdrojového textu)
a při výstupu určit kódování přes sys.stdout.encoding nebo 
sys.stderr.encoding.

Je to furt ten samý problém, že v Python 2.x  takovýhle řetězec
vlastně není řetězec, ale posloupnost bajtů. Vypořádává se s tím
až Python 3, ale to nebrání tomu v Pythonu 2.x důsledně používat
uunicode řetězce.  Jedině ty jsou řetězci, se kterými se dá
něco dělat z hlediska přenositelnosti.

Petr

petrofF
Petr Přikryl
 petrofF

 Bohužel, toto se týká jen příkazů print.
 Pokud použiju raw_input(uZadej jméno...) hodí to chybu

 Zdá se, že jde o starou chybu, kterou jsem hlásil vývojářům skoro před
 5 lety. Mrkni semhttp://www.py.cz/pipermail/python/2005-July/003022.html
 Jsou tam popsané projevy a možnost částečného řešení.

Zkusil jsem místo explicitního volání:   
  raw_input(s.encode(sys.stdout.encoding))
vytvořit soubor sitecustomize.py s předefinovanými vstupními funkcemi

[ sitecustomize.py ]


  - change raw_input() and input() commands if console present
    (i.e. if sys.stdout.encoding is 'cp852')
  - modification of prompt argument proceed only if it is a unicode
object
   (non-unicode object is treated unchanged)

import sys
if sys.stdout.encoding == cp852:
  try:
import __builtin__
original_raw_input = __builtin__.raw_input
original_input   = __builtin__.input

def raw_input(prompt=''):
  if type(prompt)==unicode:
prompt = prompt.encode(sys.stdout.encoding)
  return original_raw_input(prompt)

def input(prompt=''):
  return eval(raw_input(prompt))

raw_input.__doc__ = original_raw_input.__doc__
input.__doc__   = original_input.__doc__

__builtin__.raw_input = raw_input
__builtin__.input   = input

  except:
import traceback; traceback.print_exc()

-
Skripty (s unicode literály) se v WinDOS okně zobrazují bezchybně.
Jen si nejsem jistý jestli je úprava kompatibilní s různými běhovými
prostředími
(IDLE, PyWin, PyDev, konzole.py apod)
  -petroff-
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] parsing souboru

2010-05-05 Tema obsahu Petr Přikryl

Tomas Hnizdil
Mam soubor, ve kterem mam textova data ve formatu dictionary tj. '{'KLIC':
'hodnota', .. {'SUBSLOVNIK': 'hodnota' } ...}
Potrebuji zjistit hodnotu dvou klicu, ktere jsou umitsteny skoro na konci
toho slovniku. Vsechno je to ulozeno jako jedna radka a ma to v prumeru 6000
znaku, prijde mi proto neefektivni to cist od zacatku a navic to nacitat
cele do pameti, python ma spoustu sikovnych funkci, o kterych nevim, proto
se ptam, zda to jde udelat nejak lepe ...

Jak často se to má spouštět? Jak velký ten soubor je? V jakém kódování je?
S jakou verzí Pythonu to má fungovat?

Pokud je na jednom řádku zápis celého slovníku, normálně bych
z toho udělal slovník (eval) a nedělal bych si s tím těžkou hlavu.
Pokud se to nemá provádět velmi intenzivně, nemá smysl se
zabývat optimalizacemi.

Něco takového:

 a = {'a': 1, 'b': 2}
 a
{'a': 1, 'b': 2}
 d = eval(a)
 d
{'a': 1, 'b': 2}


Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] OT: překlad caching proxy?

2010-05-05 Tema obsahu Petr Přikryl

Všechny zdravím a Slunce v duši (když už je tak zas...á obloha),

Mám tu zase takový oříšek. Překládá se nějakým stručným českým
pojmem nebo ne-příliš-moc-dlouhým-i-když-korektním-opisem
anglický caching proxy v souvislosti s webovými službami?

Dík,
   Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] eval je nebezpečný, ale i užit ečný (bylo parsing souboru)

2010-05-06 Tema obsahu Petr Přikryl

Tomas Hnizdil
 Mam soubor, ve kterem mam textova data ve formatu dictionary tj. '{'KLIC':
 'hodnota', .. {'SUBSLOVNIK': 'hodnota' } ...}
 Potrebuji zjistit hodnotu dvou klicu, ktere jsou umitsteny skoro na konci
 toho slovniku. Vsechno je to ulozeno jako jedna radka a ma to v prumeru 6000
 znaku, prijde mi proto neefektivni to cist od zacatku a navic to nacitat

Petr Messner
pokud to vypadá jako JSON, asi nejlepší bude použít na to nějakou
knihovnu, jak už tu zaznělo. Další zmíněná možnost, eval, se mi moc
nelíbí.

Do stohu bych se sirkama taky nelezl a dětem bych nedával ostrý nůž na hraní.
Je to záležitost volby. Pokud jde o utilitku narychlo, pro vlastní potřebu, 
je podle mě použití eval() bez problémů.

Nebezpečnost eval() je úzce spojená se znalostí jeho vstupu.
Pokud jsem schopen ohlídat, že tam nic špatného nepronikne,
je to OK. Záleží na tom, kdo ten zpracovávaný soubor připravuje.

Je jasné, že do webové služby by se to cpát nemělo.

Modul json je od Python 2.6 mezi standardními moduly.

Mějte se fajn,
   Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] OT: překlad cache, hash

2010-05-06 Tema obsahu Petr Přikryl

Zdravím všechny,

Tohle je spíš pro lidi, kdo kromě vlastního názoru mají
i nějakou zkušenost...

Co to je cache a hash ví (aspoň přibližně) každý, kdo
trochu k počítačům čuchnul.  Není to problém chápat, 
není problém to používat v hovoru keš, heš. Problém
je rozlišit folklór a slang od něčeho, co snese papír
knížky.

hash -- ve smyslu speciální hodnoty, která vzniká
   jako příznak zpracovaného obsahu.

   (Příbuzné přejaté slovo hašé -- sekané maso...)

cache -- vyrovnávací paměť (spíš u hardware),
   ale také mechanismus použití obsahu (rozhodnutí,
   kdy použít a kdy ne, kdy získat novou hodnotu
   ze zdroje... ve smyslu funkce HTTP protokolu, např.)

Teď ta otázka...  Jak ty pojmy psát česky? Kde,
při jakých příležitostech, ... jste nějaké české pokusy
viděli?

Není to věc logiky. Chce to sebrané zkušenosti 
a braingstorming (tj. klidně i blbosti ;)

Díky,
   Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] OT: překlad cache, hash

2010-05-06 Tema obsahu Petr Přikryl

Galloth
Hash function se do cestiny preklada jako rozptylovaci funkce. Nedavno
jsem si ale delal nejake experimenty na google a zjistil jsem, ze
nejcasteji se proste pise hashovaci funkce, coz i mne prijde rozumne.

Ano. Ten pojem je OK, ale to, co potřebuju, je to trošku něco jiného.
Pojem rozptylovací funkce se používá v souvislosti
s vyhledávacími tabulkami (hash table), kde se snažíme
o rovnoměrné rozptýlení hodnot do celočíselného intervalu.

Tady jde spíš o to, že se z velkého vzorku dat vyrobí malý 
příznakový vzorek, podle kterého se dá identifikovat ten velký.
V tomto smyslu nemusí být (a nebývá) hash hodnota celočíselná.
V takových souvislostech ale ztrácí smysl pojem rozptylovací funkce.

Svůj pohled, který s pojmem rozptylovací funkce souvisí, jsem kdysi 
vyjádřil tady http://www.skil.cz/python/cztuttrn.html#Pdata_hash
Ale například u HTTP protokolu se hash dokumentu používá
jako příznak konkrétního obsahu dokumentu. Je to trošku něco
jiného. Nemusí to být hodnota kvalitně rozptýlená. Musí to být 
hodnota, která je pokud možno 1 : 1 přiřaditelná k řetězci, 
z kterého vznikla. Jsou na ni tedy jiné nároky. Na rozdíl od
vyhledávacích tabulek nechceme vůbec připustit možnosti
kolize (pokud možno žádná synonyma).

Dá se to sice různě opsat, ale je to natolik frekventované
a specifické slovo, že se pak stejně za opis musí napsat
do závorky hash. 

O cache to platí ještě víc (ještě frekventovanější) -- alespoň 
v tom, co překládám.
 
U cache moc nevim, ale nevim proc by se u HTTP protokolu take nemohlo
pouzit vyrovnavaci pamet, funguje to preci uplne stejne jako v tom HW.
Kdyz mate v Hardware viceprocesorovy system, tak vyrovnavaci pamet
musi zajistit , zda obsahuje aktualni data, coz je presne to same, co
popisujete u HTTP, nebo ne?

Princip vyrovnavaci pameti spociva v tom, ze je rychlejsi nez vlastni
zdroj a pouzije se tedy vzdy, kdyz obsahuje platna data.

Ano. Asi je to úplně stejné (z abstraktního hlediska). Používání
je trochu komplikovanější, než u hardware (složitější pravidla),
ale principiálně to tak je.

Problém je, jak rozumně překládat třeba caching (jako činnost),
caching headers (jako relativně stručné označení něčeho
konkrétního).

Každopádně díky za příspěvek,
 Petr
 


Petr Přikryl

 Co to je cache a hash ví (aspoň přibližně) každý, kdo
 trochu k počítačům čuchnul.  Není to problém chápat,
 není problém to používat v hovoru keš, heš. Problém
 je rozlišit folklór a slang od něčeho, co snese papír
 knížky.

 hash -- ve smyslu speciální hodnoty, která vzniká
   jako příznak zpracovaného obsahu.

   (Příbuzné přejaté slovo hašé -- sekané maso...)

 cache -- vyrovnávací paměť (spíš u hardware),
   ale také mechanismus použití obsahu (rozhodnutí,
   kdy použít a kdy ne, kdy získat novou hodnotu
   ze zdroje... ve smyslu funkce HTTP protokolu, např.)

 Teď ta otázka...  Jak ty pojmy psát česky? Kde,
 při jakých příležitostech, ... jste nějaké české pokusy
 viděli?

 Není to věc logiky. Chce to sebrané zkušenosti
 a braingstorming (tj. klidně i blbosti ;)
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] OT: překlad cache, hash

2010-05-07 Tema obsahu Petr Přikryl

mimi.vx
Visgean Skeloru
 Petr Přikryl
  Co to je cache a hash ví (aspoň přibližně) každý, kdo
  trochu k počítačům čuchnul.  Není to problém chápat,
  není problém to používat v hovoru keš, heš. Problém
  je rozlišit folklór a slang od něčeho, co snese papír
  knížky.
...
  Teď ta otázka...  Jak ty pojmy psát česky? Kde,
  při jakých příležitostech, ... jste nějaké české pokusy
  viděli?

 Hmm, podle mně je překládání těchhle konkrétních slov nesmysl - většina
 textů stejně používá anglické výrazy a tak čtenář nepochopí českou variantu,
 popřípadě nováček který se s pojmi setká poprvé (ať už v anglické či české
 verzi) tak bude později zmaten. Taktéž pro dohledávání informací je mnohem
 lepší angličtina než čeština...

take bych zrovna tyhle slova neprekladal .

Souhlasím s tím, že většina anglických textů používá anglické
výrazy, ale v českých textech jsem se s nimi právě nesetkal. Slova
cash a hash -- kdyby byla takhle zapsána v textu -- jsou neohebná
(nesklonná).  Fonetický přepis cizích slov do češtiny se nepoužívá
tak často, jako v jiných jazycích (třeba v ruštině). Pokud někdo
ten pojem nezná, je pro něho jak anglický originál, tak český
přepis nesrozumitelný. Nejde jen o srozumitelnost ve smyslu
vím o co jde. Jde o to, že člověk, který se v té oblasti rutinně
nepohybuje, musí v okamžicích uvedené těchto slovíček chvíli
přemýšlet nad něčím jiným, než nad hlavní linkou zapsané
myšlenky.

Pokud někdo bravurně ovládá angličtinu, pak si to jistě přečte
v originále. Překlad je pro ty ostatní.

Takže nepřekládat není přijatelný návrh ;)

Díky za vaše hlavolámání,
   Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] OT: Cache -- rozuzlení? Hash -- dal ší poznámky (bylo překlad cache, hash)

2010-05-07 Tema obsahu Petr Přikryl

Vladimir Macek

Petr Přikryl wrote:
 hash -- ve smyslu speciální hodnoty, která vzniká
jako příznak zpracovaného obsahu.

Hešovací je použitelné a intuitivní. Myslím, že originální hash
angličtina považuje za přídavné jméno a my bychom se toho měli držet.
Slangově je to zkráceně a nesprávně.

Problém je v tom, že v anglickém slovníku najdeme, že je to
buď podstatné jméno nebo sloveso. Přídavné jméno to je tím
pádem automaticky taky.

Slangové heš vychází přímo z angličtiny a bere to jako 
nesklonné slovo. Těžko říct, jestli je to nesprávné, protože
není ustanovené to správné. Je jasné, že nějaké slovíčko
nakonec vznikne a i tahle debata bude možná plivancem
do moře názorů, z jehož pěny se to nakonec zrodí, jako Venuše.
(Ku..a, to jsem dnes básník, asi mi z toho překládání už hrabe ;)

Krypto otisk (např. SHA-1) využívá rozptylovacích/rozmítacích schopností
dané hešovací funkce pro zajištění svých bezp. principů (jako
krypto-laik to tak cítím), takže i výrazivo je propojené s hešovací
tabulkou.

Samotné slovo otisk jasně vyjadřuje, že se o tom někdy
bavíme jako o podstatném jméně. Nějak mi uniká souvislost
například SHA a hešovací tabulky (tj. rozptylovací funkce).
Rozptylovací funkce má jako pojem smysl (podle mého názoru),
když se získá celočíselný index, kterým se přímo dostaneme
na referenci synonym v poli. Jinými slovy, tento zúžený pohled
souvisí s jedním z možných přístupů při implementaci
vyhledávací tabulky. Samotný název hešovací tabulka
je tedy do jisté míry speciální a v zájmu obecnosti a jako 
praktický projev zapouzdření bychom jej asi neměli používat
jindy, než když se bavíme o tomto konkrétním způsobu
implementace vyhledávacích tabulek.

Výraz příznak je podle mě mimo. Jde o otisk o pevné velikosti, který
nenaznačuje, ale skutečně nese užitečnou identifikační informaci.

Ano. Slovo příznak jsem použil záměrně trochu blbě.
Hash (jako podstatné jméno) bývá vytvářen právě s cílem
jednoznačně identifikovat zpracovaný obsah zhuštěným
způsobem (paměťově menší náročnost), ale pokud možno
tak, aby to byla identifikace jednoznačná (v nějakém kontextu).
Požadavek na jakékoliv jiné vlastnosti je vlastně zúžením
obecnosti.

 cache -- vyrovnávací paměť (spíš u hardware),
ale také mechanismus použití obsahu (rozhodnutí,
kdy použít a kdy ne, kdy získat novou hodnotu
ze zdroje... ve smyslu funkce HTTP protokolu, např.)

Vždy se mi líbil výraz mezipaměť. Je to krátké, výstižné a ohebné.

Mezipaměť mě osobně velmi překvapila, protože se používá
hojně (viz google statistika pro lenochy) -- díky moc.
Trochu jsem si při tom uvědomil, proč mi někdy nesedí
pojem vyrovnávací paměť -- viz dále.

Mechanismus použití obsahu nechápu. Cache má přece 
 stejný princip v HW i v SW, tedy i u HTTP.
A ten pojem navíc chápu tak, že hlavní je to paměťové 
 úložiště a nikoli algoritmy, které ho řídí.

Souhlasím i nesouhlasím. Záměr cache je opravdu stejný
u SW i u HW. Pohled na to, jestli jde o datový prostor, algoritmus
nebo obojí... Je v tom skrytá dualita -- jako u všech programů
z předobjektové doby: Data + Algorithm = Program.

Má-li být cache transparentní, pak je nutné k té paměti
přidat i ty algoritmy. V pojmech výstavby systému vystupuje
cache jako podsystém (objekt) s vlastnostmi agenta.
To znamená, že zprostředkovává funkčnost. Jak datová
stránka, tak stránka algoritmická ovlivňují celkové chování
agenta.

Teď k tomu mezipaměť versus vyrovnávací paměť.
Když se řekne vyrovnávací paměť a nepřijmu to slepě
jako pojem (tj. jsem jako nováček a slyším to jako poprvé
a poprvé se nad tím zamýšlím), sedí mi to spíš k situaci,
kdy zdroj informací produkuje data nárazově a chci data
odebírat plynule (nebo podobně v opačném směru).
Něco takového, jako dělá přehrada s vodním tokem.

Když se řekne cache ve významu použií například v protokolu
HTTP, představuji si to spíš jako něco
trochu jiného. Jako skutečně příruční skladiště informací,
které potřebuji často. Příkladem z reálného života může
být studium z knížek při využití knihovny -- jednak veřejné
knihovny a jednak knihovny ve smyslu poliček v pokoji.
Některé věci je dobré studovat přímo ve veřejné knihovně,
pár knížek si rád na chvíli půjčím domů.

V tomto smyslu mi mezipaměť přijde výstižnější
a lépe odpovídající pojmu cache, který mi připadá
trochu obecnější než vyrovnávací paměť.  Vyrovnávací
paměť je v tomto smyslu obecnějším případem
mezipaměti.

Díky moc za podnětný příspěvek,
 Petr

P.S.: Víc hlav -- víc zelí.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] OT: překlad cache, hash

2010-05-07 Tema obsahu Petr Přikryl

Visgean Skeloru

Mimochodem, bude u těch překladů i anglický ekvivalent 
jako to má například wikipedia?

Ano, určitě. Pokud to není jasný pojem (jako například
list = seznam), uvádím v závorce originál. Uvádím 
jej i opakovaně v místech, kde by to čtenáři mohlo
usnadnit nebo upřesnit chápání toho, o čem se mluví.

Ale na druhou stranu by to zase neměl být dvojjazyčný
román, takže se snažím to nepřehánět.

Vzhledem k licenci textu by celý překlad měl být také zveřejněn
na webu. Zatím nevím kde a kdo se o to postará, ale 
počítám s tím, že by měl být rovněž živý -- jako originál.
To znamená, že bude prostor pro dodatečné opravy
a úpravy v návaznosti na další připomínky.

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] printy v češtině na WINDOWS/cmd konzoli nečitelné

2010-05-10 Tema obsahu Petr Přikryl

petrofF

Problém s Unicode v IDLE:

...

 print učeské_unicode
se zobrazí správně jen pokud je vykonán spuštěním modulu (kde se
vyskytuje)
Pokud zadám přímo v IDLE-příkazovém interpretu např.:
   uDia = u'ěščřžýáíéóúůďťňĚŠČŘŽÝÁÍÉÓÚŮĎŤŇ'
   print uDia
výsledek je:
   ìšèøžýáíéóúùïò̊È؎ÝÁÍÉÓÚÙύÒ
Nevím proč tomu tak je:
   getdefaultencoding()ascii
   sys.stdin.encoding  cp1250
   sys.stdout.encoding cp1250
(platí jak v interaktivním režimu tak i při Run Module)
[IDLE version 1.2 Python version 2.5]
A zda se s tím nedá něco udělat - konfigurace, nová verze...


Můžu potvrdit i pro Python 2.6.5.  Odhaduji, že chyba
je přímo v konzolovém okně IDLE.  Řetězec naklofaný
v okně to chybně převádí do Unicode -- pravděpodobně 
vnitřně používá nějaké jiné kódování. 

Stálo by za to nahlásit to jako chybu (pokud už to není 
nahlášené).


Přikládám obrázky se sejmutými IDLE konzolemi z 2.6.5  a 3.1.2

P.
attachment: py26.pngattachment: py31.png___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

[python] OT: preklad cookies

2010-05-11 Tema obsahu Petr Přikryl

Ahoj všeci,

Co se týká překladu cookies, ptám se spíš ze zvědavosti.
Jednak se to v překládaném textu vyskytuje minimálně
a jednak je to tak speciální věc, že neuškodí nechat to 
v původním tvaru. Přesto...

Setkali jste se někdy s nějakým překladem?

Díky a mějte se fajn,
   Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] OT: preklad cookies

2010-05-11 Tema obsahu Petr Přikryl

__
 Hynek Fabian
Vladimir Macek (úterý 11 Květen 2010 14:29:50):
 Ano, při překladu pro Microsoft (a ten měl hodně striktní pravidla) byla
 striktní instrukce překládat jako soubor cookie. Nepřijde mi to až tak
 špatné.

Výsledek je jedno špatně zvolené slovo (cookie není soubor) a jedno 
nepřeložené slovo. Nepřijde mi to až tak dobré.

Možná je to trošku nedorozumění. Cookie sice není soubor,
ale soubory pro ukládání cookie existují. Záleží na tom, 
v jakém kontextu se o tom mluvilo.

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] OT: Překlad Dive Into Python 3 -- n ázory

2010-05-19 Tema obsahu Petr Přikryl

Všechny Vás zdravím,

Jestli ze strany CZ.NIC bude zájem, rád bych ovlivnil
formu tištěné podoby knihy. Jako členové tohoto
mailing listu patříte mezi výraznější uživatele Pythonu.
Mnozí z Vás učí a možná budete chtít přeložený text
používat ve výuce...

Podle mého názoru jsou ČR (+SK) dost malé země 
na to, abychom si tu mohli dovolit experiment uplatněný
v originálu -- vytisknout takové PDF, jaké si můžete
stáhnout. Jde o to, že jde o konvertované HTML stránky
se vzhledem stejným, jako v prohlížeči. Podle mého 
názoru je to naprosto nevhodné pro tištěnou knihu.
A potvrzují to i recenze lidí, co si to koupili na Amazon.

Když si přimyslíte pár obrázků (podkapitola věnovaná
instalaci a pak HTTP web services), musí se při sazbě
zvládnout něco takového

http://diveintopython3.org/unit-testing.html#romantest2

Klíčové jsou Pythonovské zdrojáky s těmi zakroužkovanými
čísílky (nebo něco odpovídajícího). Máte nějaké návrhy?
Je to naprosto orientační dotaz, protože to následné
zpracování a sazba jde trochu mimo mě a nevím, 
zda má CZ.NIC v tomto směru zájem o spolupráci.

Podle mého názoru je text typograficky jednoduchý 
a měl by se vysázet automaticky, přímo z HTML.

Máte nějaké zkušenosti, nápady...

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] OT: Překlad Dive Into Python 3 -- n ázory

2010-05-20 Tema obsahu Petr Přikryl

Vladimir Macek
Petr Přikryl wrote:
 Máte nějaké zkušenosti, nápady...

 Podle ticha mám dojem, že nejsem sám, kdo zcela 
 nepochopil, o co Vám jde. Ne že bych nechtěl přispět 
 nápady... :)

No, v době psaní jsem na tom asi nebyl nejlíp :)

Vezmu to polopaticky. Zkuste si stáhnout PDF z

http://diveintopython3.org/d/diveintopython3-pdf-latest.zip

Podívejte se na to (je to klikací PDF) a pouvažujte nad
tím, jestli byste si koupili knihu, která vznikne vytištěním
takového PDF (tj. že se např. z hypertextových odkazů 
stanou jen podtržené texty).

Pak si zkuste stáhnout 
http://diveintopython.org/download/diveintopython-pdf-5.4.zip,
tj. starší verzi knihy pro Python 2, a porovnejte. 

Podívejte se v Dive Into Python 3 na množství úryvků
programů, zamyslete se nad Pythonem vyžadovaným 
formátováním a zvažte, jak by to dopadlo, kdyby se to
sázelo ručně.

Podobné úvahy mě vedou k závěru, že to HTML by se
mělo převést do tvaru vhodnějšího pro sazbu tištěné
knihy a ne to jen do knihy vytisknout. Vzhledem k členitosti
textu by se to mělo převést a vysázet strojově (tj. například
přechroupat do LaTeXu). Mám s tím nějaké zkušenosti,
ale už asi 10 let jsem s LaTeXem nedělal.

Mým úkolem byl překlad, ale tuším, že by ta následná
sazba nemusela dopadnout dobře, tak hledám někoho,
kdo má s něčím takovým zkušenosti. Je to naprosto
orientační dotaz, protože přesné záměry CZ.NIC neznám.

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] OT: Překlad Dive Into Python 3 -- n ázory

2010-05-20 Tema obsahu Petr Přikryl

David Rohleder
Petr Přikryl píše v Čt 20. 05. 2010 v 08:32 +0200:
 Vladimir Macek
  Podle ticha mám dojem, že nejsem sám, kdo zcela 
  nepochopil, o co Vám jde. Ne že bych nechtěl přispět 
  nápady... :)
 Podobné úvahy mě vedou k závěru, že to HTML by se
 mělo převést do tvaru vhodnějšího pro sazbu tištěné
 knihy a ne to jen do knihy vytisknout. Vzhledem k členitosti

Osobně jsem určitě za normální vysázení v něčem typografickém.

CZ.NIC už vydal IPv6 od Pavla Satrapy a ta kniha je dost dobře vysázená.
Nicméně Pavel to patrně sázel sám, mám pocit, že spíš v nějakém
docbooku, ale nejsem si úplně jistý. Asi by stálo za to, se zeptat, jak
to teda vlastně dělali.

Nejsem z CZ.NIC v přímém kontaktu. Vím jen, že to po Českých
překladech chtěli ve Wordu, aby to jejich grafik jen trochu upravil
Domyslete si to sami ;)

Pokud tam někdo máte známé, poptejte se, navrhněte...

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Buffer overflow na Win7?

2010-07-15 Tema obsahu Petr Přikryl

nefunguje ani takovyto obycejny priklad:

t = file('blabla.txt', 'a+')
t.write(Lorem ipsum dolor sit amet)
print t.read()
t.close()

Ocekaval jsem, ze se vypise prazdny retezec (vzhledem k tomu, ze se
snazim cist na konci souboru). Tento priklad ale opakovane a bez
vyjimky do konzole vypise nekolik kB binarnich dat, mezi kterymi
dokazu identifikovat napriklad jmena ostatnich souboru v aktualnim
adresari - predpokladam, ze mi python zobrazil cast surovych dat
filesystemu.

Můžu potvrdit stejné chování s Python 2.6.5 na Windows Vista.

t = file('blabla.txt', 'a+')
t.write(Lorem ipsum dolor sit amet)
t.seek(0)
print t.read()
t.close()

V teto verzi jsem pridal pred read seek. Zde bych ocekaval, ze print
vypise tentyz text, ktery jsem do souboru zapsal. Skript ale vypise
vyjimku IOError: [Errno 9] Bad file descriptor

Tohle mi funguje pod Vistama s Python 2.6.5 i s Python 2.7.

On to ale asi není obyčejný příklad.  Problém je asi v tom a+
režimu (stejně se to chová i při w+) a v současném použití .read().
Dokumentace říká:

Note: This function is simply a wrapper for the underlying fread() 
   C function, and will behave the same in corner cases, such as 
   whether the EOF value is cached.

To znamená, že to může mít co do činění s použitím vyrovnávacího
bufferu, který může být v Linuxu a pod Windows obsluhován jinak
a díky fread() a zmíněným hraničním případům se to tedy může
jinak chovat. Zkus tohle:

t = open('blabla.txt', 'a+', buffering=0)
t.write(Lorem ipsum dolor sit amet)
## t.seek(0)
print t.read()
t.close()

Jde o přidání parametru buffering=0.

Poznámka: Pro otvírání souboru by se měla používat funkce
open() a ne file(). V Python 3 file() neexistuje.

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Buffer overflow na Win7?

2010-07-15 Tema obsahu Petr Přikryl

 To znamená, že to může mít co do činění s použitím vyrovnávacího
 bufferu, který může být v Linuxu a pod Windows obsluhován jinak

Takze to znamena, ze Windowsi fread() obsahuje buffer overflow? OK,
chapu, nemusi to byt chyba pythonu, ale v takovem pripade to je snad
jeste horsi.

Je to asi chyba v Pythonu, protože Python by neměl takovou situaci dovolit.
Dokumentace ale svým způsobem na tento nedodělek upozorňuje.

V Pythonu 3 už to funguje.

Co se tyka toho 'a+', zkousel jsem to i s jinymi R/W mody, ale
vysledek stejny. Znamena to, ze Windows ma z nejakeho duvodu problem s
obousmerne otevrenym souborem? Bavil jsem se o tom s kolegou
javistou, ktery tvrdi, ze treba v Jave vubec koncept R/W souboru neni
(udajne jsou jen R nebo W streamy). Tak me napadlo, ze to je proste
jejich workaround pro platformove specificke problemy s praci se
soubory.

Ona je to taky trochu koncepční záležitost. Když je soubor otevřen
pro připisování na konec, jak lze správně rozhodnout, že soubor
už skončil?  Pokud chci použít operaci přečti soubor až do konce souboru,
je takový požadavek vůbec korektní?

Další zádrhel, který by v tomto případě mohl hrát roli, je rozlišování
binárního a textového otevření souboru. Je všeobecně známé, že 
řada vývojářů pod Unixem na rozlišování kašle, protože obsah
souboru v ASCII načteme stejně, ať se to otevře v textovém nebo
v binárním režimu. V textovém režimu se taky z důvodů
kompatibility interpretuje Ctrl-Z jako EOF. V současnosti ale asi
nikdo explicitně do souboru jako EOF znak Ctrl-Z necpe. Je možné,
že implementace interpretace EOF můžou být různě zprasené.

Otvírání textových souborů pro současné čtení a zápis je ale 
taky problematické, protože textové soubory už často bývají v UTF-8
a seek lze dělat jen velmi opatrně.  Jediný spolehlivý způsob
je chovat se k souboru jako k stream.

Java je UNICODE, takže odtud může pramenit rozhodnutí 
nedělat podobné low-level prasárny jako seek v textovém souboru.

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] file type v python3

2010-07-15 Tema obsahu Petr Přikryl

Diky za zajimavy postreh, o absenci file() v python3 jsem netusil.
Vzhledem k tomu, ze me dopredna kompatibilita zajima to budu muset
resit. Jak lze v python3 resit nasledujici konstrukci?

class test(file):
def test(self):
return 'test'

g = test('pokus.txt', 'w')


Mym cilem je vytvorit objekt, ktery dokaze dedit po libovolnem
file-like objektu, ktery pouziva jako vlastni cache. Dedicnost resim
dynamicky pouzitim type() a definovanim noveho typu v runtime. Zni to
na prvni pohled trochu desive, ale myslim, ze pro to mam rozumne
duvody. Abych toho ale dosahnul, potrebuji znat typ nebo classu
standardniho souboru. Instance objektu nad otevrenym souborem mi
pochopitelne nestaci.

Nemám osobní pracovní zkušenost, ale Python 3 má nový modul
io -- viz http://docs.python.org/py3k/library/io.html#module-io

Zabudovaná funkce open() je teď alias na io.open(). V tom modulu
jsou nějaké bázové třídy... Bude nutné nastudovat.

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Buffer overflow na Win7?

2010-07-15 Tema obsahu Petr Přikryl

No vida. Víc hlav, víc zelí. Fuguje to ;)

 Michal Molhanec napsal
[...]
MSDN: When the r+, w+, or a+  access type is specified, both reading 
and 
writing are allowed (the file is said to be open for update). However, when 
you switch between reading and writing, there must be an intervening fflush, 
fsetpos, fseek, or rewind operation. The current position can be specified for 
the fsetpos or fseek operation, if desired.

tzn.

 t = file('blabla.txt', 'a+')
 t.write(Lorem ipsum dolor sit amet)
t.flush()
 print t.read()
 t.close()

[...]
 Zkousel jsem kde co -

no hlavne jste nezkousel precist si MSDN :-)

No, já se zase tak moc nedivím. Kdybych dělal hlavně pod Linuxem,
tak bych možná nevěděl, co to MSDN je. Ne nadarmo se kdysi říkalo,
že až budou Windows jednou hotové, bude to nejlépe dokumentovaný
Unix na světě. :)

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] pomoc v pythone

2010-07-25 Tema obsahu Petr Přikryl

Musíš si to odřádkovat :-)

Pro doplnění, příkaz print si přidává konec řádku sám a dá se
přesměrovat i do souboru. Přesto bych ale dal přednost tomu
subor.write(...)

Před subor.close() napiš subor.write('rn') nebo, což je
korektnější, subor.write(os.linesep), nezapomeň někde nad tím uvést
import os.

os.linesep obsahuje oddělovač řádků - na Windows tam bude rn, na
Unix-like systémech (tj. skoro všude jinde) n. Mimochodem, existuje
ještě jedna možnost - otevřít souboru v režimu  universal newline
support a jako oddělovač řádku psát jen n, ono by se to pak mělo
na Windows na rn převést samo. (To, že jedeš na Windows, odvozuji
ze sleepu na konci.)

Toto není přesné. Pokud je soubor otevřen pro zápis v textovém
režimu (což platí vždy, když se to mode neuvede 'b'), pak se 'n'
automaticky převádí na posloupnost pro konec řádku používaný
v daném operačním systému. Hraní si s os.linesep má smysl
jen v případě, kdy si soubor záměrně otevřeme pro ČTENÍ 
v BINÁRNÍM režimu.

Universal Newline Support se používá jen při otvírání textových
souborů pro čtení (režim 'rU). Pak je jedno, v jakém OS byl
soubor vytvořen.

 subor=file(nazov,'a')

Pro otvírání souboru používej open(). Volání jakoby konstruktoru
objektu typu file() již například v Python 3 není možné.  Takže pokud
byly file() a open() v Pythonu 2 synonyma (vždy se ale doporučovalo
používat open()), v Pythnonu už file() způsobí chybu.

Měj se fajn,
   Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] pomoc v pythone

2010-07-25 Tema obsahu Petr Přikryl

Ten mailer (mail.atlas.cz) z toho vyházel zpětná lomítka. Před 'n' jako koncem
řádku má být zpětné lomítko. (Možná když to při psaní zdvojím? '\n')

__
 Od: Petr Přikryl prik...@atlas.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 26.07.2010 07:32
 Předmět: Re: [python] pomoc v pythone


Musíš si to odřádkovat :-)

Pro doplnění, příkaz print si přidává konec řádku sám a dá se
přesměrovat i do souboru. Přesto bych ale dal přednost tomu
subor.write(...)

Před subor.close() napiš subor.write('rn') nebo, což je
korektnější, subor.write(os.linesep), nezapomeň někde nad tím uvést
import os.

os.linesep obsahuje oddělovač řádků - na Windows tam bude rn, na
Unix-like systémech (tj. skoro všude jinde) n. Mimochodem, existuje
ještě jedna možnost - otevřít souboru v režimu  universal newline
support a jako oddělovač řádku psát jen n, ono by se to pak mělo
na Windows na rn převést samo. (To, že jedeš na Windows, odvozuji
ze sleepu na konci.)

Toto není přesné. Pokud je soubor otevřen pro zápis v textovém
režimu (což platí vždy, když se to mode neuvede 'b'), pak se 'n'
automaticky převádí na posloupnost pro konec řádku používaný
v daném operačním systému. Hraní si s os.linesep má smysl
jen v případě, kdy si soubor záměrně otevřeme pro ČTENÍ 
v BINÁRNÍM režimu.

Universal Newline Support se používá jen při otvírání textových
souborů pro čtení (režim 'rU). Pak je jedno, v jakém OS byl
soubor vytvořen.

 subor=file(nazov,'a')

Pro otvírání souboru používej open(). Volání jakoby konstruktoru
objektu typu file() již například v Python 3 není možné.  Takže pokud
byly file() a open() v Pythonu 2 synonyma (vždy se ale doporučovalo
používat open()), v Pythnonu už file() způsobí chybu.

Měj se fajn,
   Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] issue a spol.

2010-10-06 Tema obsahu Petr Přikryl

Zdravím,



Poraďte mi prosím, jak přeložit sousloví issue tracker.




Bude to něco jako seznam problémů. Máme český adekvát?


Překládám teď Producing Open Source   Software 
http://producingoss.com/ a tam se zas vyskytuje bug tracker s tím, že mnohdy ty nástroje 
splývají.

Přeložil jsem to zatím jako systém pro sledování chyb s uvedením bug tracker v závorce. 
Slovo issue tady asi znamená problém, ale jistý si tím nejsem. Jsem toho názoru, že 
tyhle věci čtou lidi, kteří aspoň tuší, o co jde. Issue tracker se tam asi taky nebude vyskytovat 
mnohokrát. Pokud ten překlad není úplně ujetý a sem tam se do závorky (podle uvážení) uvede 
anglický originál, asi ti nikdo nadávat nebude.


Ještě mě napadlo: Jak to dopadlo s překladem Dive into Python 3, lze jej někde 
číst?


Je to přeložené už skoro čtvrt roku, ale zatím to není dostupné. Sází se to a 
bude to k dispozici v PDF. Už je to mimo moje ruce, takže s tím víc neudělám.

Měj se,
    Petr

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] nechtene propojeni mnozin

2010-10-14 Tema obsahu Petr Přikryl

Hynek Fabian napsal...
  Pol, Leos (Thursday 14 October 2010 12:56:13):
   Fuj, takhle pisou ceckari :-)
   R0 = list(range(8))
   
   Fuj, proc z listu znova delat list ;-)

  Protoze jsem se kdysi davno nekde docetl o planech sloucit range() a 
  xrange(), 
  a zvykl jsem si v ramci dopredny kompatiblility explicitne si delat list tam 
  kde chci vic nez jen iterovat pres generator.
  Plany byly bud zavrzeny nebo uplne blby, nevim, ale zvyk mi uz zustal.
  A ted me omluvte, jdu se stydet do kouta.

Není zač se stydět. V Pythonu 3 to tak skutečně je.
Funkce range() je generátorová funkce a samo to seznam neudělá.

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Generator prvku ridke matice (bylo ... nechtene propojeni mnozin)

2010-10-20 Tema obsahu Petr Přikryl

Pro Python 2.x by se to dalo ještě upravit (viz dole).

Jirka Vejrazka napsal
    for i in [(a,b) for a in range(1,10,2) for b in range(5,20,5)]:
  
  Kdyz tady pouzijes na krajich kulate zavorky misto hranatych, tak se
  to nevyrobi cele v pameti, ale vznikne generator, ktery se pak da
  pouzit uplne stejne pro for cyklus:
  
  Python 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)] on 
  win32
  Type help, copyright, credits or license for more information.
  
 |  x = [(a,b) for a in range(1,10,2) for b in range(5,20,5)]
 |  x
 | [(1, 5), (1, 10), (1, 15), (3, 5), (3, 10), (3, 15), (5, 5), (5, 10), (5, 
15),
 | 
 |  x = ((a,b) for a in range(1,10,2) for b in range(5,20,5))
 |  x
 | 
 
a.py
==
g = ((a,b) for a in xrange(1,10,2) for b in xrange(5,20,5))

def genFunc(x, y):
    for a in xrange(1, x, 2):
    for b in xrange(5, y, 5):
    yield (a, b)
    
for t in g:
    print t,
    
print    
print '-' * 60

for t in genFunc(10, 20):
    print t,
==
 
Místo range() použij xrange() -- i když tady ta úspora je maličká (jen z 
principu).
To je ten generátor přiřazený do g -- jak ukazoval Jirka.

Generátorová funkce genFunc vrátí stejný generátor. Je to jiné jen syntakticky.
Tady jsou navíc doplněny jen parametry, aby se to dalo použít pro různé hodnoty
x a y a nemuselo se to furt opisovat. Zavoláním genFunc vznikne podobný
generátor, jako g.  U mě to zobrazí následující:

==
C:tmppython a.py
(1, 5) (1, 10) (1, 15) (3, 5) (3, 10) (3, 15) (5, 5) (5, 10) (5, 15) (7, 5) (7, 
10) (7, 15) (9, 5) (9, 10) (9, 15)

(1, 5) (1, 10) (1, 15) (3, 5) (3, 10) (3, 15) (5, 5) (5, 10) (5, 15) (7, 5) (7, 
10) (7, 15) (9, 5) (9, 10) (9, 15)
==
 
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] jmeno pro [neco for neco] (bylo nechtene propojeni mnozin)

2010-10-20 Tema obsahu Petr Přikryl


MICHÁLEK Jan Mgr. napsal

 [...]
 
 Jde tedy to nějak vymyslet, abych udělal ten generátor, kterej si bude pamatovat 
jen aktuální hodnoty x a y, aniž bych musel použít smyčku?? 


Ta věc [něco for něco] (menuje se to generátor pole??) 


Anglicky se to jmenuje list comprehension, čili skládač seznamu.
V překladu Dive Into Python 3 jsem ve spolupráci se zdejšími borci dospěl
k českému...

5.3 GENERÁTOROVÁ NOTACE SEZNAMU
Generátorová notace seznamu (anglicky list comprehension [list
komprihenšn]) umožňuje stručný zápis vytvoření seznamu z jiného
seznamu aplikováním funkce na všechny prvky zdrojového seznamu.
(Poznámka překladatele: Pojem „list comprehension“ je znám z
deklarativních jazyků a má charakter syntaktické konstrukce. V jazyce
Python se „vnitřku“ deklarativního zápisu podobá generátorový výraz.
Tímto způsobem byl odvozen český pojem „generátorová notace“.
Někdy je pojem „list comprehension“ použit v procedurálním,
dynamickém smyslu. V takové situaci můžeme uvažovat o pojmu
„generátor seznamu“. Pokud se bavíme o jeho výsledku, můžeme
uvažovat i o pojmu „generovaný seznam“. Vzhledem k tomu, že
zavedený český pojem pro tuto konstrukci asi neexistuje —
studentům příslušných oborů vysokých škol přijde po krátké 
chvíli anglický pojem srozumitelný —, budu volněji
používat některou z uvedených variant. Někdy budu poněkud 
dlouhý pojem „generátorová notace seznamu“

zkracovat. Kritériem volby bude dobrá srozumitelnost.)

Podobně existuje dictionary comprehension a set comprehension.


Nebo to jde nějak občůrat (například použít místo range() generátor)??


Už jsem to posílal jako reakci na odpověď Jirky, ale ono Ctrl-V zase tolik
práce nedá ;)

g = ((a,b) for a in xrange(1,10,2) for b in xrange(5,20,5))

def genFunc(x, y):
    for a in xrange(1, x, 2):
    for b in xrange(5, y, 5):
    yield (a, b)
    
for t in g:

    print t,
    
print    
print '-' * 60


for t in genFunc(10, 20):
    print t,


Petr


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] co se stalo s Dive into python ?

2010-12-15 Tema obsahu Petr Přikryl
Překlad jsem odevzdal asi v půlce července. Pokud vím, probíhá sazba, 
ale to už jde úplně mimo mě a netuším v jakém je to stavu ani jakou

to bude mít podobu. Neznám ani temín vydání.

Elektronická podoba bude zveřejněna nejspíš až po vydání papírové
knihy. V podstatě se mi podařilo dosáhnout stejné formy, jako u originálu
(HTML i PDF přes Prince). Tuto formu ale nepovažuji za vhodnou pro
přímý tisk knihy. 


Navrhuji zeptat se prostřednictvím http://knihy.nic.cz/ -- vpravo nahoře 
najdete:

    Pište pro edici
    Pokud máte připravené texty nebo se chystáte odbornou knihu napsat, a  
chtěli byste na jejím vydání spolupracovat, obraťte se na nás na  e-mailové 
adrese kont...@nic.cz; do předmětu zprávy uveďte heslo „knihy.nic.cz“.

Odkažte se, že reagujete na 
http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-into-python-3/
a zeptejte se na termín.

Měj se fajn a přeju krásné svátky,
    Petr

__
 Od: Ondrej Beranek 
 Komu: Konference PyCZ 
 Datum: 16.12.2010 08:11

 Předmět: [python] co se stalo s Dive into python ?

Ahoj chtěl bych se zeptat jako to s touhle knihou dopadlo ? je hotova ? da se 
koupit ? stahnout ? rad bych si ji nechal dat k vanocum :D
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] co se stalo s Dive into python ?

2010-12-16 Tema obsahu Petr Přikryl

Byl to Jiří Znamenáček?

__
 Od: Jakub Vysoky 
 Komu: Konference PyCZ 
 Datum: 16.12.2010 08:54

 Předmět: Re: [python] co se stalo s Dive into python ?

tuhle prvni stredu v mesici na srazu pratel dynamickych jazyku rikal
jeden z prichozich (ktery ma zrejme s temito veci v nic.cz neco
spolecneho), ze by kniha mela byt brzo vydana. ale bohuzel o terminu
take nic nevim. muzu se zkusit pozeptat..

2010/12/16 Petr Přikryl :
 Překlad jsem odevzdal asi v půlce července. Pokud vím, probíhá sazba,
 ale to už jde úplně mimo mě a netuším v jakém je to stavu ani jakou
 to bude mít podobu. Neznám ani temín vydání.

 Elektronická podoba bude zveřejněna nejspíš až po vydání papírové
 knihy. V podstatě se mi podařilo dosáhnout stejné formy, jako u originálu
 (HTML i PDF přes Prince). Tuto formu ale nepovažuji za vhodnou pro
 přímý tisk knihy.

 Navrhuji zeptat se prostřednictvím http://knihy.nic.cz/ -- vpravo nahoře
 najdete:

     Pište pro edici

     Pokud máte připravené texty nebo se chystáte odbornou knihu napsat, a
 chtěli byste na jejím vydání spolupracovat, obraťte se na nás na e-mailové
 adrese kont...@nic.cz; do předmětu zprávy uveďte heslo knihy.nic.cz.

 Odkažte se, že reagujete na
 
http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-into-python-3/
 a zeptejte se na termín.

 Měj se fajn a přeju krásné svátky,
     Petr

 __
 Od: Ondrej Beranek 
 Komu: Konference PyCZ 
 Datum: 16.12.2010 08:11

 Předmět: [python] co se stalo s Dive into python ?

 Ahoj chtěl bych se zeptat jako to s touhle knihou dopadlo ? je hotova ? da
 se koupit ? stahnout ? rad bych si ji nechal dat k vanocum :D
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python




--
Jakub Vysoky

mob: +420 605 852 377
jab: jakub.vys...@gmail.com
icq: 109248375
twit: https://twitter.com/kvbik
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] xml.etree.ElementTree a parsovani souboru s namespace.

2010-12-21 Tema obsahu Petr Přikryl
Doporučuji přečíst kapitolu 12 z Dive Into Python 3, konkrétně 
12.4. Parsing XML http://diveintopython3.org/xml.html#xml-parse

12.5. Searching for nodes within an XML document
a konečně 12.6. Going further with LXML (plná podpora XPath 1.0).

Petr
__
 Od: M.B. 
 Komu: python@py.cz

 Datum: 20.12.2010 22:31
 Předmět: [python] xml.etree.ElementTree a parsovani souboru s namespace.

Zdravím,
Začal jsem z nudy přepisovat starší Gtk programy s pomoci GObject
Introspection. Jsem ale líný hledat neustále v XML souborech tak jsem
si chtěl napsat jednoduchý skript na vyparsování informací do nějakého
mě příjemnějšího formátu.Bohužel jsem XML soubory parsoval jen zřídka a
tyhle namespaces mi dělají potíže. Nemůžu z nich nic dostat.

Př:
---
#encoding: utf-8
from xml.etree import ElementTree as XML
root = XML.parse('/usr/share/gir-1.0/Avahi-0.6.gir').getroot()
print root

def normalize(name):
   if name[0] == '{':
       uri, tag = name[1:].split('}')
       return uri, tag
   else:
       return name
   
namespace = normalize(root.tag)[0]
print namespace
clases = root.findall('{' + namespace + '}' + 'namespace/class')
print clases

Prosil bych o nějaké nakopnutí správným směrem.
Díky.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] vytvoření proměnných

2010-12-21 Tema obsahu Petr Přikryl

Tady je trošku problém, že není jasné, co se tím vlastně myslí.
Co se myslí zápisem
   x = {p1, p2, p3, ...pn}
   y = {h1, h2, h3, ...hn}

Je to jen symbolické?  Jsou p1, p2, ... pn řetězce, které vyjadřují
jména chtěných proměnných?

V Pythonu je každá proměnná pouze beztypovou nepojmenovanou
referencí na cílový objekt. Ta reference je vložena do některého ze 
systémových slovníků, přes které je spojena s nějakým jménem.


Takže jedna odpověď by mohla vypadat takto:

    p1, p2, p3 = h1, h2, h3

Ale p1, p2, p3, ... nelze zachytit do jiné struktury jménem jinak,
než že se uloží řetězcová jména proměnných. V opačném případě
jsou ve struktuře uložené jen ty reference, které se shodují s těmi,
které se pamatují pro jména p1,... Ale reference uložená v jiné
struktuře nemá žádnou přímou vazbu na jméno proměnné.

Chtělo by to uvést kontext, v jakém to řešíš.

Petr
__
 Od: Ing. Vladislav Ludík 
 Komu: Konference PyCZ 
 Datum: 21.12.2010 00:45

 Předmět: [python] vytvoření proměnných

Zdravím všechny,

poradí někdo účinnou a jednoduchou metodu vytvoření spojení názvů 
proměnných s jejich hodnotami:


x = {p1, p2, p3, ...pn}
y = {h1, h2, h3, ...hn}

kde p jsou proměnné a h jsou jejich hodnoty.

Výsledkem by měly být deklarované proměnné s jejich hodnotami:
p1 = h1
p2 = h2
p2 = h3
.
.
pn = hn


Díky, zdraví

V.L.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Kniha dive into python3

2011-02-22 Tema obsahu Petr Přikryl

No, taky jsem byl zvědavý.  Představoval jsem si,
že by ta sazba mohla dopadnout líp :(
Tak snad se vám bude líbit aspoň ten věcný obsah.

P.
__
 Od: David Rohleder 
 Komu: Konference PyCZ python@py.cz
 Datum: 21.02.2011 11:57
 Předmět: Re: [python] Fwd: [CZ.NIC #107337] kniha dive into python3

Super, ještě přidám odkaz:
http://knihy.nic.cz/

jsem moc zvědavý, jak to dopadlo.

D.

rainbof píše v Po 21. 02. 2011 v 10:33 +:
 Viola... 
 -- Přeposlaná zpráva --
 Od: Zuzana Pochopová via RT podp...@nic.cz
 Datum: 
 Předmět: [CZ.NIC #107337] kniha dive into python3
 Komu: rain...@gmail.com
 Kopie: 
 
 
  Vazeny zakazniku,
  
  
  
  kniha Dive into python dnes prave vysla a jeji prodej bude zahajen
 behem dneska
  
  ci zitrka.
  
  
  
  S pozdravem
  
  
  
  --
  
  Zuzana Pochopova
  
  supervizor zakaznicke podpory
  
  
  
  CZ.NIC, z. s. p. o.
  
  Americka 23, 120 00 Praha 2
  
  --
  
  
  
  T +420 222 745 126
  
  +420 222 745 111
  
  F +420 222 745 112
  
  e-mail : zuzana.pochop...@nic.cz
  
  www.nic.cz
  
  --
  
  
  
  www.mojeID.cz - vaše bezpečná webová identita
  
  
  
  Dne So 19.úno.2011 19:59:33, dstrakova napsal(a):
  
   Vazeny pane Rainbofe,
  
  
  
   Vase zprava byla prijata pracovnikem zakaznicke podpory a predana
  
   kompetentni
  
   osobe k vyrizeni v pondeli 21.02.2011. Vyckejte prosim odpovedi.
  
  
  
   Dekujeme Vam za pochopeni a jsme s pozdravem
  
  
  
  
  
   --
  
   Darina Strakova
  
   specialista zakaznicke podpory
  
  
  
   CZ.NIC, z. s. p. o.
  
   Americka 23, 120 00 Praha 2
  
   --
  
   Tel.: +420 222 745 102
  
   +420 222 745 111
  
   Fax: +420 222 745 112
  
  
  
   E-mail: darina.strak...@nic.cz
  
   www.nic.cz
  
  
  
   www.mojeID.cz - vaše bezpečná webová identita
  
  
  
  
  
  
  
  
  
   Dne So 19.úno.2011 09:59:02, rain...@gmail.com napsal(a):
  
Dobrý den,
  
   
  
sledoval jsem loni překlad knihy dive into python
  
   
 http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-
  
   into-
  
python-3/ktera
  
ceka na vydani prave ve vasi edici chtel bych se zeptat jak to
  
   vypada
  
s jejim vydanim.
  
  
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Nefunguje mailman?

2011-02-22 Tema obsahu Petr Přikryl

Ahoj všeci,

Ptal se mě kolega, jak se odhlásit z python@py.cz (má to
komplikovanější). Nedokázal jsem mu poradit, protože

http://www.py.cz/mailman/listinfo/python

nějak nefunguje. (404, Nastala chyba DNS. Server nenalezen.
Odkaz může být nefunkční... a takové ty kecy.) 

Můžete se na to někdo mrknout?

Díky,
   P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] (ne)logičnost .join() ?

2011-02-22 Tema obsahu Petr Přikryl

  Něco jak seznam.join(',').  Tohle je naštěstí tak profláknuté, že už
  jsem si zapamatoval že v Pythonu je join metoda toho ',' a ne toho
  pole.

 Tak nie som jedný, komu sa zdá, že to má Python opačne. :-)

já jsem stráášně rozmlsaný z Ruby kde všechno má svou logiku.  Po
nějaké chvíli člověk začne psát příkazy/metody intuitivně bez
konzultace s dokumentací a všechno funguje.

Každý má jiný pohled na věc a jiná očekávání. Podle mého názoru
je přístup typu ','.join(kontejner) možná na první pohled nezvyklý,
ale na druhý pohled je velmi logický. Jde o to, že dokáže spojit
zadaným řetězcem prvky dodané jakýmkoliv kontejnerem,
který podporuje iteraci a který vrací řetězcové prvky.

A co se týká volně rozhozených built-in funkcí, ono jich zase
tak strašně moc není. Nezvyklé je to hlavně pro lidi, kteří
pracovali v čistě OO jazyce, který funkce nepodporuje.
Viz tady 

http://docs.python.org/library/functions.html

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] (ne)logičnost .join() ?

2011-02-28 Tema obsahu Petr Přikryl

Trochu popřehazuji pořadí...

Radek rad...@gmail.com napsal...
 On 23 ún, 08:08, Petr Přikryl prik...@atlas.cz wrote:
 A co se týká volně rozhozených built-in funkcí,
 ono jich zase tak strašně moc není. Nezvyklé je
 to hlavně pro lidi, kteří pracovali v čistě OO
 jazyce, který funkce nepodporuje
 
 jo, asi tak nějak. Teď by bodl dokument: Jak
 zobjektit Python v místech kde se tomu brání,
 resp. kde to ještě nikdo neudělal.
 
 To je asi to nejtrefnější: Přesně v místech kdy
 Python nesleduje objektové principy to bolí, a
 strašně.

Ono je trošku problematické říci, že Python nesleduje
objektové principy. V Pythonu je totiž objektem všechno.
Podle mého názoru dogma čistě objektového přístupu, kdy je
veškerá funkčnost realizována metodami objektů, neodpovídá
realitě, která nás obklopuje. Neodpovídá ani matematickým
abstrakcím, které nás obklopují od základní školy.

Pokud vás tedy něco strašně bolí, pak je to porušení oněch
dogmat, které byste si přál bezhlavě následovat.

Metody tříd jsou formálním způsobem popisu chování objektů
dané třídy. Vychází se z poznatku, že při formálním zápisu
transformace vnitřního stavu objektu uděláme méně chyb, když
popis spojíme s abstrakcí objektu dané třídy. Vychází to ze
zkušenosti, že například v určitém kontextu se celé číslo 
musí chápat jako letopočet a ne jako počet kusů něčeho nebo
jako zcela abstraktní číslo. Až potud nelze nic namítat.

Existují ale situace, kdy chceme s určitou hodnotou pracovat
jako s velmi abstraktní hodnotou -- jaksi bez kontextu --,
kdy jí chceme interpretaci přidělit až v okamžiku
zpracování. Dám příklad. Mnohé reálné objekty lze v určitých
situacích popsat vektorem v trojrozměrném prostoru. 
Přirozeným způsobem můžeme dojít k
nějakému dejme tomu geometrickému úhlu, který je prostě
úhlem bez bližší vazby na konkrétní objekt. Dejme tomu, že
na daný úhel potřebujeme aplikovat to, čemu od základní
školy říkáme funkce sinus. V takové situaci je velmi obtížné
považovat zápis

  objekt.vektor.úhel.sin()
  
za přirozené vyjádření toho, co nás u onoho úhlu daného
objektu zajímá. Mnohem přirozenější pro nás je zápis, kdy se
úhel stane argumentem obecné funkce sin().

 Každý má jiný pohled na věc a jiná očekávání.
 Podle mého názoru je přístup typu
 ','.join(kontejner) možná na první pohled
 nezvyklý, ale na druhý pohled je velmi logický.
 Jde o to, že dokáže spojit zadaným řetězcem prvky
 dodané jakýmkoliv kontejnerem, který podporuje
 iteraci a který vrací řetězcové prvky.
 
 Zajisté, pro implemetátora má smysl to definovat
 na jednom místě. Takže by byl dobrý mixin nebo
 třída která implementuje metody nad iterabilními
 kontejnery, a ty iterabilní kontejnery podědí nebo
 si ty metody mixnou.

Tohle je jen technický detail, který umožní svázat nějakou 
operaci s nějakou třídou objektu. Pořád bychom si měli
uvědomovat, že tečková notace používaná u OO jazyků je pouze
notací, která má usnadnit vnímání náležitosti metod k
objektům. Taková notace je přínosná v situacích, kdy máme
pocit, že je její přínos přirozený. Tím mám na mysli to, že
zápis pokud možno snadno pochopí i ten (se stručným návodem),
kdo takový zápis vidí poprvé.

 Ale když pracujete tak chcete psat něco jako
 
 neco.jeho_kolekce.transform.sort.jeste_transform.join

Tohle považuji za poměrně nešťastné v jakémkoliv OO jazyce.
Přesněji, netýká se to jazyka, ale jeho používání. Nezávisle
na tom, zda se jedná o reference nebo ukazatele... Pokud má
transformace join probíhat na konci uvedeného řetězu, pak
musí být zajištěno, že předchozí transformace nějak
neselžou. To z hlediska robustnosti kódu nemusí být tak
samozřejmé.

 a nemáte chuť psát
 
 join(neco.jeho_kolekce.transform.sort.jeste_transform)

Tady je potřeba si uvědomit, že metoda str.join(), o které
se tady bavíme, je velmi specifická v tom smyslu, že jde o
metodu, která má spojovat několik podřetězců do jednoho
řetězce. Je tedy specifická v tom, že pracuje nad řetězci
ve velmi abstraktní podobě a že výsledkem je zase čistý
řetězec. V souvislosti s výše uvedeným příkladem úhlu a
funkce sinus je to něco podobného.

 obzvláště když ten řetězec chcete na tečce dále
 zpracovávat.
 
 neco.jeho_kolekce.transform.sort.jeste_transform
 .join.strip.jiny_transform.split

Přehlédl jste ale jeden detail. Na začátku celé transformace
vystupuje objekt nějakého typu, který se postupně
transformuje do kolekce řetězců. Potom následuje změna velmi
specifické kolekce řetězců na velmi abstraktní typ
řetězec. Další operace probíhají nad abstraktním řetězcem.

 když to pak přepíšete do závorkové notace, tak je
 to nečitelné, protože v závorkové notaci se píše
 doleva a v tečkové doprava. Pár takových závorek v
 tečkovaném výrazu a nevyzná se v tom ani zvíře
 které to má v popisu práce.

Tohle není věc tečkové/závorkové notace. To je věc
přehledného zápisu programu.

 A nebo jinak. Kolikrát v životě jste potřebovali
 aplikovat join na řetězec v tečce? Já si
 nepamatuju jediný případ.

Osobně mi kroutí mozkem vyjádření aplikovat join na řetězec
v tečce

[python] Vylepšení stránek py.cz

2011-03-16 Tema obsahu Petr Přikryl

Možná by to chtělo vylepšit nebo připomenout takovou drobnost...
Už se zase neumím přihlásit, pokud bych chtěl něco editovat.
Buď jsem slepý, nebo to není moc intuitivní (obojí je možné ;)

P.
__
 Od: Michal Molhanec mol-pyt...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 08.03.2011 19:21
 Předmět: Re: [python] omezeni globalniho slovniku

Něco mi uniká? Články na py.cz jsou, wiki je to celý, na mail archív se 
dostanu z titulní stránky na dvě kliknutí. Design by mohl být lepší, ale 
kvůli tomu není potřeba měnit platformu.

Problém přece není v technologii, ale v tom, kdo ty články bude psát. 
Proč je nikdo nepíše dneska? Jak donutíte lidi, aby je psali, když 
přejdete na CMS?

Jestli vám přijde nepřehledná titulní stránka nebo struktura současného 
py.cz, tak to lze přece změnit.

Dne 8.3.2011 17:52, Visgean Skeloru napsal(a):
 Zdravím, jak přesně je to míněno? py.cz http://py.cz by dle mého
 potřebovala nový portál, s články, wiki systémem, lehce přístupným mail
 archívem a nějakým novodobým designem... Šel by do toho někdo? Osobně
 mám velice malé zkušenosti s web designem ale trochu djanga zvládnu,
 chtělo by to více lidí... Měl by ještě někdo zájem přetvořit py.cz
 http://py.cz (ač nevím jak moc mám pravomoc podobnou možnost nabízet :) )

 2011/3/6 g...@post.cz mailto:g...@post.cz


 Visgean Skeloru napsal(a), dne 4.3.2011 19:26:
   Taky mam pocit že každý týden je tu jeden mail na téma: jak použít
   exec/eval, možná by to chtělo založit nějaké FAQ kde by bylo vyloženě
   napsáno ať to dělají jinak, nebo rovnou odkazovat na starší vlákna...
   btw: v souvislost s tím by možná nebylo na škodu opravit py.cz
 http://py.cz
   http://py.cz 


 máš možnost ;-)
 ___
 Python mailing list
 Python@py.cz mailto:Python@py.cz
 http://www.py.cz/mailman/listinfo/python




 --
 PGP pub key:
 http://keyserver.pgp.com/vkd/SubmitSearch.event?SearchCriteria=visgean%40gmail.com
 http://www.abclinuxu.cz/lide/visgean/gpg
 A453 B7F3 33D9 3BE6 2B8A | F014 5347 EBAC 0A5A 3E92
 Jabber: visg...@jabber.org mailto:visg...@jabber.org |
 visg...@jabber.cz mailto:visg...@jabber.cz
 Github: http://github.com/Visgean



 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Vylepšení stránek py.cz

2011-03-16 Tema obsahu Petr Přikryl

To jsem zkoušel a nezabralo to. Asi to vyžadovalo zavření stránky prohlížeče.
Teď jsem se tam doklikal znovu a fungovalo to samo od sebe. ;)

Dík,
  P.

__
 Od: g...@post.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 16.03.2011 14:41
 Předmět: Re: [python] Vylepšení stránek py.cz

Pokud ti to píše: Not permitted Sorry, you need more identification to
do that on this wiki. Perhaps you need to set a username in options or
log in ? tak bys asi měl kliknout na ten jediný odkaz, co tam je,
vyplnit dvě věci, save a mělo by to jet.  ;-)

P.

Petr Přikryl napsal(a), dne 16.3.2011 14:35:
 
 Možná by to chtělo vylepšit nebo připomenout takovou drobnost...
 Už se zase neumím přihlásit, pokud bych chtěl něco editovat.
 Buď jsem slepý, nebo to není moc intuitivní (obojí je možné ;)
 
 P.
 __
 Od: Michal Molhanec mol-pyt...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 08.03.2011 19:21
 Předmět: Re: [python] omezeni globalniho slovniku

 Něco mi uniká? Články na py.cz jsou, wiki je to celý, na mail archív se 
 dostanu z titulní stránky na dvě kliknutí. Design by mohl být lepší, ale 
 kvůli tomu není potřeba měnit platformu.

 Problém přece není v technologii, ale v tom, kdo ty články bude psát. 
 Proč je nikdo nepíše dneska? Jak donutíte lidi, aby je psali, když 
 přejdete na CMS?

 Jestli vám přijde nepřehledná titulní stránka nebo struktura současného 
 py.cz, tak to lze přece změnit.

 Dne 8.3.2011 17:52, Visgean Skeloru napsal(a):
 Zdravím, jak přesně je to míněno? py.cz http://py.cz by dle mého
 potřebovala nový portál, s články, wiki systémem, lehce přístupným mail
 archívem a nějakým novodobým designem... Šel by do toho někdo? Osobně
 mám velice malé zkušenosti s web designem ale trochu djanga zvládnu,
 chtělo by to více lidí... Měl by ještě někdo zájem přetvořit py.cz
 http://py.cz (ač nevím jak moc mám pravomoc podobnou možnost nabízet :) )

 2011/3/6 g...@post.cz mailto:g...@post.cz


 Visgean Skeloru napsal(a), dne 4.3.2011 19:26:
   Taky mam pocit že každý týden je tu jeden mail na téma: jak použít
   exec/eval, možná by to chtělo založit nějaké FAQ kde by bylo 
 vyloženě
   napsáno ať to dělají jinak, nebo rovnou odkazovat na starší 
 vlákna...
   btw: v souvislost s tím by možná nebylo na škodu opravit py.cz
 http://py.cz
   http://py.cz 


 máš možnost ;-)
 ___
 Python mailing list
 Python@py.cz mailto:Python@py.cz
 http://www.py.cz/mailman/listinfo/python




 --
 PGP pub key:
 http://keyserver.pgp.com/vkd/SubmitSearch.event?SearchCriteria=visgean%40gmail.com
 http://www.abclinuxu.cz/lide/visgean/gpg
 A453 B7F3 33D9 3BE6 2B8A | F014 5347 EBAC 0A5A 3E92
 Jabber: visg...@jabber.org mailto:visg...@jabber.org |
 visg...@jabber.cz mailto:visg...@jabber.cz
 Github: http://github.com/Visgean



 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python

 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Překlad knihy Dive into Python 3

2011-03-16 Tema obsahu Petr Přikryl

Koupil jste si to někdo v papírové podobě?
Zajímalo by mě, jestli se to shoduje se zveřejněným PDF
(http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf),
nebo jestli to ještě při sazbě nějak vylepšili.

P.
__
 Od: David Rohleder da...@ics.muni.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 21.02.2011 11:57
 Předmět: Re: [python] Fwd: [CZ.NIC #107337] kniha dive into python3

Super, ještě přidám odkaz:
http://knihy.nic.cz/

jsem moc zvědavý, jak to dopadlo.

D.

rain...@gmail.com píše v Po 21. 02. 2011 v 10:33 +:
 Viola... 
 -- Přeposlaná zpráva --
 Od: Zuzana Pochopová via RT podp...@nic.cz
 Datum: 
 Předmět: [CZ.NIC #107337] kniha dive into python3
 Komu: rain...@gmail.com
 Kopie: 
 
 
  Vazeny zakazniku,
  
  
  
  kniha Dive into python dnes prave vysla a jeji prodej bude zahajen
 behem dneska
  
  ci zitrka.
  
  
  
  S pozdravem
  
  
  
  --
  
  Zuzana Pochopova
  
  supervizor zakaznicke podpory
  
  
  
  CZ.NIC, z. s. p. o.
  
  Americka 23, 120 00 Praha 2
  
  --
  
  
  
  T +420 222 745 126
  
  +420 222 745 111
  
  F +420 222 745 112
  
  e-mail : zuzana.pochop...@nic.cz
  
  www.nic.cz
  
  --
  
  
  
  www.mojeID.cz - vaše bezpečná webová identita
  
  
  
  Dne So 19.úno.2011 19:59:33, dstrakova napsal(a):
  
   Vazeny pane Rainbofe,
  
  
  
   Vase zprava byla prijata pracovnikem zakaznicke podpory a predana
  
   kompetentni
  
   osobe k vyrizeni v pondeli 21.02.2011. Vyckejte prosim odpovedi.
  
  
  
   Dekujeme Vam za pochopeni a jsme s pozdravem
  
  
  
  
  
   --
  
   Darina Strakova
  
   specialista zakaznicke podpory
  
  
  
   CZ.NIC, z. s. p. o.
  
   Americka 23, 120 00 Praha 2
  
   --
  
   Tel.: +420 222 745 102
  
   +420 222 745 111
  
   Fax: +420 222 745 112
  
  
  
   E-mail: darina.strak...@nic.cz
  
   www.nic.cz
  
  
  
   www.mojeID.cz - vaše bezpečná webová identita
  
  
  
  
  
  
  
  
  
   Dne So 19.úno.2011 09:59:02, rain...@gmail.com napsal(a):
  
Dobrý den,
  
   
  
sledoval jsem loni překlad knihy dive into python
  
   
 http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-
  
   into-
  
python-3/ktera
  
ceka na vydani prave ve vasi edici chtel bych se zeptat jak to
  
   vypada
  
s jejim vydanim.
  
  
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Django v TV :)

2011-03-16 Tema obsahu Petr Přikryl

Piš s diakritikou, ať nezkresluješ smysl svých vět. 
Pro ostatní... tam nějaký ten Python taky vyŠkytne :)))

P.

__
 Od: Jirka Vejrazka jirka.vejra...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 15.03.2011 20:17
 Předmět: Re: [python] Django v TV :)

 Aha, tak to bude asi nějaký prequel/sequel k tomuto, ne?
 http://www.csfd.cz/film/30525-python/

Jak tak na to po ocku koukam (a zaroven se hrabu v ORM), tak se zda,
ze se tam nejaky ten Python taky vyskytne :)

  Jirka
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Překlad knihy Dive into Python 3

2011-03-16 Tema obsahu Petr Přikryl

Jen mě zajímá, jak ta sazba dopadla. Nic víc. Díky ;)

P.
__
 Od: rain...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 16.03.2011 20:23
 Předmět: Re: [python]Překlad knihy Dive into Python 3

zatim ne, ale chystam se knihu takto sponzorovat v ramci firmy :). Mate na  
mysli neco konkretniho ?

Dne uživatel Petr Přikryl prik...@atlas.cz napsal:


 Koupil jste si to někdo v papírové podobě?

 Zajímalo by mě, jestli se to shoduje se zveřejněným PDF

 (http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf),

 nebo jestli to ještě při sazbě nějak vylepšili.



 P.

 __

  Od: David Rohleder da...@ics.muni.cz

  Komu: Konference PyCZ python@py.cz

  Datum: 21.02.2011 11:57

  Předmět: Re: [python] Fwd: [CZ.NIC #107337] kniha dive into python3

 

 Super, ještě přidám odkaz:

 http://knihy.nic.cz/

 

 jsem moc zvědavý, jak to dopadlo.

 

 D.

 

 rain...@gmail.com píše v Po 21. 02. 2011 v 10:33 +:

  Viola...

  -- Přeposlaná zpráva --

  Od: Zuzana Pochopová via RT podp...@nic.cz

  Datum:

  Předmět: [CZ.NIC #107337] kniha dive into python3

  Komu: rain...@gmail.com

  Kopie:

 

 

   Vazeny zakazniku,

  

  

  

   kniha Dive into python dnes prave vysla a jeji prodej bude zahajen

  behem dneska

  

   ci zitrka.

  

  

  

   S pozdravem

  

  

  

   --

  

   Zuzana Pochopova

  

   supervizor zakaznicke podpory

  

  

  

   CZ.NIC, zspo

  

   Americka 23, 120 00 Praha 2

  

   --

  

  

  

   T +420 222 745 126

  

   +420 222 745 111

  

   F +420 222 745 112

  

   e-mail : zuzana.pochop...@nic.cz

  

   www.nic.cz

  

   --

  

  

  

   www.mojeID.cz - vaše bezpečná webová identita

  

  

  

   Dne So 19.úno.2011 19:59:33, dstrakova napsal(a):

  

Vazeny pane Rainbofe,

  

   

  

Vase zprava byla prijata pracovnikem zakaznicke podpory a predana

  

kompetentni

  

osobe k vyrizeni v pondeli 21.02.2011. Vyckejte prosim odpovedi.

  

   

  

Dekujeme Vam za pochopeni a jsme s pozdravem

  

   

  

   

  

--

  

Darina Strakova

  

specialista zakaznicke podpory

  

   

  

CZ.NIC, zspo

  

Americka 23, 120 00 Praha 2

  

--

  

Tel.: +420 222 745 102

  

+420 222 745 111

  

Fax: +420 222 745 112

  

   

  

E-mail: darina.strak...@nic.cz

  

www.nic.cz

  

   

  

www.mojeID.cz - vaše bezpečná webová identita

  

   

  

   

  

   

  

   

  

Dne So 19.úno.2011 09:59:02, rain...@gmail.com napsal(a):

  

 Dobrý den,

  



  

 sledoval jsem loni překlad knihy dive into python

  



  http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-

  

into-

  

 python-3/ktera

  

 ceka na vydani prave ve vasi edici chtel bych se zeptat jak to

  

vypada

  

 s jejim vydanim.

  

  

  

  ___

  Python mailing list

  Python@py.cz

  http://www.py.cz/mailman/listinfo/python

 

 

 ___

 Python mailing list

 Python@py.cz

 http://www.py.cz/mailman/listinfo/python

 

 ___

 Python mailing list

 Python@py.cz

 http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Překlad knihy Dive into Python 3

2011-03-28 Tema obsahu Petr Přikryl

Tušil jsem to. Škoda.

Dík za info,
   Petr

__
 Od: David Rohleder da...@ics.muni.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 28.03.2011 10:38
 Předmět: Re: [python] Překlad knihy Dive into Python 3

Ahoj,

jak jsem se tak díval, tak to vypadá úplně stejně, ale je to na první
pohled.

Musím říct, že sazba se mi nelíbí. Jako by na to najali nějakého
experimentátora, který si rád hraje a uživatelské blaho ho příliš
nezajímá.

- příliš malá písmenka
- příliš dlouhé řádky
- příliš malé okraje
- nadpisy stejným typem písma jako text (plus podtržení, to by mne
zajímalo, kdo na to přišel)
- programy na stejné úrovni jako text (já osobně bych příklady trochu
zanořil)

+ pěkný bílý papír

To jsou mé postřehy po prvním prolistování.

David

Petr Přikryl píše v St 16. 03. 2011 v 20:26 +0100:
 Jen mě zajímá, jak ta sazba dopadla. Nic víc. Díky ;)
 
 P.
 __
  Od: rain...@gmail.com
  Komu: Konference PyCZ python@py.cz
  Datum: 16.03.2011 20:23
  Předmět: Re: [python]Překlad knihy Dive into Python 3
 
 zatim ne, ale chystam se knihu takto sponzorovat v ramci firmy :). Mate na  
 mysli neco konkretniho ?
 
 Dne uživatel Petr Přikryl prik...@atlas.cz napsal:
 
 
  Koupil jste si to někdo v papírové podobě?
 
  Zajímalo by mě, jestli se to shoduje se zveřejněným PDF
 
  (http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf),
 
  nebo jestli to ještě při sazbě nějak vylepšili.
 
 
 
  P.
 
  __
 
   Od: David Rohleder da...@ics.muni.cz
 
   Komu: Konference PyCZ python@py.cz
 
   Datum: 21.02.2011 11:57
 
   Předmět: Re: [python] Fwd: [CZ.NIC #107337] kniha dive into python3
 
  
 
  Super, ještě přidám odkaz:
 
  http://knihy.nic.cz/
 
  
 
  jsem moc zvědavý, jak to dopadlo.
 
  
 
  D.
 
  
 
  rain...@gmail.com píše v Po 21. 02. 2011 v 10:33 +:
 
   Viola...
 
   -- Přeposlaná zpráva --
 
   Od: Zuzana Pochopová via RT podp...@nic.cz
 
   Datum:
 
   Předmět: [CZ.NIC #107337] kniha dive into python3
 
   Komu: rain...@gmail.com
 
   Kopie:
 
  
 
  
 
Vazeny zakazniku,
 
   
 
   
 
   
 
kniha Dive into python dnes prave vysla a jeji prodej bude zahajen
 
   behem dneska
 
   
 
ci zitrka.
 
   
 
   
 
   
 
S pozdravem
 
   
 
   
 
   
 
--
 
   
 
Zuzana Pochopova
 
   
 
supervizor zakaznicke podpory
 
   
 
   
 
   
 
CZ.NIC, zspo
 
   
 
Americka 23, 120 00 Praha 2
 
   
 
--
 
   
 
   
 
   
 
T +420 222 745 126
 
   
 
+420 222 745 111
 
   
 
F +420 222 745 112
 
   
 
e-mail : zuzana.pochop...@nic.cz
 
   
 
www.nic.cz
 
   
 
--
 
   
 
   
 
   
 
www.mojeID.cz - vaše bezpečná webová identita
 
   
 
   
 
   
 
Dne So 19.úno.2011 19:59:33, dstrakova napsal(a):
 
   
 
 Vazeny pane Rainbofe,
 
   
 

 
   
 
 Vase zprava byla prijata pracovnikem zakaznicke podpory a predana
 
   
 
 kompetentni
 
   
 
 osobe k vyrizeni v pondeli 21.02.2011. Vyckejte prosim odpovedi.
 
   
 

 
   
 
 Dekujeme Vam za pochopeni a jsme s pozdravem
 
   
 

 
   
 

 
   
 
 --
 
   
 
 Darina Strakova
 
   
 
 specialista zakaznicke podpory
 
   
 

 
   
 
 CZ.NIC, zspo
 
   
 
 Americka 23, 120 00 Praha 2
 
   
 
 --
 
   
 
 Tel.: +420 222 745 102
 
   
 
 +420 222 745 111
 
   
 
 Fax: +420 222 745 112
 
   
 

 
   
 
 E-mail: darina.strak...@nic.cz
 
   
 
 www.nic.cz
 
   
 

 
   
 
 www.mojeID.cz - vaše bezpečná webová identita
 
   
 

 
   
 

 
   
 

 
   
 

 
   
 
 Dne So 19.úno.2011 09:59:02, rain...@gmail.com napsal(a):
 
   
 
  Dobrý den,
 
   
 
 
 
   
 
  sledoval jsem loni překlad knihy dive into python
 
   
 
 
 
   http://blog.nic.cz/2010/03/25/pomozte-nam-s-prekladem-knihy-dive-
 
   
 
 into-
 
   
 
  python-3/ktera
 
   
 
  ceka na vydani prave ve vasi edici chtel bych se zeptat jak to
 
   
 
 vypada
 
   
 
  s jejim vydanim.
 
   
 
   
 
   
 
   ___
 
   Python mailing list
 
   Python@py.cz
 
   http://www.py.cz/mailman/listinfo/python
 
  
 
  
 
  ___
 
  Python mailing list
 
  Python@py.cz
 
  http://www.py.cz/mailman/listinfo/python
 
  
 
  ___
 
  Python mailing list
 
  Python@py.cz
 
  http://www.py.cz/mailman/listinfo/python
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python


___
Python

Re: [python] Jaky zpusobem ukladat data do pole

2011-03-31 Tema obsahu Petr Přikryl

Zkus tohle


pole1 = {}# prázdný slovník (ekvivalent perlovského hash)
pole2 = {}

f = open('trace.data')
for line in f:
k, v = line.rstrip().split('=', 1)  # .rstrip() odstraní n
print repr(k), repr(v)
pole1[k] = v
f.close()


f = open('trace.cfg')
for line in f:
k, v = line.rstrip().split('=', 1)
print repr(k), repr(v)
pole2[k] = v
f.close()

print pole1
print pole2

print pole1['AAA']
print pole2['AAA']
print repr(pole2['AAA'])
---

Když jsem do uvedených souborů uložil ty udané řádky, vypisuje to tohle:

C:tmp___pythonStonepy.czpython a.py
'AAA' 'BBB=CCC=DDD=EEE'
'AAA' 'FFF=GGG=HHH'
{'AAA': 'BBB=CCC=DDD=EEE'}
{'AAA': 'FFF=GGG=HHH'}
BBB=CCC=DDD=EEE
FFF=GGG=HHH
'FFF=GGG=HHH'


Petr

__
 Od: Stone phrac...@gmail.com
 Komu: python@py.cz
 Datum: 31.03.2011 09:35
 Předmět: [python] Jaky zpusobem ukladat data do pole

Ahoj vsichni,

jsem zacatecnik v Pythonu. Delam v nem asi 4 mesice.
Mam jeden dotaz.
V konfiguracnim souboru trace.data mam nasledujici radky:
AAA=BBB=CCC=DDD=EEE
v dalsim kofiguracnim souboru jako trace.cfg man tyto radky:
AAA=FFF=GGG=HHH

V perlu jsem to delal pomoci Hashe.
Existuje neco podobneho v Python? Perl se mi uz prestal libit.
Jak by se dala testovat jestli dotycna hodnota existuje?
Predpokladal bych neco jako:
pole1{AAA}=BBB=CCC=DDD=EEE
pole2{AAA}=FFF=GGG=HHH

Diky predem
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Jaky zpusobem ukladat data do pole

2011-03-31 Tema obsahu Petr Přikryl

Martin Kubát napsal...
nevim přesně co potřebuješ, ale možná Ti pomůže todle:

slovnik = {a:AAA, b:BBB, c:CCC}
slovnik.has_key(a) # True
slovnik.has_key(c) # True
slovnik.has_key(x) # False

Metoda slovníku .has_key() je zastaralá a měla by se dávat přednost 
operátoru in. Takže:

'a' in slovnik # True
c in slovnik # True
'x' in slovnik # False

Apostrofy nebo uvozovky jsou jako omezovače řetězcových literálů 
naprosto rovnocenné (musí být stejný na začátku a na konci).

Petr

P.S. Omlouvám se Stoneovi, že jsem v minulém dopise nepromázl 
mailovou adresu.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Python a XML (Re: Jaky zpusobem ukladat data do pole)

2011-04-01 Tema obsahu Petr Přikryl

Stone napsal...
Potrebuju vedet, jak se ukladaji data rekneme tomu, kdyz mam XML
dokument?
Jaka je reprezentace v Pythonu?
Existuji nejake postupy?

V současnosti je asi nejlepší xml.etree (standardní modul -- 
http://docs.python.org/library/xml.etree.elementtree.html#module-xml.etree.ElementTree)
nebo podobný s vylepšenými vlastnostmi lxml (není standardní, stáhnout z PyPI).

Koukni na Dive into Python 3 od Marka Pilgrima, kapitola 12: XML 
(http://diveintopython3.org/xml.html)
nebo na český překlad na http://knihy.nic.cz/

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Python a XML (Re: Jaky zpusobem ukladat data do pole)

2011-04-01 Tema obsahu Petr Přikryl

Jak píše Petr Blahoš, pokud už znáš SAX nebo DOM přístupy ke zpracování XML,
pak jsou odpovídající standardní moduly přímo v Pythonu. Ale pokud ty 
zpracovávané
XML dokumenty nejsou extrémně velké a nemusí se zpracovávat průběžně (můžou
se celé načíst do paměti -- jinak by bylo nutné použít SAX), pak je asi lepší 
začít
s xml.etree.

P.

Stone napsal...
Potrebuju vedet, jak se ukladaji data rekneme tomu, kdyz mam XML
dokument?
Jaka je reprezentace v Pythonu?
Existuji nejake postupy?

V současnosti je asi nejlepší xml.etree (standardní modul -- 
http://docs.python.org/library/xml.etree.elementtree.html#module-xml.etree.ElementTree)
nebo podobný s vylepšenými vlastnostmi lxml (není standardní, stáhnout z PyPI).

Koukni na Dive into Python 3 od Marka Pilgrima, kapitola 12: XML 
(http://diveintopython3.org/xml.html)
nebo na český překlad na http://knihy.nic.cz/
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Pro volný čas - Algebrogram

2011-04-18 Tema obsahu Petr Přikryl

Jen pro zajímavost, stejná věc se řeší v Ponořme se do Pythonu 3 od Marka 
Pilgrima.
V českém překladu http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf
je to na straně 175 a 176 (pojem algebrogram jsem neznal, takže jsem to přeložil
trochu otrocky).  

Úloha se formálně zapisuje jako boolovský výraz a využívá  se 
(trochu hodně nebezpečná) funkce eval():

JAN + DNES + NEVI + ZDA + SE + JEDE + JEDNA + JIZDA == ZNOVA

V angličině je to tady a dá se tam přímo stáhnout i pythonovský zdroják. Ale 
pozor
je to upraveno pro Python 3. 

Originální řešení od Raymonda Hettingera je tady (pro Python 2):
http://code.activestate.com/recipes/576615/

Hledá to ale jen první řešení (pak to zastaví, dalo by se to upravit). Možná to 
není nejefektivnější, ale řešení je zapsáno na pár řádcích. (Na mém průměrném 
počítači to první řešení JAN DNES NEVI... ukázalo asi za 10 sekund (varianta
pro Python 3).

(Taky to není upravené na česká písmena, ale to se dá jednoduše.)

Mějte se všichni fajn,
Petr

__
 Tomix napsal
 Datum: 15.04.2011 18:04
 Předmět: [python] Pro volný čas - Algebrogram

Zdravím, už dlouho se tu neřešil
nějaký kvíz, tak bych jeden měl:


http://nb.vse.cz/~fabry/hadanky-algebrogram.html


  JAN

 DNES

 NEVÍ

  ZDA

   SE

 JEDE

JEDNA

JÍZDA

---

ZNOVA


Zajímalo by mě, jestli je v Pythonu možné napsat řešení, které
proběhne v rozumném čase.

Tak do hodiny.

Moje řešení se za několik hodin dostane cca do poloviny
potřebných cyklů. (amd1700+)

Stejný kód, přepsaný do C++ proběhne komplet za 20 minut.


Moje řešení v Pythonu:

http://codepad.org/wWPg3qQf


A v C++

http://codepad.org/fcy0MEmA


Příkad má 10 řešení.


--

Tady je ještě jeden, lehčí:

http://nb.vse.cz/~fabry/hadanky-algebrogram-prsi-prsi.html


PRŠÍ

PRŠÍ

 JEN

  SE



LEJE


(104 řešení)


---

Tomix




 








___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Pro volný čas - Algebrogram

2011-04-18 Tema obsahu Petr Přikryl

A ještě bych vám všem rád poradil, abyste si příspěvky po sobě pořádně
přečetli... :)))

... v angličtině je to tady http://diveintopython3.org/advanced-iterators.html

__
 Petr Přikryl

Jen pro zajímavost, stejná věc se řeší v Ponořme se do Pythonu 3 od Marka 
Pilgrima.
V českém překladu 
http://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf
je to na straně 175 a 176 (pojem algebrogram jsem neznal, takže jsem to 
přeložil
trochu otrocky).  

Úloha se formálně zapisuje jako boolovský výraz a využívá  se 
(trochu hodně nebezpečná) funkce eval():

JAN + DNES + NEVI + ZDA + SE + JEDE + JEDNA + JIZDA == ZNOVA

V angličině je to tady a dá se tam přímo stáhnout i pythonovský zdroják. Ale 
pozor
je to upraveno pro Python 3. 

Originální řešení od Raymonda Hettingera je tady (pro Python 2):
http://code.activestate.com/recipes/576615/

Hledá to ale jen první řešení (pak to zastaví, dalo by se to upravit). Možná 
to 
není nejefektivnější, ale řešení je zapsáno na pár řádcích. (Na mém průměrném 
počítači to první řešení JAN DNES NEVI... ukázalo asi za 10 sekund (varianta
pro Python 3).

(Taky to není upravené na česká písmena, ale to se dá jednoduše.)

Mějte se všichni fajn,
Petr

__
 Tomix napsal
 Datum: 15.04.2011 18:04
 Předmět: [python] Pro volný čas - Algebrogram

Zdravím, už dlouho se tu neřešil
nějaký kvíz, tak bych jeden měl:


http://nb.vse.cz/~fabry/hadanky-algebrogram.html


  JAN

 DNES

 NEVÍ

  ZDA

   SE

 JEDE

JEDNA

JÍZDA

---

ZNOVA


Zajímalo by mě, jestli je v Pythonu možné napsat řešení, které
proběhne v rozumném čase.

Tak do hodiny.

Moje řešení se za několik hodin dostane cca do poloviny
potřebných cyklů. (amd1700+)

Stejný kód, přepsaný do C++ proběhne komplet za 20 minut.


Moje řešení v Pythonu:

http://codepad.org/wWPg3qQf


A v C++

http://codepad.org/fcy0MEmA


Příkad má 10 řešení.


--

Tady je ještě jeden, lehčí:

http://nb.vse.cz/~fabry/hadanky-algebrogram-prsi-prsi.html


PRŠÍ

PRŠÍ

 JEN

  SE



LEJE


(104 řešení)


---

Tomix




 








___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Nastavení default kódování print-u (je?t? jednou)

2011-04-19 Tema obsahu Petr Přikryl
Ať se na to díváš jak chceš, vždycky někde nastane nějaká 
komplikace. Problém je v tom, že string v Pythonu 2.x je posloupnost

bajtů a informace o kódování u toho není zachycena.

Nakonec jsem dospěl k tomu, že je nutné používat unicode řetězce
(i v Pythonu 2). Zatím to může být v reálném provozu utopie, ale 
je dobré se pomalu přeorientovávat na Python 3.


Petr

__
 zu1234 napsal

Děkuji za krásné uvedení do problému!!

K obsluze kódování na výstupu z programů
jsem začal používat codecs.getwriter(...)
jak mi zde bylo poraděno.

Pod windows mi to například umožňuje nastavit
stdout (který jde do souboru) na cp1250
a strerr (který jde na terminál) na cp852.

Je to dobré řešení až na jeden problém:
Pokud nastavím kódování i na stderr a nastane
chyba při běhu programu na řádku obsahujícím
české znaky, nezobrazí se popis chyby.
To trochu komplikuje ladění programu.

Nevím jak to odstranit.

Například:

---
Varianta s sys.stderr = codecs.getwriter 
#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import codecs

sys.stderr = codecs.getwriter('cp852')(sys.stderr)

print ššš %s % ()

---
Chybové hlášení částečné:
Traceback (most recent call last):
  File x.py, line 10, in 



Varianta bez sys.stderr = codecs.getwriter 
#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import codecs

# sys.stderr = codecs.getwriter('cp852')(sys.stderr)

print ššš %s % ()


---
Chybové hlášení úplné:
Traceback (most recent call last):
  File x.py, line 9, in 
    print ┼í┼í┼í %s % ()

TypeError: not enough arguments for format string



Dne 19.4.2011 12:30, Filip Štědronský napsal(a):
 Dne 22.3.2011 14:38:22 napsal zu1234:
 Ale mohl by mi někdo vysvětlit proč to nejde bez reload?

 #!/usr/bin/python
 # -*- coding: utf-8 -*-

 import sys
 reload(sys)

 if sys.stdout.isatty():
       # Výstup jde na terminál:
       sys.setdefaultencoding('cp852')
 else:
       # Výstup jde do souboru:
      sys.setdefaultencoding('cp1250')

 print u'šílené'

 Ahoj,
 tohle všechno je způsobeno tím, že funkce setdefaultencoding
 není tak úplně určena pro uživatele. Při startu Pythonu se
 automaticky importuje modul site.py, který se stará o všechny
 možné druhy nastavení a inicializací a který je podle potřeby
 možné přizpůsobit podle potřeb cílové platformy a/nebo
 administrátora. Tam se mimo jiné volá funkce setdefaultencoding
 s nějakou hodnotou, kterou to považuje za rozumnou pro dané
 prostředí (v linuxu se to snaží uhodnout podle locale, na oknech
 to nejspíš bude vždy ascii). A poté, co to udělá, prostě funkci
 setdefaultencoding z modulu sys smaže (aby si s ní nehráli
 programátoři --- neboť v dobré víře je nastavení kódování
 považováno za věc prostředí, do které Pythoní program, kterýžto
 by měl být na prostředí nezávislý, nemá co mluvit). Reloadem
 se sys vrátí do původního stavu, tedy včetně metody, kterou
 původně site smazal. Pro podrobnější informace doporučuji projít
 site.py někde v knihovních adresářích pythonu.

 Snad to dává aspoň trochu smysl
 Filip Štědronský


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Optimalizace

2011-05-02 Tema obsahu Petr Přikryl

Musí se taky dát pozor na to, v jakém pořadí jsou ty bajty uloženy.
Různé operační systémy a různé procesory mohou způsobit
uložení bajtů z 32bitového čísla v různém pořadí. Pokud ten
kód má být nějak univerzální, musí se na to myslet.

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] XML a ElementTree

2011-05-13 Tema obsahu Petr Přikryl

Jen obecná poznámka...

Na http://diveintopython3.py.cz/ jsem umístil HTML verzi českého překladu Dive Into Python 3.  
Doporučuju kapitolu 12. XML http://diveintopython3.py.cz/xml.html. Lepší je momentálně

asi jen lxml, která používá stejné aplikační rozhraní, ale podporuje víc do 
hloubky XPath...

V Python 2 se s ElementTree dělá podobně.

Měj se fajn,
    Petr
__
 Od: Vlastimil Slinták
 Komu: Konference PyCZ 
 Datum: 12.05.2011 19:16

 Předmět: [python] XML a ElementTree

Zdravím,

snažím se v Pythonu parsovat XML soubor pomocí xml.etree.ElementTree. Chtěl 
bych z xml stromu načíst obsah některých konkrétních tagů a případně je změnit 
a zapsat zpět. Bohužel se mi to nedaří.

Abych nemluvil obecně — snažím se udělat si pořádek ve své elektronické 
knihovně, která obsahuje knihy ve formátu EPUB. To je v podstatě ZIP archiv, 
který obsahuje soubor content.opf se všemi informacemi. V tomto souboru, který 
má formát XML, jsou uloženy informace o autorovi, názvu knihy, ISBN a další 
(viz příloha).

V Pythonu zkouším něco takového:

import xml.etree.ElementTree as ET

tree = ET.parse('content.opf’)

# Všechny elementy mohu projít přes iterátor:
for e in tree.getiterator():
print e.tag

# Mně ale zajímají pouze některé elementy,
# zkouším je najít...
tree.find(’title’)
tree.find('package/metadata/title’)

# Ani přes kořenový element se nedaří
root = tree.getroot()
root.find(’title’)
root.find('package/metadata/title’)

# Pokud se pokusím vyhledat tag ‚title’ včetně
# jmenného prostoru, dostanu výjimku
root.find('dc:title’)
 SyntaxError: expected path separator (:)

Pravděpodobně jsem jenom nepochopil jak se pracuje s XML. Jak mám načíst obsah 
jenom těch elementů, které mě zajímají abych s nimi mohl dál pracovat? 
Případně, existuje lepší knihovna na práci s XML v Pythonu?

S pozdravem,
VS


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

[python] Zveřejněna HTML verze českého překladu Dive Into Python 3

2011-05-13 Tema obsahu Petr Přikryl

Zdravím všechny,

Na http://diveintopython3.py.cz/ najdete HTML verzi českého překladu
Dive Into Python 3 od Marka Pilgrima (http://diveintopython3.org/),
čili Ponořme se do Pythonu 3.  Tento text byl podkladem pro 
sazbu stejnojmenné knihy, která vyšla v Edici CZ.NIC -- viz 
http://knihy.nic.cz/.
Na stránce http://knihy.nic.cz/ najdete i odkaz na PDF verzi.

S pozdravem,
    Petr Přikryl

P.S. Postupně ta HTML učešu a zapracuji opravy a úpravy z originálu.
Když najdete chybu, neváhejte a napište.  Víc očí víc vidí.  Víc hlav, víc 
zelí. ;)
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] učit Python 2.x nebo 3.x

2011-05-31 Tema obsahu Petr Přikryl

 Od: Marek Nožka 
 ...
 Rád bych zařadil Python do výuky programování na střední škole a rád bych
  se zeptal na váš názor ohledně toho, jestli učit Python 2 nebo 3.

Python 2.7 implementuje hodně věcí z Python 3. Rozdíly rozhodně 
nejsou nepřekonatelné.  Pro Python 3 bych se rozhodoval pokud 
by se důraz kladl na zpracování českého textu (nový typ string, 
unicode a z toho mírně odlišný přístup při práci se soubory 
v textovém režimu, ...).

Doporučil bych se spojit s těmi, kdo to už učí. Budou mít poznatky
z první ruky. (Znám dva, aspoň jeden to tady čte...)

 pro trojkouvou řadu zatím nejsou moc knihovny. (Jde mi hlavně o
  SciPy, NumPy a Matplotlib, protože jsme technická škola.)
 Další problém je s návody a tutoriály. Ty jsou zatím spíš pro v2.
 
Nedávno byl vydán český překlad Dive Into Python 3 pod názvem
Ponořme se do Pythonu 3 (http://knihy.nic.cz/, html verze na
http://diveintopython3.py.cz/). Jsou tam shrnuty poznatky autora
související s rozdíly vůči Python 2, jak upravovat starší zdrojáky,
na co si dát pozor atd.

 Myslíte si, že bych měl raději začít v.2.x a pak teprve přejít ke 3.1?
 
Puristický a extrémistický přístup vyžaduje jedině Python 3.2.1.
Faktem je, že v praxi je stále ještě víc dostupný Python 2,
takže bych volil 2.7. 

(Pro mě osobně je brzdou v přechodu k Python 3 hlavně balík 
wxPython.)

Měj se fajn, 
    Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Fwd: Re: Re: učit Python 2.x nebo 3.x

2011-06-06 Tema obsahu Petr Přikryl

Přeposílám ještě pár poznatků Jiřího Znamenáčka, který 
Python momentálně používá při výuce...
 
Petr
 __ Původní zpráva: 
  Od: Jiří Znamenáček
  Datum: 06.06.2011 11:28
  Předmět: Re: Re: [python] učit Python 2.x nebo 3.x
 
 [...]Pár komentářů mám, ale řešení ne :)
 
  Nečteš náhodou tuhle konferenci? Ptá se tam nějaký člověk,
  jestli na střední škole začít učit Python 3 nebo Python 2.
 Zajímavá otázka. S Pythonem 2.7 nemám vůbec žádné zkušenosti, jen
 matnou představu z 2.6. Vyjádřil bych se spíš obecně 2.x versus 3.x.
 
 Dva komentáře obecně:
 ~ Python 3.x je sice zpětně nekompatibilní, ale troufám si tvrdit, že
 ke škodě jazyka příliš málo – věcí na opravení (a zbavení se
 historického balastu) tam bohužel i tak zbyla spousta :-(
 ~ Ale přes to všechno je řada 3.x mnohem, hm, logičtější jazyk.
 Zvláště rozšíření použití iterátorů a sjednocení všehokoliv (nechci
 říkat zrovna syntaxe). Prostě kód v Pythonu 3.x v mnoha ohledech
 působí „přirozeněji“.
 
 Z hlediska výuky:
 ~ Chcete-li studenty seznámit s programováním na dynamicky typovaném
 jazyce, je Python asi pořád jedna z lepších (a čitelnějších) voleb. (I
 když už léta ztrácím přehled, takže...)
 ~ Python vám vnutí celkem rozumnou štábní kulturu. Počítejte ale s
 tím, že i v jeho dosti pevných mantinelech se najdou lidi, kteří ji
 ohnou takovým způsobem, že se nebudete stačit divit :-)
 ~ I v trojkovém Pythonu je spousta ošklivých věcí, ale pořád méně než
 ve dvojkovém.
 ~ Mimochodem řada 3.x působí zatím skoro celou dobu jako testovací
 beta, takže jestli trojkový Python, tak rovnou až 3.2 :-) Ten vzal
 zpátky některé podivné změny a vypadá, že se vývoj konečně trochu
 ustálil.
 
 Tudíž neslaný-nemastný závěr:
 ~ Je-li vaším hlavním úkolem zpracovávání textu v jakémkoliv jiném
 kódování než ASCII, zapomeňte na Python 2.x a používejte rovnou 3.1+.
 (Nebo si aspoň důkladně ověřte, že autor knihovny, kterou zrovna
 potřebujete, s Unicodem počítal...)
 ~ Potřebujete-li spolupráci externích knihoven, důkladně si
 nastudujte, zda jsou k dispozici pro Python 3.x. Většinou to nebude
 pravda a budete muset použít Python 2.x.
 
 Osobně si pořád (po dvaceti letech :-) myslím, že základy programování
 se nejlíp vysvětlují na Karlovi. Logo je pěkné, ale už zbytečně
 obsáhlé. A „normální“ jazyky – Python v to počítaje – jsou z tohohle
 hlediska už úplně mimo. Popravdě bych byl radikální a kdybych mohl,
 tak bych povinně předepsal NEJDŘÍV kurs Haskellu nebo něčeho podobného
 funkcionálního, a AŽ POTOM bych nasadil procedurální jazyk.
 
   Jirka
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Tisk unicode řetězce a tisk seznamu unicode řetězců

2011-06-07 Tema obsahu Petr Přikryl

 David Rohleder 
 Petr Přikryl píše
   Jak píše Tomáš. Jakmile si začneš s texty s diakritikou, 
   vždycky je lepší používat Unicode řetězce (i když je otrava
  psát před literály u a dávat [...]
  
  a není ta definice na začátku
  # -*- coding: utf-8 -*-
  ekvivalentní uřetězec?
 
Není. Ta definice na začátku souboru jen říká interpretu, jak
má interpretovat znaky ve zdrojovém textu. Neříká nic dalšího
o tom, co se s nimi děje u starých řetězců (bez u na začátku). 
Pokud je zdrojový text v utf-8, pak i v paměti bude v řetězcovém
objektu stejná posloupnost bajtů, jako v souboru. V řetězcovém
objektu ale není nikde informace o kódování -- ta existuje
mimo objekty a má charakter dohody. (Každý soubor může 
používat jiný způsob kódování. Nevím o způsobu, jak by se dalo
v pythonovském programu zpětně zjistit, v jakém kódování 
byl uveden zdrojový text -- ale možná něco takového je.)

Teprve když použiteš unicode řetězec, přehrká interpret
při překladu posloupnost bajtů z literálu za pomocí informace
z # -*- coding: ... -*- na posloupnost abstraktních unicode znaků.

V Pythonu 3 už se prefix u psát nemusí -- všechny řetězcové
literály se převádějí na unicode řetězce. Unicode řetěze nevyužívá
žádné kódování. Je to prostě unicode řetězec.

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Tisk unicode řetězce a tisk seznamu unicode řetězců

2011-06-08 Tema obsahu Petr Přikryl
David Rohleder píše 

[...]

Když už jsme u těch řetězců: jak se udělá raw unicode řetězec, tj.

 interpret neinterpretuje uvnitř? Generuju si latexový dokument a on se
 přirozeně vzteká na:
 
 hlavicka = ur

 documentclass[a4,landscape]{article}
 usepackage{graphicx}
 usepackage[czech]{babel}
 usepackage[utf8]{inputenc}
 begin{document}
 thispagestyle{empty}
 
 
 print hlavicka
 
 SyntaxError: (unicode error) 'rawunicodeescape' codec can't decode bytes

 in position 39-40: truncated u

To je jedno z těch temných zákoutí. Ono se to vzteká už při

hlavicka = ur'usepackage'
print hlavicka

Problém je v tom, že raw-unicode-escape s předponou ur není tak úplně 'raw'.
Interpretují se posloupnosti u -- viz 
http://docs.python.org/tutorial/introduction.html#unicode-strings:


    For experts, there is also a raw mode just like the one 
 for normal strings. You have to prefix the opening quote 
 with ‘ur’ to have Python use the Raw-Unicode-Escape encoding. 
 It will only apply the above u conversion if there is an uneven 
 number of backslashes in front of the small ‘u’.


V tomto případě mě napadá jen ta možnost, že se napřed vyrobí 
raw string (starý, neunicode) a převede se druhým krokem

na unicode:

==
# -*- coding: utf-8 -*-

hlav = r
documentclass[a4,landscape]{article}
usepackage{graphicx}
usepackage[czech]{babel}
usepackage[utf8]{inputenc}
begin{document}
thispagestyle{empty}

print type(hlav)
hlavicka = unicode(hlav, 'utf-8')
print type(hlavicka)
print hlavicka
==

Dá se to trochu vylepšit tím, že si nadefinuješ funkci u(), aby se 
to hezčeji zapislovalo:


==
# -*- coding: utf-8 -*-

def u(raw_string, encoding='utf-8'):
    return unicode(raw_string, encoding)


hlavicka = u(r
documentclass[a4,landscape]{article}
usepackage{graphicx}
usepackage[czech]{babel}
usepackage[utf8]{inputenc}
begin{document}
thispagestyle{empty}
)

print type(hlavicka)
print hlavicka
==

V případě chroupání LaTeXových textů bych ale vážně uvažoval
o použití Python 3 -- i kdyby jen pro tento účel. Tam se z toho
stane jen raw string, který bude automaticky unicode (nový str
se rovná starému typu unicode):

==
# -*- coding: utf-8 -*-

hlavicka = r
documentclass[a4,landscape]{article}
usepackage{graphicx}
usepackage[czech]{babel}
usepackage[utf8]{inputenc}
begin{document}
thispagestyle{empty}


print(type(hlavicka))
print(hlavicka)
==

Pokud toho chroustacího kódu máš víc, pomůže pythonovská
utilitka 2to3 -- viz 
http://diveintopython3.py.cz/case-study-porting-chardet-to-python-3.html#running2to3

P.

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Tisk unicode řetězce a tisk seznamu unicode řetězců

2011-06-08 Tema obsahu Petr Přikryl

Mailer mi sežral zpětná lomítka. Dopiš si je tam.

  To je jedno z těch temných zákoutí. Ono se to vzteká už při
  
  hlavicka = ur'usepackage'
  print hlavicka
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] hash objektu, kontrola aktuálnosti dat v databázi

2011-06-20 Tema obsahu Petr Přikryl

Interní hash(x) jen volá metodu příslušného objektu x.__hash__() a jednou
z jejích priorit je nalezení místa v dict(). Ale v dict() se s konflikty musí 
celkem
počítat, takže kvůli rychlosti nebude moc spolehlivá.  Přidávám se k Jirkovi
Vejražkovi a k jeho doporučení standardního modulu hashlib.

Problém je ale jinde. Hash (kvalitní varianta) je jen velké číslo, které mi 
pomůže 
odhalit, že je něco stejné. Pokud ale buduji databázi ze stránek obsahujících
jídelníček, pak mi jednotlivých záznamů není celkem k ničemu. Stejně musím
zjistit datum, restauraci... Netvoříš přece databázi, ve které je hash klíčem.
Potřebuješ hledat podle více klíčů.

Hash celé stránky nebo její významné části by mohl pomoci odhalit, jestli
se stránka změnila (pokud to nejde zjistit rozumnějším způsobem). Pokud
tam změna není, nemusím dělat nic. Pokud tam změna je, musím stejně
rozlézt všechny záznamy a porovnat je s databází podle klíčů.

Pokud budu mít nový potenciální objekt databáze (obalený záznam), který má 
stejný
hash jako existující objekt databáze, nedělám nic. Pokud má jiný hash, 
musím ho stejně vložit. Proč bych měl pracně zjišťovat, jestli tam takový
objekt zatím není a teprve pak ho vkládat? Jednodušší je ho tam prostě 
vložit (nahradit případně už existující). Nebo mi nějaká část myšlenky utekla?

Mrkni na možnost zjistit položku HTTP hlavičky Last-Modified
http://diveintopython3.py.cz/http-web-services.html#last-modified


Petr

__
 Od: martin...@...il.com

Stačilo se na to trochu vyspat a už asi vím, jak to provedu.
Ale i tak, budu opravdu vděčný za každou připomínku.

Aby byl jasný kontext, jedná se o parsování obědových meniček z
různých restaurací, sbírám tyhle data, abych k nim pak měl přístup z
aplikace na Androidu.
Každé jedno jídlo je uloženo v databázi ve vlastním záznamu, je u něj
odkaz na restauraci ke které patří, pro jaký den, cena, případně
gramáž, atd. Z těchto jednotlivých dat můžu jednoduše udělat jeden
string a z něho udělat hash a poznačit rovnou do záznamu toho
konkrétního jídla.
Když příjde kontrola dat, znovu se každé jídlo zparsuje, vyrobí se
objekt databázového modelu a když je hotovo, tak si k nim vytáhnu už
existující data z databáze a porovnám hashe, ty které se změnili
nechám být, změněné updatuju, ty co jsou tam navíc vymažu. Nic lepšího
mě nenapadlo :)
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Py 3.2.1 final ?

2011-07-07 Tema obsahu Petr Přikryl

 Od: Tomix to...@tiscali..

Je někde k mání? Měla vyjít 19.6. a kde nic tu nic. :-(

Nevím, kde se říkalo, že 19. 6. měla vyjít finální 3.2.1. Aktuální 
informace je, že má vyjít 10. 7. Dne 2. 7. vyšel 3.2.1rc2.

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] dotaz na webovou aplikaci v pythonu

2011-09-29 Tema obsahu Petr Přikryl

Dive Into Python 3 = Ponořme se do Pythonu 3
http://diveintopython3.py.cz/
 
On zas ten Python 3 pro naučení se tak odlišný není. Rozdíly rozhodně
nejsou tak velké, aby ses té publikaci vyhýbal obloukem -- ať už se pak
rozhodneš pro Django nebo něco jiného. Co se týká práce s knížkami,
bude vhodné pracovat v Unicode (týká se to i databáze). V Python 3 se s Unicode
řetězci pracuje přece jen trochu přirozeněji. Unicode a souvislosti s Pythonem
je věnována kapitola 4. Řetězce (http://diveintopython3.py.cz/strings.html).
 
 
Python 2.7 se na druhé straně svými vlastnostmi snaží Pythonu 3 přibližovat.
Styl práce tedy nebude tolik odlišný. Definitivní rozhodnutí pak může padnout
podle toho, co bude podporovat zvolený framework.
 
V závislosti na tom, jak se projekt bude vyvíjet, by možná stálo za to dohodnout
se s vedoucím práce, že bys jako součást projektu zařadil i srovnání řešení
v Python 2.7 a Python 3.x. Přepisu z Python 2 do Python 3 je v Dive Into Python 
3
věnována příloha A 
(http://diveintopython3.py.cz/porting-code-to-python-3-with-2to3.html).
 
Můžeš taky zkusit pracovat podle té knížky a zkoušet všechno v Pythonu 2.7.
Mělo by to být poměrně snadné. Ale je potřeba opravdu NĚJAK začít.
 
Ono se taky může stát, že bude za chvíli venku Django pro Python 3. Takže 
opravdu
doporučuji začít s Pythonem, osahat si ho na příkladech a menších částech
projektu (ověření principiálních možností a schopností tebe jako programátora
je využít). Teprve pak bych přistoupil k rozhodnutí, v čem to přesně napsat. Při
tom rozhodování musíš mít jasno, co vlastně budeš dělat. Principy řešení
projektu už musíš mít v hlavě a pokusný kód na harddisku ;).
 
Ještě jednou to zdůrazním: Poslední Python 3 není principiálně jiný, než Python 
2.7.

Petr
__
Od: Vlastimil Slinták 
Komu: Konference PyCZ 
Datum: 29.09.2011 12:06

Předmět: Re: [python] dotaz na webovou aplikaci v pythonu


Pardon, ten odkaz na Dive into Python beru zpět. Ta kniha je totiž o Pythonu 3, 
který není zpětně kompatibilní s verzemi 2.X. Navíc Django také neběží pod 
Python 3. Takže na to pozor.

On 29. 9. 2011, at 11:57, Vlastimil Slinták wrote:



On 29. 9. 2011, at 11:27, Tomáš Kácel wrote:


Dobrý den,
děkuji za odpovědi a omlouvám se za to, jaké chyby jsem napsal v
předchozím textu.Byla skoro jedna hodina ráno a čeština nebyla nikdy
můj kamarád(určitě najdete nedostatky i v tomto textu) a také jsem z
bakalářské práce docela vystresovaný, protože jsem kompletní včerejší
den brouzdal po internetu a četl knížku o pythonu a večer to na mě
dolehlo.


Není třeba být vystresovaný. Vždyť je skoro začátek zimního semestru a 
bakalářka se odevzdává na konci letního, ne? Pokud se na to nevykašleš a budeš 
případné problémy konzultovat s vedoucím práce, tak není důvod aby jsi ji 
nenapsal a neobhájit.



K úrovni bakalářské práce(FIMU) bych chtěl říci, že jsem napsal zadání
opravdu jednoduše oproti originálnálu.Samozdřejmě, že zde databáze být
musí(protože výsledky které najdu například na knihi.cz(to je opravdu
s i :-D) se budou moci po dotazu uložit do databáze, aby když někdo
zadá stejnou knihu tak to znovu nehledalo recenzi a hodnocení.Dále by
zde moli být další věci jako zjistit jestli je kniha dostupná ve
fakultni knihovně atd. Mám vytvořit vlatní analýzu a návrh
problému(vyhledávač hodnocení knih)  a posléze to co navrhnu
naprogramovat.Raději se držím opravdu při zemi, abych si nevymyslel
nějaké grafy a statistiky a potom bych nenaprogramoval ani ťuk. A nyní
jsem dost zmaten jestli mám Django začít studovat nebo ne protože
názory se zde dosti liší.


Jestli Django použít či ne: Za sebe můžu říct, že s Djangem jsem se učil i 
Python. Ale udělej si názor sám. Podívej se na tutoriál, zkus si napsat 
jednoduchou web aplikaci a uvidíš.

 https://docs.djangoproject.com/en/1.3/intro/tutorial01/

Navíc dokumentace Djanga je opravdu dobrá a na webu najdeš spoustu projektů, ze 
kterých se také můžeš hodně naučit.

Syntax Pythonu pochytíš rychle a zbytek najdeš třeba v Dive into Python 
(http://www.root.cz/knihy/dive-into-python-3/ myslím, že je i český překlad od 
CZ.NIC).

Vlastik


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Informace o parcele -- Polívkova 26

2011-11-01 Tema obsahu Petr Přikryl

A dopr... Omlouvám se. To jsem fakt nechtěl :)

Pokud to někdo můžete smazat, tak to odstraňte.

Díky za pochopení,
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] špatné znaky v http://diveintopython3.py.cz/

2012-02-21 Tema obsahu Petr Přikryl

Zkoušel jsem to tam nahrát znovu. Asi je to tam uložené dobře, ale zprasí
se to někde po cestě ven (i když to kopíruji přes WebDAV).

P.

__
 Od: zu1234 zu1...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 21.02.2012 10:50
 Předmět: [python] špatné znaky v http://diveintopython3.py.cz/

Nevíte proč stránky http://diveintopython3.py.cz/; neumí písmeno 'ě'?

Není to škoda?

Přitom v ZIP archivu
http://diveintopython3.py.cz/PonormeSeDoPythonu3-html.zip
je to OK.

ZU
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] diveintopython3.py.cz -- zahájeny opravy a úpravy

2012-02-22 Tema obsahu Petr Přikryl

Zdravím všechny,

 zu1234 napsal(a)
Nevíte proč stránky http://diveintopython3.py.cz/; neumí písmeno 'ě'?

Zatím se to nevyřešilo, ale v příslušném zip 
http://diveintopython3.py.cz/PonormeSeDoPythonu3-html.zip
najdete verzi, kde jsem začal s oprašováním:

2012-02-21 U HTML souborů byl odstraněn BOM (tj. teď je UTF-8 bez BOM)
2012-02-21 Odkazy na originál změněny na nové
2012-02-22 about.html naformátováno podle originálu
2012-02-22 Pojem alfametika nebo alfametická hádanka změněn na algebrogram
2012-02-22 advanced-iterators.html - upraveno formátování podle originálu
2012-02-22 blank.html - formátování upraveno podle originálu

Pokud někdo narazíte na chyby, špatné zalomení, cokoliv, dejte mi vědět.
Budu to postupně zapracovávat.

Mějte se fajn,
Petr Přikryl
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] diveintopython3.py.cz -- zahájeny opravy a úpravy

2012-02-22 Tema obsahu Petr Přikryl

Díky ViNiLovi už by to mělo zase fungovat.

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Dive Into Pyton 3 cesky -- opraveno, sbiram chyby...

2012-02-28 Tema obsahu Petr Přikryl

Ahoj všichni,

Na http://diveintopython3.py.cz/ najdete několik minut/hodin starou verzi 
překladu Dive Into Python 3.

- Všechny HTML soubory byly přeformátovány podle originálu, takže by tím měly 
být opraveny chyby v zalamování příkladů.
- Přibyla příloha E, ve které najdete seznam posledních změn a úprav.
- Přeneseny byly všechny opravy a úpravy, které Mark Pilgrim provedl před 
informační sebevraždou.
- Byly změněny odkazy na originální webovou podobu.

Vše je k dispozici v podobě Git archivu na 
https://p...@github.com/pepr/diveintopython3cz.git
Kromě vlastních HTML dokumentů tam najdete i pomocné skripty -- částečně 
převzaté od Marka Pilgrima, částečně upravené nebo vytvořené.

Nahrubo je tam konfigurace pro generování alternativní PDF podoby, kterou si 
můžete stáhnout
jako http://diveintopython3.py.cz/PonormeSeDoPythonu3pdf.zip 

Čtěte, hledejte chyby, posílejte náměty na další zpracování. Ale hlavně...

... mějte se fajn,
   Petr


P.S. Pokud má někdo zkušenosti s automatizovaným generováním elektronické 
a tištěné podoby  z HTML 5 (do PDF nebo do jiných formátů, přes TeX nebo 
jinak), ozvěte se mi.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Problém s českými znaky v cgi scriptu

2012-02-28 Tema obsahu Petr Přikryl

Tomáš Kácel napsal...
[...] Myslel jsem, že python3 funguje na utf-8 a neměl by mít s
čekými znaky problém, stejně tak prohlížeč je nastaven na utf-8.

Python 3 pracuje s unicode řetězci. UTF-8 je jedno z možných
kódování unicode řetězců, když je potřeba je za fyzicky zaznamenat
a nepracovat s nimi jako s posloupnostmi znaků v abstraktním 
smyslu. To znamená, že před odeslání mimo vnitřní paměť
pythonovského procesu musí dojít k převodu na posloupnost
bajtů (například metodou .encode()). Funkce print() je ale napojená
na výstupní stream (standardně sys.stdout), který rovněž používá 
nějaké kódování řetězců (v závislosti na OS a jeho konfiguraci).
Funkce print() se ale sama snaží převést unicode řetězec do 
onoho (skrytého) výstupního kódování.

Z těchto důvodů není ke generování výstupního HTML souboru
vhodné používat funkci print(). Lepší je otevřít výstupní textový
soubor f pro kódování UTF-8 a zapisovat do něj metodou 
f.write(s)

Doporučuji si přečíst http://diveintopython3.py.cz/strings.html
a http://diveintopython3.py.cz/files.html

P.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Dive Into Pyton 3 cesky -- opraveno, sbiram chyby...

2012-02-29 Tema obsahu Petr Přikryl

zu1234 napsal...

Při prohlížení HTML verze mi poněkud vadila velká výška řádků.
Hlavně se tím (na mém (normálně) malém) monitoru znehodnocuje
výborné synchronní označování řádků programu a odpovídajícího komentáře.
Pořešil jsem to tak, že jsem si ve své lokální kopii upravil css definice.

Když kliknete dole na Mark Pilgrim, dostanete se na stránku
O knize http://diveintopython3.py.cz/about.html. Když i na této 
stránce kliknete dole na Mark Pilgrim, dostanete se na stránku
Tiráž http://diveintopython3.py.cz/colophon.html
... a na ní se dočtete:

Nikdy nepodceňujte hloubky, do kterých se stále něco odkládající autor noří.

Nyní již od Internetu odstřižený, případně pod neznámým pseudonymem
se připojující autor je zjevně perfekcionista -- i když to z lehkého stylu
psaní nemusí být na první pohled tak patrné. Určitě má nastudované
přinejmenším základy typografie. K jejich nejzákladnějším základům
patří i volba písma, řádkování, stylu všeho možného. Abych to zkrátil...

Věřím, že někdy se zhuštěnější písmo může hodit, ale zrovna tyhle věci
nebudu upravovat pro celý zveřejněný překlad knihy.

Mimochodem, okouzlen výkladem o generátorové notaci slovníku jsem se ji 
jal zkoušet. Ale zapomněl jsem že jedu na verzi 2.5 :-)

Vřele doporučuji přejít na poslední verze Pythonu, tedy na 2.7.2 a na 3.2.2
http://www.python.org/download/

Python 2.7 je velmi dobře použitelný všude tam, kde jste použil Python 2.5.
Navíc má implementovánu většinu věcí z Pythonu 3, které se daly přenést.
Viz například:

c:\python
Python 2.7.1 (r271:86832, Nov 27 2010, 17:19:03) [MSC v.1500 64 bit (AMD64)] on 
win32
Type help, copyright, credits or license for more information.
 d = { k:k*3 for k in xrange(5) }
 d
{0: 0, 1: 3, 2: 6, 3: 9, 4: 12}


Mějte se fajn a Pythonu...

 (', '.join(['zdar'] * 3) + '!').capitalize()
'Zdar, zdar, zdar!'


Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Dive Into Pyton 3 cesky -- hledám spolupracovníky na generování LaTeXu z originálu, různých ebook forem...

2012-02-29 Tema obsahu Petr Přikryl

zu1234 ... zu1...@seznam.cz
Jsem asi jiného ročníku než většina přítomných. Dnes frčí hecker a 
anonymous. Za mojeho mládí by se řeklo partizán :-))

Lidi jsou již několik tisíc let stejní. Mění se jen technologie.
Věk nerozhoduje ;)

 Věřím, že někdy se zhuštěnější písmo může hodit, ale zrovna tyhle věci
 nebudu upravovat pro celý zveřejněný překlad knihy.

To jsem ani neměl na mysli. Jen pokud by to někomu vadilo, tak že to jde 
upravit.

Nebudu to upravovat v hlavním vzhledu dokumentu, ale pořád je tu 
možnost, že se může generovat alternativní podoba. Příkladem je 
už teď generované PDF http://diveintopython3.py.cz/PonormeSeDoPythonu3pdf.zip,
které vzniklo s využitím nástrojů, který použil autor originálu pro vznik 
tištěné podoby
originálu. Je to ale forma PDF, která nebyla přijata příznivě, protože
kniha potřebuje něco jiného, než vytištění HTML. Ale mám takovou 
představu, že by se tím někdo mohl dál zabývat. Proto jsem to celé šoupnul
na github. 

Generování solidních alternativ základní formy dokumentu by mě bavilo
samotného, ale nemám na to teď moc času. Nějaké dřívější zkušenosti
a poznatky ale mám, takže můžu být nápomocný při sdělování svých 
představ nebo při nějaké pomoci či řízení prací.

Jednou z generovaných forem by mohla být zhuštěná verze pro malé
displeje, případně i pro různé chytré telefony a tak. Chce to ale někoho,
kdo to vyzkouší nejdřív šolichat trochu ručně, k něčemu dospěje, probereme
to tady v ovzduší konstruktivní kritiky, aby se to udělalo pořádně.

Jako další formu bych rád viděl převod do LaTeX nebo jiné podoby 
TeX, protože poskytuje vynikající možnosti sazby a také následnou
možnost vygenerování kvalitního klikacího a barevného PDF. Ale už
jsem z toho trochu vypadl vytrousil jsem dřívější zkušenosti. Pokud
by se tady někdo našel, ozvěte se. Pro zájemce budu nápomocen
i se zprovozněním Git (systém pro správu verzí, ve kterém je současný
stav zachycen i s poslední historií).
 
Na https://github.com/pepr/diveintopython3cz by se to celé soustředilo
a mohli by se přidávat další. Jen bych se dovolil prohlásit se za koordinátora,
aby se to celé nerozsypalo. Přece jen už jsem do toho vložil dost práce.

S pozdravem,
  Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Dive Into Pyton 3 cesky -- nová verze na http://diveintopython3.py.cz/

2012-03-27 Tema obsahu Petr Přikryl

Zdravím všechny, 

Děkuji zu1234 za všímavé oko. Opravil jsem níže zmíněný odkaz
a na úvodní stránku jsem doplnil informaci o Pilgrimově informační
sebevraždě. Kromě toho jsem zveřejnil alternativní PDF a obsah
v podobě jednoho velkého HTML (pro vyhledávání). Vše najdete
popsané na úvodní stránce.

Našel jsem taky řadu chyb v HTML značkování odkazů (vznikly
při technickém zpracování původního textu).

Při generování toho velkého HTML vznikají nějaké chyby, takže
to PDF taky není perfektní. Nefunguje například číslování kapitol
(zatím jsem neměl čas to opravit).

Pokud narazíte na nějakou chybu (i drobnou), budu rád, když
mi dáte vědět. Pokud máte někdo zkušenosti s validací HTML5,
budu rád, když to otestujete. Nějaké značkovací chyby tam 
ještě budou.

Mějte se fajn,
   Petr


 Od: zu1234
 Komu: Konference PyCZ python@py.cz
 Datum: 23.03.2012 10:58
 Předmět: Re: [python] Dive Into Pyton 3 cesky -- opraveno, sbiram chyby...

Hledal jsem chardet
a narazil jsem na stránce
http://diveintopython3.py.cz/case-study-porting-chardet-to-python-3.html

na nefunkční odkaz
Knihovnu jsem přenesl do Pythonu 2
-- http://chardet.feedparser.org/

a posléze i na informaci o internetové sebevraždě autora.

Myslím by nebylo marné oba tyto jevy alespoň okomentovat
(například v nějaké předmluvě).

Oba spolu souvisí, ale jeden z nich se nestává každý den.

ZU
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Dive Into Python 3 česky -- chyby můžete zapsat na github

2012-03-27 Tema obsahu Petr Přikryl

Pokud narazíte na problém, můžete k jeho nahlášení využít i nástroje github 
https://github.com/pepr/diveintopython3cz/issues

Je to český překlad a české problémy, proto pište česky (dva problémy jsem 
tam už zaznamenal). Pokud neumíte anglicky, pak musíte nejdříve stisknout
tlačítko New issue (nový problém) a dál už by to mělo být jasné.

Mám s github jen malé zkušenosti, proto nevím, jestli byste si tam
museli zřídit účet, jak moc to je či není pro vás přijatelné, nebo jestli 
můžete problém ohlásit anonymně. Proto neodmítám ani jiné způsoby
komunikace, tj. přes tuto diskusní skupinu nebo přímý mail.

Mějte se fajn,
   Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Dotaz na vi(m)kingy -- podpora pro Python

2012-04-16 Tema obsahu Petr Přikryl
Ahoj všichni,

Po velmi dlouhé době bych si rád osvěžil znalosti editoru vi(m).
Vím o Statrapově tutorialu, kdysi jsem vi používal...
Používáte nějaké specifické doplňky/nastavení pro editaci 
pythonovských zdrojáků?

Dík za odkazy.

Mějte se fajn,
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Dotaz na vi(m)kingy -- podpora pro Python

2012-04-18 Tema obsahu Petr Přikryl
Díky za info. Uložil jsem to do $HOME/.vimrc (tedy pod Windows do %HOME%\.vimrc.

Líbí se mi zvýrazňování koncových mezer. Ale současně se tím přebilo 
zvýrazňování
syntaxe. Jak to udělat, aby to fungovalo současně?

Petr

__
 Od: rajcze raj...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 16.04.2012 10:19
 Předmět: Re: [python] Dotaz na vi(m)kingy -- podpora pro Python

Jako dobry zaklad doporucuju tohle:

setlocal tabstop=4
setlocal softtabstop=4
setlocal shiftwidth=4
setlocal expandtab

setlocal nowrap
setlocal formatoptions+=c

highlight BadWhitespace ctermbg=red guibg=red
syn match BadWhitespace /^\t\+/
syn match BadWhitespace /\s\+$/


A pak samozrejme pythoncomplete
http://www.vim.org/scripts/script.php?script_id=1542

J.

2012/4/16 Petr Přikryl prik...@atlas.cz:
 Ahoj všichni,

 Po velmi dlouhé době bych si rád osvěžil znalosti editoru vi(m).
 Vím o Statrapově tutorialu, kdysi jsem vi používal...
 Používáte nějaké specifické doplňky/nastavení pro editaci
 pythonovských zdrojáků?

 Dík za odkazy.

 Mějte se fajn,
    Petr
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python



-- 
Rules of Optimization:
Rule 1: Don't do it.
Rule 2 (for experts only): Don't do it yet.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] lite?==?UTF-8?Q?ratúra

2012-04-24 Tema obsahu Petr Přikryl
Každému pasuje něco jiného. Knížka se dá číst ve vlaku i bez notebooku.
Čtečka typu Kindle (nebo něco podobného) může být dobrým kompromisem.
Alespoň občasné připojení na Internet je asi nevyhnutelné.

A taky si musím přihodit.. :) http://diveintopython3.py.cz/

Mějte se všichni fajn,
Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Dotaz na vi(m)kingy -- podpora pro Python

2012-04-24 Tema obsahu Petr Přikryl

Díky všem za vim tipy ;)

P.
__
...
Mě se docela líbí propojení Vim s interpretem. Je na to hezký plugin pro
iPython: https://github.com/ivanov/vim-ipython

Ještě je zajímavý plugin TagList. Díky němu se dá hezky poskočit na
začátek definice funkcí. Na root.cz vyšel seriál docela hezký seriál:
http://www.root.cz/clanky/vim-na-plny-vykon-vimrc/#ic=articles-relatedicc=nej-vim-pluginy-12064
http://www.root.cz/clanky/nej-vim-pluginy/
a o ještě Pavel Satrapa:
http://www.root.cz/clanky/jak-si-prizpusobit-vim/
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Unicode/ne-unicode problem

2012-05-02 Tema obsahu Petr Přikryl
Nejjednodušší je to převést nejdříve do Unicode a druhým krokem do požadovaného
kódování. Tohle jsem dělal pod Windows na konzoli, která používá cp852:

 u = uě š č ř
 u
u'\u011b \u0161 \u010d \u0159'
 s = u.encode('utf-8')
 s
'\xc4\x9b \xc5\xa1 \xc4\x8d \xc5\x99'
 u2 = s.decode('utf-8')
 u2
u'\u011b \u0161 \u010d \u0159'
 u3 = unicode(s, 'utf-8')
 u3
u'\u011b \u0161 \u010d \u0159'
 sLatin2 = u.encode('iso8859_2')
 sLatin2
'\xec \xb9 \xe8 \xf8'

.decode() nebo unicode() to převede na Unicode řetězec.
.encode() to převede na požadované kódování.

V názvu kódování má být oficiálně znak podtržení, ale 
implementace toleruje i uvedení velkých písmen a pomlček.

Měj se,
   Petr

__
 Od: Jaroslav Lukesh luk...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 27.04.2012 10:35
 Předmět: [python] Unicode/ne-unicode problem

Dobrý den,

potřeboval bych dostat z binárních dat utf8 na vstupu normální neunicodový 
výstup, ale nějak mi to nejde.

Vstup: znaky ě š č ř v utf8 již v binární formě, systém je v iso8859-2

Čekám že z toho nějak dostanu ě š č ř ale pořád nic. Jak mu říct, že 'Ă˝ 
á Ă­ Ă.' je už v utf8?

Děkuji, JL.

 a='Ă˝ á Ă­ Ă.'
 A=unicode(a,'iso8859-2')
 print a
Ă˝ á Ă­ Ă.
 A=unicode(a,'utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in 
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10: 
invalid data

 A.encode('iso8859-2')
'\xc3\xbd \xc3\xb7 \xc3\xad \xc3.'

 a.encode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 18, in 
encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: 
ordinal not in range(128)


 A.decode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 22, in 
decode
return codecs.charmap_decode(input,errors,decoding_map)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: 
ordinal not in range(128)
 a.decode('iso8859-2')
u'\u0102\u02dd \u0102\u02c7 \u0102\xad \u0102.'
 a.decode('utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in 
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10: 
invalid data



___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Unicode/ne-unicode problem

2012-05-02 Tema obsahu Petr Přikryl
Ten nečitelný řetězec je zapsaný ve zdrojovém textu, nebo je načtený ze souboru?
Když mám v proměnné UTF-8 bajty, tak musím udělat .decode() nebo unicode(),
ale jako parametr musím uvést to 'utf-8'.

Posloupnost bajtů v kódovaní UTF-8 je jednou z možných reprezentací Unicode 
řetězce.  Vznikla tedy zakódováním (například u.encode('utf-8')) unicodového 
řetězce.
Když z toho chci dostat zpět Unicode řetězec, musím provést dekódování,
takže u = s.decode('utf-8') nebo u = unicode(s, 'utf-8').

Je možné, že je ta posloupnost bajtů porušená, pak to může řvát, že neví co s 
tím.
Pošli sem, jak vypadá repr(a) (pokud je to pro Python 2).

Ptej se dál, ono se to vyjasní.

P.

__
 Od: Jaroslav Lukesh luk...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 27.04.2012 10:35
 Předmět: [python] Unicode/ne-unicode problem

Dobrý den,

potřeboval bych dostat z binárních dat utf8 na vstupu normální neunicodový 
výstup, ale nějak mi to nejde.

Vstup: znaky ě š č ř v utf8 již v binární formě, systém je v iso8859-2

Čekám že z toho nějak dostanu ě š č ř ale pořád nic. Jak mu říct, že 'Ă˝ 
á Ă­ Ă.' je už v utf8?

Děkuji, JL.

 a='Ă˝ á Ă­ Ă.'
 A=unicode(a,'iso8859-2')
 print a
Ă˝ á Ă­ Ă.
 A=unicode(a,'utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in 
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10: 
invalid data

 A.encode('iso8859-2')
'\xc3\xbd \xc3\xb7 \xc3\xad \xc3.'

 a.encode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 18, in 
encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: 
ordinal not in range(128)


 A.decode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 22, in 
decode
return codecs.charmap_decode(input,errors,decoding_map)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: 
ordinal not in range(128)
 a.decode('iso8859-2')
u'\u0102\u02dd \u0102\u02c7 \u0102\xad \u0102.'
 a.decode('utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in 
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10: 
invalid data



___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Unicode/ne-unicode problem

2012-05-02 Tema obsahu Petr Přikryl
Já vidím tohle:

 rr = '\\xc3\\xbd \\xc3\\xb7 \\xc3\\xad \\xc3.'
 a = eval(rr)
 a
'\xc3\xbd \xc3\xb7 \xc3\xad \xc3.'
 u = a.decode('utf-8')
Traceback (most recent call last):
  File stdin, line 1, in module
  File c:\Python27\lib\encodings\utf_8.py, line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc3 in position 9: invalid 
continuation byte


To rr je okopírované tvoje repr.  Pomocí eval() to převedu na hodnotu a. Pak 
volám
a.decode('utf-8') a ono to jinými slovy říká, že to není v utf-8.

P.
__
 Od: Jaroslav Lukesh luk...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 02.05.2012 11:52
 Předmět: Re: [python] Unicode/ne-unicode problem

Je to proměnná, kde obsah byl získaný ze streamu dat.

 a='Ă˝ á Ă­ Ă.'
 repr(a)
'\\xc3\\xbd \\xc3\\xb7 \\xc3\\xad \\xc3.'

Dík, JL.


- Původní zpráva - 
Od: Petr Přikryl prik...@atlas.cz


Ten nečitelný řetězec je zapsaný ve zdrojovém textu, nebo je načtený ze 
souboru?
Když mám v proměnné UTF-8 bajty, tak musím udělat .decode() nebo unicode(),
ale jako parametr musím uvést to 'utf-8'.

Posloupnost bajtů v kódovaní UTF-8 je jednou z možných reprezentací Unicode
řetězce.  Vznikla tedy zakódováním (například u.encode('utf-8')) unicodového 
řetězce.
Když z toho chci dostat zpět Unicode řetězec, musím provést dekódování,
takže u = s.decode('utf-8') nebo u = unicode(s, 'utf-8').

Je možné, že je ta posloupnost bajtů porušená, pak to může řvát, že neví co 
s tím.
Pošli sem, jak vypadá repr(a) (pokud je to pro Python 2).

Ptej se dál, ono se to vyjasní.

P.

__
 Od: Jaroslav Lukesh luk...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 27.04.2012 10:35
 Předmět: [python] Unicode/ne-unicode problem

Dobrý den,

potřeboval bych dostat z binárních dat utf8 na vstupu normální neunicodový
výstup, ale nějak mi to nejde.

Vstup: znaky ě š č ř v utf8 již v binární formě, systém je v iso8859-2

Čekám že z toho nějak dostanu ě š č ř ale pořád nic. Jak mu říct, že 'Ă˝
á Ă­ Ă.' je už v utf8?

Děkuji, JL.

 a='Ă˝ á Ă­ Ă.'
 A=unicode(a,'iso8859-2')
 print a
Ă˝ á Ă­ Ă.
 A=unicode(a,'utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10:
invalid data

 A.encode('iso8859-2')
'\xc3\xbd \xc3\xb7 \xc3\xad \xc3.'

 a.encode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 18, in
encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0:
ordinal not in range(128)


 A.decode('iso8859-2')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/iso8859_2.py, line 22, in
decode
return codecs.charmap_decode(input,errors,decoding_map)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1:
ordinal not in range(128)
 a.decode('iso8859-2')
u'\u0102\u02dd \u0102\u02c7 \u0102\xad \u0102.'
 a.decode('utf8')
Traceback (most recent call last):
  File stdin, line 1, in ?
  File /var/zope/python/lib/python2.4/encodings/utf_8.py, line 16, in
decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10:
invalid data



___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python 

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] file.close

2012-05-08 Tema obsahu Petr Přikryl

Pokud se do něj díváš přes konzoli (cmd), pak adresář, který je pracovním
adresářem konzole brání smazání adresáře -- i když je prázdný. Asi to platí
i v případě, kdy si pracovní adresář přepneš do toho dočasného (aniž by
ses tam koukal přes cmd).
 
P.
__
Od: zu1234 
Komu: Konference PyCZ 
Datum: 02.05.2012 16:11

Předmět: Re: [python] file.close

    5) Nakonec jsem musel před rušením dočasného adresáře ponechat
    time.sleep(1). Jinak nastávala chyba: adresář není prázdný


Možná už není potřeba do toho nějak šťourat, ale tohle je divný. Jak
přesně se ten dočasný adresář ruší (maže)?


Ruším pomocí shutil.rmtree(...) .
Když se do něj podívám je samozřejmě prázdný.
Pro mne to má jedno vysvětlení: jsou to windowsy.

ZU
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] file.close

2012-05-09 Tema obsahu Petr Přikryl

A tím FreeCommanderem jsi tam lezl před tím nebo až potom?
Jakým programem/komponentou se k tomu souboru nebo adresáři
přistupovalo před tím mazáním? V některých případech některé
typicky používané komponenty (např. ADO nebo jiné databázové
vrstvy) používají cache.  I po uzavření si něco mohou chvíli držet.
Setkal jsem se s tím u ADO.  Dá se to potlačit, ale musí se hledat jak.
 
P.
__
Od: zu1234 
Komu: Konference PyCZ 
Datum: 09.05.2012 08:21

Předmět: Re: [python] file.close


Ale tím to asi není: adresář sem kontroloval pomocí FreeCommaneru
a používám absolutní názvy souborů, takže nemám důvod se do adresáře 
přepínat.


Ale díky za myšlenku.

Zatím se domnívám, že je to nějaká prodleva windows-ů, kterou pořešil 
sleep(1).


ZU


Dne 8.5.2012 14:24, Petr Přikryl napsal(a):

Pokud se do něj díváš přes konzoli (cmd), pak adresář, který je pracovním

adresářem konzole brání smazání adresáře -- i když je prázdný. Asi to platí

i v případě, kdy si pracovní adresář přepneš do toho dočasného (aniž by

ses tam koukal přes cmd).

P.

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Re: [python] Zji?==?UTF-8?Q?štění názvu souboru

2012-08-02 Tema obsahu Petr Přikryl
Zkus __file__. Příklad -- soubor a.pokus

==
print __name__
print __file__
==

a spusť to nejdříve přes

python a.pokus. Mělo by to vypsat:

__main__
a.pokus

S py2exe nemám zkušenosti, takže netuším, jestli to tam procpeš.

Petr

__
 Od: Martin lisi...@seznam.cz
 Komu: python@py.cz
 Datum: 02.08.2012 00:01
 Předmět: [python] Zjištění názvu souboru

Dobrý den,

Nějak se mi nepodařilo najít odpověd na nasledující problém. Zde je situace:

Kliknu ve 32 bitovém Windows Vista Premium na soubor (ne .py ani .exe) 
textového charakteru, který bude mít mnou zadanou  nestandardní příponu a pro 
tenhle typ souboru nadefinuji Windowsu, aby se po kliknutí na něj spustil můj 
program zkonvertován pomocí py2exe. Program se spustí a já potřebuji v daném 
programu vědět název souboru, kterým byl spuštěn, aniž by ho daný program 
dopředu znal. Jak toho docílím? Používám Python verzi 2.7.2.

Děkuji za odpověď

Martin
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] OT: Sháním lidi?==?UTF-8?Q? k českému překladu ?==?UTF-8?Q?gitbook na git-scm.com

2012-09-14 Tema obsahu Petr Přikryl
Ahoj všichni,

Tohle jde trochu mimo Python, ale věřím tomu, že tak rozumní lidé, 
kteří si vybrali jazyk Python a používají ho téměř jako svou mateřštinu, 
mohou mít blízko i k skvělému nástroji jménem Git.

Mám takovou ideu (která možná zapadne pro nedostatek zájmu),
že by se k dokončení nebo oprášení částečného překladu 

http://git-scm.com/book/cs

využil originální text + nástroj pro podporu překladu OmegaT (free)
+ překlad knihy http://knihy.nic.cz/files/nic/edice/scott_chacon_pro_git.pdf
(licence to umožňuje).

Kontaktoval jsem autora částečného překladu, zkontaktuji případně
Scotta Chancona (autora originálu) a případně ještě překladatele
do jiných jazyků.

Mým cílem je vytvořit živý projekt, který by umožnil další vývoj
českého překladu na stránkách http://git-scm.com/

Bude to práce zadarmo, zato s důrazem na kvalitu :)

Pokud znáte nějaké lepší fórum, kde by se kroky směřující 
k uvedenému cíli daly lépe realizovat, případně další nosné nápady,
sem s tím.

Mějte se fajn,
Petr Přikryl
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Spouštění Pythonovských programů ve Windows (Re: program na pozadí Windows)

2013-01-09 Tema obsahu Petr Přikryl
Pro Windows existuje ještě jedna nová možnost. S Python 3.3 
byl zaveden Python Launcher for Windows 
(http://docs.python.org/3/whatsnew/3.3.html#pep-397-python-launcher-for-windows),
který do Windows propašovává další kousek funkčnosti známý z unixových
OS.

Jsou to dva programy py.exe a pyw.exe, které se (při instalaci Python 3.3 samy)
nainstalují do systémového adresáře Windows, takže jsou v cestě. Na prvním
řádku skriptu hledají #! a podle jeho obsahu spustí příslušnou verzi Pythonu.
Kromě toho se pro Windows zaregistrují asociace na přípony .py a .pyw, které
vedou ke spuštění py.exe (verze s cmd oknem) respektive pyw.exe (verze bez
cmd okna).

Při uvedení #! řádku na začátku (zjednodušeně #!python2 nebo #!python2)
a použití požadované přípony souboru (py nebo pyw) se pak při odklepnutí 
pythonovského souboru spustí ta správná verze a varianta Pythonovského 
interpretu. Z cmd okna můžu taky explicitně spouštět py pgm.py nebo pyw 
wxprogram.py.

Nezkoušel jsem to, ale předpokládám, že jsou to celkem jednoduché
programy a jde to přenést odjinud prostým okopírováním.

Všem přeji do nového roku jen to dobré a příjemné,

Petr
 
__
 Od: Petr Blahos petrbla...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 10.01.2013 07:53
 Předmět: Re: [python] program na pozadí Windows

Pomohlo by nespouštět to přes python.exe ale pythonw.exe? (pokud to teda byla 
otázka na python...) Aha, vlastně aby se to nespustilo v konzoli,tak je potřeba 
souštět pythonw.--Petr

2013/1/9 jirka.vejra...@gmail.com
Pokus mi pamet slouzi dobre, tak jedna moznost je spustit program tak, aby mel 
pouze ikonku v tray (vpravo dole). Pokud by mel byt uplne schovany a bezet i 
kdyz neni nikdo prihlaseny, je potreba ho zaregistrovat jako sluzbu.

  Ale mozna se pletu, uz je to dlouho co jsem neco podobneho resil.

   Jirka

--Original Message--
From: Ing. Vladislav Ludík
Sender: Python
To: Konference PyCZ
ReplyTo: Konference PyCZ
Subject: [python] program na pozadí Windows
Sent: Jan 9, 2013 19:53

Zdravím,

chci aby program běžel na pozadí i bez otevřeného okna pod Windows.

Existuje něco jako je nohup v Linuxu i ve Windows ?

Díky

Vláďa
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

-- 
_
http://sites.google.com/site/petrsstuff/

--

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] otázka ohladom mojho štýlu písania v OOP

2013-01-15 Tema obsahu Petr Přikryl
 Od: Roman Beno romanbeno...@gmail.com
...
Čo sa týka Raiczeho kritiky, podobný systém s odkazom na metódy jednej
konkrétnej instancie je uplatnený v module random.

V modulu random má ale vytvoření instance _inst jeden důležitý důvod.
Instance použije při své inicializaci aktuální čas jako zárodek pro 
generování náhodných čísel -- ale jen když se neudá explicitně. 
Zárodek (seed) se používá v různých metodách instance.

Je to tam zkrátka složitější a někdy je nutné pracovat se stejným
zárodkem, aby byla posloupnost náhodných čísel opakovatelná :)

Instance tam slouží k uložení toho zárodku. Při prostém používání
nás detaily nezajímají a místo instance a jejích metod nás zajímají
funkce (jako v matematice). Jejich implementace (jako metod interní
instance) může být uživatelem chápána jako implementační detail.

Obecně, práce s instancemi tříd je výhodná jen v situaci, kdy 
instance udržuje nějaký vnitřní stav, tj. kdy má smysl uvažovat
o metodách jen v situaci, kdy by to bez toho vnitřního stavu 
komplikovalo rozhraní volané funkčnosti.

if __name__=__main__:
# čo robit s instaciou(ami) po spustení z termu..


Z obecného pohledu v této části nelze mluvit o instancích
tříd protože žádné nemusí existovat. Python není čistě objektově
orientovaný a umožňuje (podobně jako C++) přirozenější
přístup k výstavbě programu.

Petr
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] cvičení z formátování řetězce

2013-03-05 Tema obsahu Petr Přikryl
(Našel jsem to pozdě :)

 Od: Vladimir Macek

':'.join(re.findall('..?', a))

Ten otazník asi není nutný. Pokud by se toho dělalo víc,
pak je lepší použít kompilovaný regulární výraz. Podle 
mého názoru je to pak ještě trochu čitelnější. (Kdo se bojí,
použije ještě r'..', ale je to zbytečné :)

import re
rex = re.compile('..')
...
a = abcdefghijkl
':'.join(rex.findall(a))

P.

P.S. Teď ještě dobrovolníka , který na ta řešení nasadí timeit ;)
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] cvičení z formátování řetězce

2013-03-05 Tema obsahu Petr Přikryl
Jo vlastně. To je pravda. Nějak se mi do toho uvažování vnutila
ethernetová adresa, kde je to sudý počet hexa cifer. :)

__
 Od: rajcze raj...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 05.03.2013 15:07
 Předmět: Re: [python]cvičení z formátování řetězce

Jen tak pro uplnost - ten otaznik nutny je, schvalne si to zkus pustit
na retezci s lichym poctem znaku ;)

J.

2013/3/5 Petr Přikryl prik...@atlas.cz:
 (Našel jsem to pozdě :)

 Od: Vladimir Macek

':'.join(re.findall('..?', a))

 Ten otazník asi není nutný. Pokud by se toho dělalo víc,
 pak je lepší použít kompilovaný regulární výraz. Podle
 mého názoru je to pak ještě trochu čitelnější. (Kdo se bojí,
 použije ještě r'..', ale je to zbytečné :)

 import re
 rex = re.compile('..')
 ...
 a = abcdefghijkl
 ':'.join(rex.findall(a))

 P.

 P.S. Teď ještě dobrovolníka , který na ta řešení nasadí timeit ;)
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python



-- 
Rules of Optimization:
Rule 1: Don't do it.
Rule 2 (for experts only): Don't do it yet.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Suma podle klice slovniku v seznamu

2013-04-16 Tema obsahu Petr Přikryl
Ahoj všeci,

Já bych přece jen zůstal u těch cyklů a pořádně to okomentoval. Jedna věc je 
nějak to napsat a druhá věc je být schopný  po roce znovu pochopit, co jsem 
tím myslel (v lepším případě) nebo co tím myslel někdo druhý (v tom horším).

lst1 = [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]
print('puvodni seznam slovniku:', lst1)

lst2 = [(x['a'], x['b']) for x in lst1]
print('seznam dvojic hodnot:', lst2)

d = {}
for a, b in lst2:
d[a] = d.get(a, 0) + b  # dosavadní součet nebo nula plus nová hodnota
print('slovnik sum:', d)

lst3 = [{'a': a, 'b': b} for a, b in d.items()]
print('vysledny seznam:', lst3)

Když vynecháte ty tři meziprinty, není to ani moc dlouhé.

Kdo má chuť a čas, mohl by zkusit nějaký větší příklad a timeit.

Ona je ale otázka, jak vůbec vznikl ten původní seznam. Připadá mi to
jako databázová tabulka se sloupci A a B. Jestli by nebylo lepší použít
opravdovou tabulku (sqlite) a opravdový SQL dotaz.

Mějte se fajn,
Petr

__
 Od: Jan Bednařík jan.bedna...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 16.04.2013 00:32
 Předmět: Re: [python] Suma podle klice slovniku v seznamu

Myslím že to využití groupby je parádní. Je to snadno čitelné, jednoduché a
elegantní řešení. Těžko to půjde napsat čitelnějí pomocí cyklů. Ostatně
právě kvůli tomuto příkladu existuje funkce groupby.

Jen bych to lehce vylepšil použitím operator.itemgetter místo těch lambda
funkcí, tzn.:

from operator import itemgetter

get_a = itemgetter('a')
get_b = itemgetter('b')



2013/4/15 Honza Javorek jan.javo...@gmail.com

 Jde to samozřejmě v podstatě one-linerem, ale bude to nečitelný.



 from itertools import groupby


 def summarize(data):
 get_b = lambda x: x['b']
 get_a = lambda x: x['a']
 return (
 {'a': val, 'b': sum(map(get_b, group))}
 for (val, group)
 in groupby(data, key=get_a)
 )

 data = [{'a': 4, 'b': 3}, {'a': 4, 'b': 5}, {'a': 1, 'b': 3}, {'a': 3,
 'b': 2}]
 print list(summarize(data))  # [{'a': 4, 'b': 8}, {'a': 1, 'b': 3}, {'a':
 3, 'b': 2}]



 Já bych to udělal normálně cyklama, ať se v tom jde vyznat.

 H



 2013/4/15 starenka . staren...@gmail.com

 Ahoj, dal sem si malyho panaka, abych to pochopil, ale porad nechapu,
 pokud by ti nahodou slo o sumu cisel u klicu, tak collections.Counter:

  import collections
  c = collections.Counter()
  for one in [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]:
 ... c.update(one)
 ...
  c
 Counter({'b': 13, 'a': 12})

 Ale asi chces neco jinyho, v tom pripade mi to asi lip vysvetli,
 protoze jsem z pomalejsich

 s
 ---
 In Perl you shoot yourself in the foot, but nobody can understand how
 you did it. Six months later, neither can you. | print
 'aknerats'[::-1]


 2013/4/15 Jaroslav Lukesh luk...@seznam.cz:
  Dobrý den,
 
  existuje na toto nějaký jednoduchý fígl?
 
  mám zdroj (první dva slovníky jsou za sebou abyste je nemuseli hledat,
 jinak
  jsou rozmístěná všeljak)
  [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]
 
  a chci ve výsledku sesumírovat všecky b podle stejného klíče a, takto:
 
  [{'a':4,'b':8},{'a':1,'b':3},{'a':3,'b':2}]
 
  hodnota klíče a je obecná, tedy je to text, ne číslo.
 
  Děkuji, JL.
  ___
  Python mailing list
  Python@py.cz
  http://www.py.cz/mailman/listinfo/python
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python



 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python



--

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Suma podle klice slovniku v seznamu

2013-04-16 Tema obsahu Petr Přikryl
O collection.Counter tu byla zmínka, ale řešení neodpovídá požadavku.

P.

__
 Od: Jirka Vejrazka jirka.vejra...@gmail.com
 Komu: Konference PyCZ python@py.cz
 Datum: 16.04.2013 09:58
 Předmět: Re: [python] Suma podle klice slovniku v seznamu

Trochu mi unika, proc se tady resi onelinery, kdyz uz starenka napsal
skvele reseni pres collections.Counter, ktery je k tomu primo urceny :)

   Jirka


2013/4/16 Petr Přikryl prik...@atlas.cz

 Ahoj všeci,

 Já bych přece jen zůstal u těch cyklů a pořádně to okomentoval. Jedna věc
 je
 nějak to napsat a druhá věc je být schopný  po roce znovu pochopit, co jsem
 tím myslel (v lepším případě) nebo co tím myslel někdo druhý (v tom
 horším).

 lst1 = [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]
 print('puvodni seznam slovniku:', lst1)

 lst2 = [(x['a'], x['b']) for x in lst1]
 print('seznam dvojic hodnot:', lst2)

 d = {}
 for a, b in lst2:
 d[a] = d.get(a, 0) + b  # dosavadní součet nebo nula plus nová hodnota
 print('slovnik sum:', d)

 lst3 = [{'a': a, 'b': b} for a, b in d.items()]
 print('vysledny seznam:', lst3)

 Když vynecháte ty tři meziprinty, není to ani moc dlouhé.

 Kdo má chuť a čas, mohl by zkusit nějaký větší příklad a timeit.

 Ona je ale otázka, jak vůbec vznikl ten původní seznam. Připadá mi to
 jako databázová tabulka se sloupci A a B. Jestli by nebylo lepší použít
 opravdovou tabulku (sqlite) a opravdový SQL dotaz.

 Mějte se fajn,
 Petr

 __
  Od: Jan Bednařík jan.bedna...@gmail.com
  Komu: Konference PyCZ python@py.cz
  Datum: 16.04.2013 00:32
  Předmět: Re: [python] Suma podle klice slovniku v seznamu
 
 Myslím že to využití groupby je parádní. Je to snadno čitelné, jednoduché
 a
 elegantní řešení. Těžko to půjde napsat čitelnějí pomocí cyklů. Ostatně
 právě kvůli tomuto příkladu existuje funkce groupby.
 
 Jen bych to lehce vylepšil použitím operator.itemgetter místo těch lambda
 funkcí, tzn.:
 
 from operator import itemgetter
 
 get_a = itemgetter('a')
 get_b = itemgetter('b')
 
 
 
 2013/4/15 Honza Javorek jan.javo...@gmail.com
 
  Jde to samozřejmě v podstatě one-linerem, ale bude to nečitelný.
 
 
 
  from itertools import groupby
 
 
  def summarize(data):
  get_b = lambda x: x['b']
  get_a = lambda x: x['a']
  return (
  {'a': val, 'b': sum(map(get_b, group))}
  for (val, group)
  in groupby(data, key=get_a)
  )
 
  data = [{'a': 4, 'b': 3}, {'a': 4, 'b': 5}, {'a': 1, 'b': 3}, {'a': 3,
  'b': 2}]
  print list(summarize(data))  # [{'a': 4, 'b': 8}, {'a': 1, 'b': 3},
 {'a':
  3, 'b': 2}]
 
 
 
  Já bych to udělal normálně cyklama, ať se v tom jde vyznat.
 
  H
 
 
 
  2013/4/15 starenka . staren...@gmail.com
 
  Ahoj, dal sem si malyho panaka, abych to pochopil, ale porad nechapu,
  pokud by ti nahodou slo o sumu cisel u klicu, tak collections.Counter:
 
   import collections
   c = collections.Counter()
   for one in
 [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]:
  ... c.update(one)
  ...
   c
  Counter({'b': 13, 'a': 12})
 
  Ale asi chces neco jinyho, v tom pripade mi to asi lip vysvetli,
  protoze jsem z pomalejsich
 
  s
  ---
  In Perl you shoot yourself in the foot, but nobody can understand how
  you did it. Six months later, neither can you. | print
  'aknerats'[::-1]
 
 
  2013/4/15 Jaroslav Lukesh luk...@seznam.cz:
   Dobrý den,
  
   existuje na toto nějaký jednoduchý fígl?
  
   mám zdroj (první dva slovníky jsou za sebou abyste je nemuseli
 hledat,
  jinak
   jsou rozmístěná všeljak)
   [{'a':4,'b':3},{'a':4,'b':5},{'a':1,'b':3},{'a':3,'b':2}]
  
   a chci ve výsledku sesumírovat všecky b podle stejného klíče a,
 takto:
  
   [{'a':4,'b':8},{'a':1,'b':3},{'a':3,'b':2}]
  
   hodnota klíče a je obecná, tedy je to text, ne číslo.
  
   Děkuji, JL.
   ___
   Python mailing list
   Python@py.cz
   http://www.py.cz/mailman/listinfo/python
  ___
  Python mailing list
  Python@py.cz
  http://www.py.cz/mailman/listinfo/python
 
 
 
  ___
  Python mailing list
  Python@py.cz
  http://www.py.cz/mailman/listinfo/python
 
 
 
 --
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python
 
 ___
 Python mailing list
 Python@py.cz
 http://www.py.cz/mailman/listinfo/python



--

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] Suma podle klice slovniku v seznamu

2013-04-16 Tema obsahu Petr Přikryl
Je to tím, že tam nedoplňuješ aktuální hodnotu toho c. Musí se zapamatovat
pro každé a. Může se zapamatovat třeba tak, že se do pomocného slovníku bude 
ukládat spolu se sumovanou hodnotou. Třeba takto:

lst1 = 
[{'a':4,'b':3,'c':9},{'a':4,'b':5,'c':9},{'a':1,'b':3,'c':7},{'a':3,'b':2,'c':6}]
print('puvodni seznam slovniku:', lst1)

lst2 = [(x['a'], x['b'], x['c']) for x in lst1]
print('seznam trojic hodnot:', lst2)

d = {}
for a, b, c in lst2:
sum_lst = d.setdefault(a, [0, c]) # seznam, kde k prvnímu prvku se 
přičítá...
sum_lst[0] += b   # ... hodnota b
print('slovnik sum:', d)

lst3 = [{'a': a, 'b': b, 'c': c} for a, (b, c) in d.items()]
print('vysledny seznam:', lst3)

(Ono se to formátování zase zprasí, takže ty dva řádky se sum_lst jsou odsazené
pod for.)

Petr
__
 Od: Jaroslav Lukesh luk...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 16.04.2013 15:06
 Předmět: Re: [python] Suma podle klice slovniku v seznamu

Ahoj a díky za rozšíření obzorů.

Jsou to data ne zrovna jednoduše vycucaná z databáze, o nějaké dočasné 
tabulcev sqlu  jsem uvažoval protože je nad tímto selektivně sečteným 
výsledkem víc operací, ale připadalo mi to jako ne příliš čisté řešení. 
Otrocky s pomocnýma proměnnýma to taky jde, ale chtěl jsem vědět, jeslti na 
to není nějaký fígl, protože mi připadalo logické, aby pro práci nad poli a 
slovníky bylo aspoň trochu něco jako je v sql.

Ale mám s tím trošku problém, izoloval jsem problém pro tento příklad až 
příliš moc, protože se mi nedaří jej rozšířit o 'c', tedy pro tento vstup 
(podotýkám jen, že hodnota 'c' je stejná pro všechny 'a'):

[{'a':4,'b':3,'c':9},{'a':4,'b':5,'c':9},{'a':1,'b':3,'c':7},{'a':3,'b':2,'c':6}]

chtěl tento výstup:

[{'a': 4, 'b': 8, 'c':9}, {'a': 1, 'b': 3, 'c':7}, {'a': 3, 'b': 2, 'c':6}]

Tady je přehled co jsem zkoušel, tyhle dvě jdou, ale vrací špatné 'c'

=

lst1 = 
[{'a':4,'b':3,'c':9},{'a':4,'b':5,'c':9},{'a':1,'b':3,'c':7},{'a':3,'b':2,'c':6}]
lst2 = [(x['a'], x['b'], x['c']) for x in lst1]
d = {}
for a, b,c in lst2:
d[a] = d.get(a, 0) + b  # dosavadní součet nebo nula plus nová hodnota
lst3 = [{'a': a, 'b': b, 'c': c} for a, b in d.items()]
print('vysledny seznam:', lst3)

==

from itertools import groupby
def summarize(data):
get_b = lambda x: x['b']
get_a = lambda x: x['a']
get_c = lambda x: x['c']
return (
{'a': val, 'b': sum(map(get_b, group)),'c':val}
for (val, group)
in groupby(data, key=get_a)
)
data= 
[{'a':4,'b':3,'c':9},{'a':4,'b':5,'c':9},{'a':1,'b':3,'c':7},{'a':3,'b':2,'c':6}]
print list(summarize(data))

===

A toto už háže chybu

from itertools import groupby
from operator import itemgetter
def summarize(data):
get_a = itemgetter('a')
get_b = itemgetter('b')
get_c = itemgetter('c')
return (
{'a': val, 'b': sum(map(get_b, group)),'c':valc}
for (val, group,valc)
in groupby(data, key=get_a)
)
data= 
[{'a':4,'b':3,'c':9},{'a':4,'b':5,'c':9},{'a':1,'b':3,'c':7},{'a':3,'b':2,'c':6}]
print list(summarize(data))


___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] How To again

2013-08-20 Tema obsahu Petr Přikryl
Ahoj,

Navrhuji korekci překladu pojmu widget v http://tkinter.py.cz. Nejjednodušší
by bylo ponechat widget a důkladně to ze všech stran vysvětlit. Asi se 
nepodaří
vymyslet něco českého, co by bylo podobně specifické a obecně přijatelné.

Petr

__
 Od: Tovim jaak...@gmail.com
 Komu: 'Konference PyCZ' python@py.cz
 Datum: 18.08.2013 17:08
 Předmět: [python] How To again

Buďte zdrávi pánové a dámy.

 

Právě jsem zavěsil doplněný překlad How To Think Like

a Computer Scientist in Python (3) na http://howto.py.cz 

o překlad textů k Tkinteru (http://tkinter.py.cz)

a dovoluji si vás na to upozornit.

 

Rád bych znal vaše názory.

Tovim

 



--

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


[python] Widget (Re: How To again)

2013-08-21 Tema obsahu Petr Přikryl
Původní widget souvisí s dalším podobným gadget. Obě slova se používala
už před existencí moderních počítačů a něco znamenají. Gadget je má možná
trochu určitější smysl než widget.

Traduje se, že v software se pojem widget začal používat ve smyslu window 
gadget.

Bacha na piškoty. Narozdíl od widget/gadget pod tímto pojmem rozumíme
něco docela konkrétního. A dovedu si představit, že se to někomu bude plést 
s cookies.

A další věc je, jestli ten překlad má být hlavně zábavný nebo hlavně užitečný.
Takové to americké Python je dobrý, protože je zábavný je trochu ujeté,
jako celé USA.

Pojmy by měly mít v daném oboru přesný význam pro co nejvíc lidí.
Jde o to, že samotné vyslovení pojmu má navodit abstraktní představu
(mentální obraz) popisované věci nebo jevu. Nejde o to, jestli to
někomu připadá zábavné. Musí to být přesné a co nejvýstižnější.
Pokud v tomto smyslu přijdeš na něco českého, co většině lidí
zaklapne jako super nápad pro danou věc, pak budeš vychvalovaným
vynálezcem pojmu. Není vyloučené, že se to tobě nebo někomu 
povede, ale piškot tyhle vlastnosti nemá.

   Ten widget jeden! Nebo vidžet? S widgetem či vidžetem,
   oboje má svoji mouchu. Piškot mi přijde zábavný.
   V textu používám piškot i widget, takže nevím.
   Ápropo: specifické na původním termínu je to, že nic neznamená.
   Podobnou specifikou převodu může být v duchu Létajícího cirkusu
   to, že je mírně střelený.
___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] How To again

2013-08-21 Tema obsahu Petr Přikryl
Přidávám se k názoru Petra Blahoše. Pojem by se měl překládat přesně.
Nemusí to být 1:1, ale pojem v cílovém jazyce by měl být přesný pro
čtenáře v cílovém jazyce. Souvisí to s představivostí, s abstraktním 
myšlením. 

Ne vždy se všechno překládá pečlivě s ohledem na srozumitelnost.
To ale neznamená, že je to správně.

Ovládací prvek by měl dělat to, co ten pojem říká. Label je widget, ale 
podle mého názoru to není ovládací prvek.

Programátoři se nakonec stejně musí naučit anglicky (alespoň pasivně).
Význam překladu odborného textu pro programátory (podle mého názoru)
je dvojí: 1) pomůže začátečníkům, 2) pomáhá zvládnout složitější věci,
protože složitější programátorské věci vyžadují představivost.

Schopnost snadno si něco představit souvisí se znalostí jazyka
(lidského jazyka jako takového) a se znalostí pojmů.

Pokud pojem není možné snadno přeložit, často jej stačí obšírně
vysvětlit (aby si čtenář vytvořil svou představu) a používat jej v originálním
znění -- převzetí slova (skloňovat; tedy widget, widgetu,...)

Programátor čte jak české, tak anglické texty. Pokud se to někde hemží
zkratkami jako GUI, a pojmy widget, pak je těžké mentálně přecházet 
k textu, kde se to hemží GUR a piškot. Buď to má zůstat co nejpodobnější,
nebo to musí dávat velmi dobrý smysl v češtině. Z mého pohledu je
proto překlad pojmu label jako prvek GUI mnohen přijatelnější
než ovládací prvek. Ale v textu -- pokud je to srozumitelné -- může 
přirozeněji působit méně rigidní překlad jako popis nebo popisný prvek.

Při překladu se to někdy musí řešit opisem. Důležité ale je, aby ten
opis stvořil programátor, protože se musí opsat mentální obraz,
který odpovídá anglickému pojmu. (Proto stojí překlady odborných
textů přeložené angličtináři s humanitním vzděláním často za prd.)

P.

 Od: Jan Bednařík 

Ovládací prvek taky nemusí nic ovládat. Třeba label je běžně používaný
ovládací prvek, který nese jen vizuální informaci.

Zkuste nahlédnout do odborné literatury, manuálů, či jen vygooglete
ovládací prvek a mrkněte, v jakém kontextu se používá. Už dávno je to
obecně zažitý překlad pro widget v GUI, tak bych se ho držel a nesnažil se
vymyslet něco lepšího. Rozhodně ne nějaké paskvily jako piškot.


2013/8/21 Petr Blahos
 Ovládací prvek není widget, ale control. Widget nemusí nic ovládat. Pokud
 zde probíhá forma hlasování, tak hlasuji pro widget, widgety, s widgetem, 
... ale respektuju, že hlavní slovo má auto překladu.

 2013/8/20 Jan Bednařík
 widget má specifický význam, rozhodně není pravda, že nic neznamená.
 Záleží na kontextu v jakém je použit. Pokud myslíme widgetem komponentu v
 GUI, což je tvůj případ, překládá se jako ovládací prvek.

___
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python


Re: [python] How To again

2013-08-22 Tema obsahu Petr Přikryl
Widget v Tkinteru je OK. Je to doslova prvek mající vlastní okno.
To platí i pro label, takže tady není žádný problém. Problém
by nastal po překladu, kdyby se to překládalo jako ovládací
prvek. Ovládací prvek by mohl být OK pro tlačítko, radio button,
check box a podobné jednoduché věci...

Ale třeba samotný list box může mít z pohledu uživatele  víc 
ovládacích prvků (šoupátko scroll baru, tlačítka scrollbaru, 
klikací oblasti nad a pod šoupátkem, nebo dokonce vybíratelné
položky). Naproti tomu listbox jako widget je OK, protože je 
to prvek uživatelského rozhraní s vlastním oknem.

P.

__
 Od: Tovim jaak...@gmail.com
 Komu: 'Konference PyCZ' python@py.cz
 Datum: 22.08.2013 16:27
 Předmět: Re: [python] How To again

Ahoj Michale,  zu,  Petře.

 

Dovoluji si připomenout, že počátkem debaty bylo dilema, zda widget či piškot.

Jestli má být widget překládán jako ovládací prvkek, komponenta či whatnot

je už jaksi nad plán.

V Tkinteru je label widgetem, až už je ovládacím prvkem či není.

 

BW, Tovim

 

 

From: Python [mailto:python-boun...@py.cz] On Behalf Of Petr Nesladek
Sent: Thursday, August 22, 2013 8:54 AM
To: Konference PyCZ
Subject: Re: [python] How To again

 

Po delší době mne debata vyprovokovala taky přispět ...
- widget je pro mne jasný technicky zažitý termín (ano poprvé jsem taky 
zapátral cože to znamená, ale dál navždy je to jendoznačné)

- ovládací prvek - zní jasně ze světa Windows ... proč ne, ale label - jak 
už bylo napsané nic neovládá - a v tom směru by přesnější byl grafický prvek

- a nebo se spokojit s tím prvkem

-komponenta je jasná v jednom uzavřeném textu, ale jako ustálené označení 
pro wiget je to podle mého názoru moc obecný výraz, ale koneckonců možný, (jen 
bych se pořád ubezpečoval , že stále mluvíme o tomtéž)

Takže podle mého nározu jsou priority a oblíbenost v pořadí: widget, 
ovládací(grafický) prvek, komponenta.

Piškot nebo udělátko asi jen jednotlivě pro jeden článek, jako ustálený termín 
 bych se jim asi vyhýbal.

  Petr

-- Původní zpráva --
Od: zu1234 zu1...@seznam.cz
Datum: 22. 8. 2013
Předmět: Re: [python] How To again

 

Můj názor čtenáře je takovýto: slovo widget mne mate.

Vyvolává to ve mně dojem něčeho důležitého a tak speciálního, že to
musí být extra pojmenováno - což je nesmysl.

Pokud existují varianty prvek, ovládací prvek, nebo dokonce 
komponenta, tak bych velmi přivítal kdybychom zůstali u nich.

Nemordujme zbytečně češtinu pokud to není nezbytné.

ZU

Dne 21.8.2013 21:32, Michal Molhanec napsal(a):
 Dobrý den,

 já chci jenom upozornit, že control tj. ovládací prvek je ve světě
 Windows (já vím, fujky, fujky) ale také třeba wxWidgets/wxPythonu prostě
 libovolný prvek UI, tj. zcela to samé co widget v knihovnách původem
 pocházejících ze světa unixu.

 Osobně (čistě soukromý názor, který nikomu nevnucuji) nevidím důvod,
 proč nepoužívat ovládací prvek i pro překlad slova widget, je to
 zaběhlý termín, který často znají i neprogramátoři. Případně jenom
 prvek (uživatelského rozhraní), pokud se to zdá lepší.

 Jinak ve Swingu se používá termín komponenta, ten je úplně univerzální,
 i když mně se moc nelíbí (je dlouhý :-) ).

 Zdraví,
 Michal Molhanec

 Dne 21.8.2013 13:48, Petr Přikryl napsal(a):
 Přidávám se k názoru Petra Blahoše. Pojem by se měl překládat přesně.
 Nemusí to být 1:1, ale pojem v cílovém jazyce by měl být přesný pro
 čtenáře v cílovém jazyce. Souvisí to s představivostí, s abstraktním
 myšlením.

 Ne vždy se všechno překládá pečlivě s ohledem na srozumitelnost.
 To ale neznamená, že je to správně.

 Ovládací prvek by měl dělat to, co ten pojem říká. Label je widget, ale
 podle mého názoru to není ovládací prvek.

 Programátoři se nakonec stejně musí naučit anglicky (alespoň pasivně).
 Význam překladu odborného textu pro programátory (podle mého názoru)
 je dvojí: 1) pomůže začátečníkům, 2) pomáhá zvládnout složitější věci,
 protože složitější programátorské věci vyžadují představivost.

 Schopnost snadno si něco představit souvisí se znalostí jazyka
 (lidského jazyka jako takového) a se znalostí pojmů.

 Pokud pojem není možné snadno přeložit, často jej stačí obšírně
 vysvětlit (aby si čtenář vytvořil svou představu) a používat jej v 
 originálním
 znění -- převzetí slova (skloňovat; tedy widget, widgetu,...)

 Programátor čte jak české, tak anglické texty. Pokud se to někde hemží
 zkratkami jako GUI, a pojmy widget, pak je těžké mentálně přecházet
 k textu, kde se to hemží GUR a piškot. Buď to má zůstat co nejpodobnější,
 nebo to musí dávat velmi dobrý smysl v češtině. Z mého pohledu je
 proto překlad pojmu label jako prvek GUI mnohen přijatelnější
 než ovládací prvek. Ale v textu -- pokud je to srozumitelné -- může
 přirozeněji působit méně rigidní překlad jako popis nebo popisný prvek.

 Při překladu se to někdy musí řešit opisem. Důležité ale je, aby ten
 opis stvořil programátor, protože se musí opsat mentální obraz,
 který

Re: [python] externí program proměnné

2013-11-21 Tema obsahu Petr Přikryl
Přímo z shelu (cmd) se o něčem takovém nedá rozumně
uvažovat. Musela by se nějak fikaně modifikovat datová oblast
rodičovského procesu, což žádný OS nevidí rád. 
Proměnné prostředí zde se vždycky kopírují do dětského procesu
a dělá se to v okamžiku vytváření nového procesu. Opačná cesta není.
 
Jenže Python se do té cesty umí vklínit jinak. Umí vytvořit nový
proces a předhodit mu místo kopie svůj vlastní prostor s proměnnými
prostředí. Ale ten je taky jen kopií z jeho otce. To znamená, že v Pythonovském
procesu sice zjistím, co udělal potomek, ale rodičovi už to ven neřeknu.
 
Dejme tomu, že mám dávku a.bat
==
@echo off
set moje=moje promenna prostredi
echo %0: %moje%
==
 
Pythonovský skript může vypadat takto (a.py)
==
#!python3

import os
import subprocess

p = subprocess.Popen('a.bat', env=os.environ)
retcode = p.wait()

v = os.environ['moje']

print('Python: retcode z davky je {}, vracena hodnota je {}'.format(retcode, 
repr(v)))
==
 
Vypíše to:
==
c:\__Python\geona.py
a.bat: moje promenna prostredi
Python: retcode z davky je 0, vracena hodnota je 'moje promenna prostredi'
==
 
Tady to není nic proti ničemu -- žádné znásilňování. Jen se prostě neudělá kopie
vlastního prostředí, ale předá se to stejné prostředí dětskému procesu.
 
 
 2013/11/20 g...@post.cz mailto:g...@post.cz

     Jak z Pythonu zavolat externí program (*.bat), aby po navrácení do
     pyscriptu zůstaly zachovány systémové proměnné v něm nastavené?

     wxp, w7, py3.2, py2.7
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] spusteni programu s parametry

2014-02-12 Tema obsahu Petr Přikryl

Může být uvedena i delší cesta. Windowsovský launcher najde
python3 i v delším řetězci.
 
P.
__

Od: zu1234 zu1...@seznam.cz
Komu: Konference PyCZ python@py.cz
Datum: 12.02.2014 13:00
Předmět: Re: [python] spusteni programu s parametry

Ahoj Ondro,

Odhaduji, že pracuješ pod Windows. Zkusil jsem tento jednoduchý program
nazvaný a.py:

#!python3

S tímhle ale asi na linuxu moc nepochodíme.
Zdrojáky s #!python3 už nebudou přenositelné, myslím.


ZU
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python 
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Re: [python] GUI pro Python 3.3

2014-02-18 Tema obsahu Petr Přikryl
Ahoj Romane,

Tkinter je k Pythonu přibalený, ale je to spíš takový záchranný člun.

GUI toolkitů je víc (https://wiki.python.org/moin/GuiProgramming),
ale osobně bych si vybral buď wxPython (zatím jen pro Python 2) nebo Qt.
Qt mi připadá horší z hlediska licenčního a taky to vypadá na těžší váhu
(snaží se některé věci dělat vlastními prostředky). Víc se mi líbí wxPython.
Problém je v tom, že wxPython pro Python 3 je zatím ve vývoji (projekt Phoenix
http://wiki.wxpython.org/ProjectPhoenix).

Očekávej vášnivé obhajování toho či onoho toolkitu, protože tohle
je svatá půda :)

Petr

__
 Od: Roman Zbořil sewerman...@gmail.com
 Komu: python@py.cz
 Datum: 18.02.2014 08:47
 Předmět: [python] GUI pro Python 3.3

Učím se programovat v Pythonu. Nainstaloval jsem si Python 3.3 a po prvním 
rozkoukání jsem si vyzkoušel GUI tkinter.
Tkinter mi přijde jednoduchý pro programování, ale jak postupně zjišťuji chybí 
mu pokročilejší možnosti proto hledám jiné GUI 
Nejde mi o to abych si okno naklikal, nevadí mi přidávat si jednotlivé prvky 
do okna postupně. 
Jaké jiné GUI (multiplatformní) je vhodné pro programování s Python 3.3?

Děkuji
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] Filozoficko-průzkumná otázka

2014-02-27 Tema obsahu Petr Přikryl
Ahoj Marku,

Vezmu to z jiného konce. Tvůj úspěch je založen na multidisciplinární
znalosti (historie + schopnost vytvořit nástroj užitečný pro ostatní) a toho
by ses měl držet. Kolegové historici přijali tvůj programátorský příspěvek
a to se nestává často. Ryzí programátoři někdy nemají cit pro koncové
zákazníky. Na druhou stranu, formální vzdělání (počítačové) ti dá vědomosti,
které normálně nejsou vidět, ale které ti umožní přemýšlet o věcech, které
při programování zatím nikdo jiný nedělal. Dá ti základy, o kterých ostatní
mnohdy ani neslyšeli. To máš jako když někdo umí rozšroubovat a složit
budík (mechanický) -- hodináře to z něj nedělá, ale může všem známým
okolo opravit na budíku jemu známou typickou závadu.

Formální vzdělání (v jakémkoliv oboru) tě donutí učit se i věci zdánlivě
zbytečné, které ale zůstanou někde schované a využiješ je v neočekávané
chvíli. Všechno se dá naučit i bez formálního vzdělání. Problém je v tom,
že člověk je od přírody líný a většina se (hlavně v pozdějším věku 30+)
už nikdy nedonutí dostat do hlavy tolik věcí, co do té doby.

Základem programování je rozvíjení představivosti související s tím,
jako to uvnitř funguje a jak by to mělo fungovat. Základem je schopnost
napasovat na sebe reálný problém a možnosti technického řešení.
Formální vzdělání se zabývá spíš tím technickým řešením. Schopnost
vidět možnosti řešení reálného problému se učí obtížněji. Pokud ji 
máš, rozvíjej to. Pokud budeš mít pochybnosti o zvoleném technickém
přístupu, ptej se -- tady nebo jinde. Spousta lidí ti ráda poradí
a nasměruje tě.

Důležité je nalézt otázky. Odpovědi už se pak hledají snadněji.

Petr


__
 Od: Marcus Scalpere xdlabac...@seznam.cz
 Komu: Konference PyCZ python@py.cz
 Datum: 26.02.2014 18:02
 Předmět: [python] Filozoficko-průzkumná otázka

Pěkný den vinšuji,
pythonem se neživím, ale dost mě baví, jako nezaměstnaný mám dost času a 
dost mě těší rychlost (možná zdánlivá) pokroku. Tak bych se rád optal - 
kdo z vás se živí pythonem? A ti, kteří ano, co děláte (weby či něco 
jiného)? A jaké máte vzdělání? Jde mi o to, jestli můj koníček má 
budoucnost nebo to zůstane jen koníčkem. A jaká je šance na uplatnění? 
Berto spíš jen jako takový průzkum :-)
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


  1   2   >