Ze zvědavosti... btw: asi by bylo lepší přiživovat pouze jeden thread (tedy
alespoň mně gmail rozdělil diskuzi na dvě části...)
2010/11/3 rajcze
> A proc to vlastne chces preimplementovavat?
>
> 2010/11/3 Visgean Skeloru :
> > Aha tak díky za odpovědi, čekal jsem že to nějak půjde ale konec konc
Ahoj,
na jakém operačním systému a jaké verzi to zkoušíš? Třeba Linux nevytváří
vlákna, ale procesy. Vlákna jsou jen procesy, které spolu sdílí nějaké
prostředky (paměť, otevřené soubory apod.). Viz clone(2). V Linuxu prostě každé
"vlákno" má svoje PID, několik vláken má shodné TGID (thread gro
A proc to vlastne chces preimplementovavat?
2010/11/3 Visgean Skeloru :
> Aha tak díky za odpovědi, čekal jsem že to nějak půjde ale konec konců jak
> říkáte, je to zbytečné...
>
> btw: i když přepíšu builtin metody tak to nefunguje:
>
>> class pff():
>> asx = "mlam mlam"
>>
>> __builtins__.__
Ah díky za vyčerpávající odpověď, zmíněnou metodu už jsem zkoušel:
class pff():
asx = "mlam mlam"
__builtins__.__str__ = pff
__builtins__.str = pff
str = pff
"a".asx
nicméně bez efektu. A ta druhá metoda nefunguje:
" ".__class__.asx = "f"
TypeError: can't set attributes of built-in/extensi
Jsem trochu dale, zatim jsem dosel k tomu, ze za vytvareni procesu muze
patricne pojmenovana knihovna "threading" :)
jeji verze pro 32/64 se nelisi, nicmene na amd64 strojich vytvori vlakna
(zustava jeden proces) a na i386 procesy (procesu je tedy vice). Tu
rozdilnou logiku bych tedy videl na kniho
> Ehm, ne, o to my nešlo, šlo mi o přepsání __builtin__ třídy str tak abych
> přepsal chování instancí Stringu.
Tak jak to píšes ale na builtin nesáhneš!
"class str(str)" ti udělá objekt jménem str v LOKÁLNÍM jmenném prostoru,
nikoliv v builtins. V tomto kontextu tvůj lokální jmenný prostor je gl
> Nejsem hodinář ale kouknu se rád :) ...Mohu se jen tak orientačně zeptat
> kolik lidí zde četlo zdrojáky pythonu? Tedy otázka zní zdali je to
> normální...
Ja jsem nakoukl do sekci, ktere me zajimaly. Vetsinou ohledne
implementace datovych struktur. Cele jsem je rozhodne necetl...
Jirka
__
Nejsem hodinář ale kouknu se rád :) ...Mohu se jen tak orientačně zeptat
kolik lidí zde četlo zdrojáky pythonu? Tedy otázka zní zdali je to
normální...
2010/11/3 Jirka Vejrazka
> > Jen tak ze zvědavosti... Chci si prostě hrát s chřestýšem a to že mě
> kousne
> > patří k tomu ;)
>
> Tak to jo :)
Aha tak díky za odpovědi, čekal jsem že to nějak půjde ale konec konců jak
říkáte, je to zbytečné...
btw: i když přepíšu builtin metody tak to nefunguje:
class pff():
> asx = "mlam mlam"
>
> __builtins__.__str__ = pff
> __builtins__.str = pff
> str = pff
>
"".asx
>
AttributeError: 'str' objec
> Narazila jsem ale nyni na jiny problem. Ruzumim, jak funguji moduly v
> pythonu.
>
> import jmeno_modulu
>
> jenze ja bych potrebovala, aby jmeno modulu byla promenna, kterou
> zadam. Import mi vsak neumozni misto jmena modulu vlozit funkci. Je
> toto mozne nejak obejit?
Ano, slouzi k tomu funkc
On Wed, 3 Nov 2010 17:12:44 +0100, Charlotte van Leeweneck
wrote:
> import jmeno_modulu
>
> jenze ja bych potrebovala, aby jmeno modulu byla promenna, kterou
> zadam. Import mi vsak neumozni misto jmena modulu vlozit funkci. Je
> toto mozne nejak obejit?
>
funkce __import__
http://docs.python
Import ve skutečnosti zavolá funkci __import__, které se název modulu
předá jako řetězec. Takže zkus něco jako modul = __import__(promenna).
Doufám, že v případě vítězného vyřešení puzzle se výherce podělí s komunitou :)
Petr Messner
2010/11/3 Charlotte van Leeweneck :
> Velice dekuji za predch
> Jen tak ze zvědavosti... Chci si prostě hrát s chřestýšem a to že mě kousne
> patří k tomu ;)
Tak to jo :) Mam pocit, ze vetsina z nas tady v konferenci si uz
zapomnela hrat (vcetne mne) a vidi podobne dotazy pohledem
programatora nebo clena tymu, kteremu by pak podobny kod hodil kolega
pod nos
Velice dekuji za predchozi pomoc (s kterouzto jsem dokazala nakonec
udelat vlastni program na reseni jednoducheho puzzle ethernity).
Narazila jsem ale nyni na jiny problem. Ruzumim, jak funguji moduly v
pythonu.
import jmeno_modulu
jenze ja bych potrebovala, aby jmeno modulu byla promenna, kterou
Jen tak ze zvědavosti... Chci si prostě hrát s chřestýšem a to že mě kousne
patří k tomu ;)
2010/11/3 Jirka Vejrazka
> > Ehm, ne, o to my nešlo, šlo mi o přepsání __builtin__ třídy str tak abych
> > přepsal chování instancí Stringu. Což ale jak vidím je problém v tom že:
>
> > Fajn, nevíte jak t
> Ehm, ne, o to my nešlo, šlo mi o přepsání __builtin__ třídy str tak abych
> přepsal chování instancí Stringu. Což ale jak vidím je problém v tom že:
> Fajn, nevíte jak tohle chování obejít?
Nedelat to. Nejspis to ani nejde a pak si nedokazu predstavit, k cemu
by to melo byt dobre. Tedy krome t
Ehm, ne, o to my nešlo, šlo mi o přepsání __builtin__ třídy str tak abych
přepsal chování instancí Stringu. Což ale jak vidím je problém v tom že:
print isinstance("f", str)
>
> class str(str):
> asx = "mlam mlam"
>
> print isinstance("f", str)
>
Vrací výstup:
True
> False
>
Fajn, nevíte ja
v pracovní poště je mít nemusim.
Je.
__ Informace od ESET NOD32 Antivirus, verze databaze 5587 (20101103)
__
Tuto zpravu proveril ESET NOD32 Antivirus.
http://www.eset.cz
___
Python mailing list
Python@py.cz
http://www.py.cz
Chodí to jen mě, nebo celé konferenci??
Já jen, jestli to mam řešit u sebe, nebo, jestli se to řeší nějak centrálně.
Ne, že bych měl něco proti nahotinám, ale v pracovní poště je mít nemusim.
Je.
__ Informace od ESET NOD32 Antivirus, verze databaze 5587 (20101103
Visgean Skeloru napsal:
> Pokouším se přepsat třídu string ale nějak mi to nejede...
> class str(str):
> asx = "mlam mlam"
> print str("asx").asx
> print "axs".asx
Omlouvám se za zjednodušující reakci, neboť na složitější vývody nemám.
Z ukázky použití definované třídy mi nevyplýv
Viz stejný problém (místo 'str' problém s 'list')
http://stackoverflow.com/questions/3795591/can-i-override-python-list-displays
You cannot trivially override the syntactic sugar used for built-in
types, since this happens at the compiler level.
Dne 3.11.2010 10:49, Visgean Skeloru napsal(a):
Ahoj,
je mozny ze kecam, ale IMHO neni mozny reimplementovat takhle zakladni
typ v Pythonu. Jde o to, ze ta tvoje trida str nenahradi globalni
semantiku "retezec". Protoze ve skutecnosti "retezec" neni "trida" ale
"typ" (pokud si pamatuju) a ty jen vytvoris tridu se jmenem str,
nikoli reimplementa
Python neni Ruby. Nemuzes takto predelavat implementaci builtin typu.
Proste jsi vytvoril novou tridu str, ale puvodni trida (typ) str zustala
zachovana a kazdy novy retezec zapsany literalem (tj. jako na tom poslednim
radku) je jen instance puvodni tridy str.
Proto kdyz chces obohacovat typ st
> Dobrý den, mám tu následující kód, nevíte proč my hodí python na poslední
> řádek AttribueError? Pokouším se přepsat třídu string ale nějak mi to
> nejede...
>
>> #! /usr/bin/python
>> # -*- coding: UTF-8 -*-
>>
>> class str(str):
>> asx = "mlam mlam"
>>
>>
>> print str("asx").asx
>> print "
Dobrý den, mám tu následující kód, nevíte proč my hodí python na poslední
řádek AttribueError? Pokouším se přepsat třídu string ale nějak mi to
nejede...
#! /usr/bin/python
> # -*- coding: UTF-8 -*-
>
> class str(str):
> asx = "mlam mlam"
>
>
> print str("asx").asx
> print "axs".asx
>
___
25 matches
Mail list logo