Re: [Python] Decoratori a runtime su classe

2012-04-20 Per discussione Marco Giusti
On Thu, Apr 19, 2012 at 04:47:49PM +0200, Matteo Boscolo wrote:
 Ciao a tutti
 devo trasformare gli attributi della mia classe da
 
 class myClass(object):
 def __init__(self):
 self.pippo=10
 
 a
 
 class myClass(object):
 def __init__(self):
 self._pippo=10
 
 tutto cio per evitare dei problemi di ricorsione con il modulo pickle
 adesso uso questa tecnica:

Non mi sembra che pickle abbia tanti problemi con la ricorsione se non
che ...highly recursive data structure may exceed the maximum recursion
depth

Se il problema è solo per serializzare gli oggetti perché non usare un
approccio differente? Invece di modificare del codice già esistente
deleghi ad altri l'ingrato compito. Solo un esempio su come risulterebbe
il tuo codice:


class myClass(object):
def __init__(self):
self.pippo=10

import zope.interface
from zope.interface.adapter import AdapterRegistry

class ISerializable(zope.interface.Interface):
def getObject():
Return the original object

class SerializerMyClass:
zope.interface.implements(ISerializable)
def __init__(self, original):
self._pippo = original.pippo
def getObject(self):
obj = myClass()
obj.pippo = 10

registry = AdapterRegistry()
registry.register([declarations.implementedBy(myClass)],
ISerializable, '', SerializerMyClass)

###

import pickle
s = pickle.dumps(ISerializable(myobj))
myobj = pickle.loads(s).getObject()


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Decoratori a runtime su classe

2012-04-20 Per discussione Matteo Boscolo

Grazie mille per il suggerimento,

l'oggetto poi va a finire in sqlalchemy che internamente usa pickle per 
scrivere l'oggetto nel db. quindi in questo modo dovrebbe funzionare


ciao,
Matteo


Il 20/04/2012 09:54, Marco Giusti ha scritto:

On Thu, Apr 19, 2012 at 04:47:49PM +0200, Matteo Boscolo wrote:

Ciao a tutti
devo trasformare gli attributi della mia classe da

class myClass(object):
 def __init__(self):
 self.pippo=10

a

class myClass(object):
 def __init__(self):
 self._pippo=10

tutto cio per evitare dei problemi di ricorsione con il modulo pickle
adesso uso questa tecnica:

Non mi sembra che pickle abbia tanti problemi con la ricorsione se non
che ...highly recursive data structure may exceed the maximum recursion
depth

Se il problema è solo per serializzare gli oggetti perché non usare un
approccio differente? Invece di modificare del codice già esistente
deleghi ad altri l'ingrato compito. Solo un esempio su come risulterebbe
il tuo codice:


class myClass(object):
def __init__(self):
self.pippo=10

import zope.interface
from zope.interface.adapter import AdapterRegistry

class ISerializable(zope.interface.Interface):
def getObject():
Return the original object

class SerializerMyClass:
zope.interface.implements(ISerializable)
def __init__(self, original):
self._pippo = original.pippo
def getObject(self):
obj = myClass()
obj.pippo = 10

registry = AdapterRegistry()
registry.register([declarations.implementedBy(myClass)],
ISerializable, '', SerializerMyClass)

###

import pickle
s = pickle.dumps(ISerializable(myobj))
myobj = pickle.loads(s).getObject()


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python



___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] RE

2012-04-20 Per discussione Simone Federici
print Ciao Giuseppe
print posta il codice che se c'è qualcosa da correggere la correggiamo


2012/4/20 Giuse giuseppelu...@gmail.com

 ndows 7 ma ancora non sono pratico.
 Ho provato a programmare Hello world pratica

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] RE

2012-04-20 Per discussione Giovanni Marco Dall'Olio
raw_input(questo non succederebbe se utilizzassi un sistema operativo
serio :-) )

2012/4/20 Giuse giuseppelu...@gmail.com

 Ciao Ragazzi,
 sono appena approdato a Python, da due anni circa nel mio tempo libero ho
 iniziato a imparare con il fai da te i classici linguaggi dei
 principianti, quindi l'HTML, CSS e JAVASCRIPT, cosi ho cominciato a fare
 qualche sito, ma niente di eccezionale, non sono un professionista nella
 vita faccio altro.

 Oggi mi sono registrato a Python e vorrei imparare un vero e proprio
 linguaggio di programmazione, dato che mi si è presentata la possibilità di
 poter scrivere alle persone di questa lista, approfitto a farlo con la
 speranza di essere aiutato a decollare, non vedo l'ora di imparare
 qualcosa.
 Ho installato il 2.7 sulla macchina windows 7 ma ancora non sono pratico.
 Ho provato a programmare Hello world praticamente non riesco a capire il
 motivo per cui NON STAMPA A VIDEO, quindi dopo molte prove mi chiedo se è
 normale che faccia cosi oppure no.

 Saluti.
 __**_
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/**mailman/listinfo/pythonhttp://lists.python.it/mailman/listinfo/python




-- 
Giovanni Dall'Olio, phd student
IBE, Institut de Biologia Evolutiva, CEXS-UPF (Barcelona, Spain)

My blog on bioinformatics: http://bioinfoblog.it
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] RE

2012-04-20 Per discussione Marco Beri
2012/4/20 Giuse giuseppelu...@gmail.com

 Ho installato il 2.7 sulla macchina windows 7 ma ancora non sono pratico.
 Ho provato a programmare Hello world praticamente non riesco a capire il
 motivo per cui NON STAMPA A VIDEO, quindi dopo molte prove mi chiedo se è
 normale che faccia cosi oppure no.


Se apri una finestra del prompt dei comandi, scrivi Python (se non ti parte
prova con C:\Python27\Python) ti viene fuori una roba così:



Quindi scrivi:
print Hello world

Vedrai che lo vedi.

Idem se lanci IDLE.

Se invece scrivi un file hello.py con dentro print Hello world e lo
esegui da Explora risorse allora non vedrai nulla (in realtà dovresti
vedere una finestrella che si apre e si chiude subito).

È giusto e normale.. il programma viene eseguito in una finestra che si
richiude subito al termine del programma stesso.

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python