Re: [Python] Ricerca in un dizionario.
Il 29/05/2023 01:45, Giorgio Zoppi ha scritto: [...] Lascio a te la dimostrazione perche lo schermo di questo laptop e' troppo piccolo per contenere i corner case. [...] ROTFL!!! Forse intendevi "i margini dello schermo di questo laptop", posso supporre... :-D m. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Consiglio su web framework
Il 22/05/2023 10:11, Carlos Catucci ha scritto: Ho idea che Genro sia parecchio più complesso da apprendere rispetto a Flask, però è un gran bel progetto ...se riesco ad usarlo io, credo ci possa riuscire chiunque... :-) Diciamo che può essere usato a vari livelli. Se si resta nel contesto delle features ... "standardizzate" (non credo sia il termine giusto, se casomai qualcuno mi supporta in queste grezze descrizioni ben venga) con poco sforzo, davvero poco, si ottiene molto. Certo se poi si vogliono fare cose particolari o avanzate può non essere più banale, ma per una marea di casi d'uso abbastanza normali è già praticamente tutto pronto. Almeno, per quella che è la mia esperienza. ciao, m. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Consiglio su web framework
Il 21/05/2023 22:46, Giuliano Curti ha scritto: Buonasera a tutti, vi chiedo un consiglio su un argomento che non ho mai affrontato. Vorrei offrire via web(*) l'interrogazione di un db sqlite3; immagino che una soluzione possa essere PHP che però non conosco e non intendo affrontarlo. Quindi, ecco la domanda: esiste qualche framework python che consenta la costruzione di una, massimo due form per interrogare il DB? [...] Ti offre molto di più, ma ti consiglierei di provare a guardare anche Genropy: https://www.genropy.org/ Collegamento nativo con SQLite, e poi è tutto italiano! my 2 cents, m. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Indagine su una variabile.
Il 25/07/2022 15:20, Gabriele Battaglia ha scritto: [...] Riprendendo il tuo esempio ti chiedo, a cosa serve allora la parola chiave global? Se io dichiaro una variabile a livello main, poi la modifico all'interno di una funzione di livello più alto e naturalmente me la aspetto modificata quando esco da queste funzioni, perchè dovrei avere la necessità di dichiarare che quella variabile è global, all'interno delle mie funzioni? Non so se sono riuscito a spiegare il mio dubbio. Provo a dirti la mia, vediamo se siamo sulla stessa lunghezza d'onda... global serve per consentire di utilizzare una variabile fuori dal suo scope (contesto) naturale. Per quel che so lo si usa o all'interno di una funzione, o per definire variabili "globali" tra moduli per scambio informazioni. Sto sull'uso all'interno di una funzione, penso sia più facile per me da spiegare. Quando entri in una funzione, questa definisce il suo "scope". Le variabili definite nella funzione hanno come scope la funzione medesima. Quando esci dalla funzione, spariscono. Se vuoi modificare una variabile definita fuori dalla funzione, allora usi la keyword global, così la funzione capisce che lo scope è esterno a se' stessa, e si vuole usare la variabile "esterna" e non quella della funzione. Nota che se ad una variabile assegni un valore nel corpo della funzione python assume sia locale (a meno che non la dichiari global). Le variabili solo referenziate all'interno di una funzione invece sono implicitamente global. Un esempio aiuta: m = 1 def duplica(): global m m = m * 2 print(m) duplica() Ti restituisce il valore 2. Se provi a togliere la riga "global m" ottieni... un errore: local variable 'm' referenced before assignment. Questo perché hai usato la variabile prima di "dichiararla". Nota che se sostiuissi "global m" con "m = 7" (ad esempio) non avresti più l'errore, la stampa di "m dentro duplica" darebbe 14, la stampa di "m fuori duplica" darebbe... ancora 1 (la "m" esterna alla funzione). Ovvero, la variabile definita dentro la funzione "oscura" la variabile esterna alla funzione, a meno che non la dichiari global, ed in tal caso anche dentro la funzione utilizzi la variabile esterna (appunto, globale). Aiuta? Ciao, m. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] R: R: Variabili su file esterno
Il 11/07/2022 10:43, Marcello Ilardi ha scritto: [...] import pickle [...] Ottimo! "batteries included" quindi... :-) m. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] R: Variabili su file esterno
Il 11/07/2022 08:42, Marcello Ilardi ha scritto: [...] ma un problema che ho riscontrato è il passaggio delle variabili sul file importato. [...] Hai provato a dare un'occhiata al modulo pickle? https://docs.python.org/3.8/library/pickle.html m. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Indagine su una variabile.
Il 05/05/2022 16:16, Gabriele Battaglia ha scritto: [...] Ho una variabile dichiarata ad inizio script, del tipo: d={} poi una routine la modifica, ovviamente ha lo stesso nome all'interno della funzione che non riceve () e non restituisce nulla con return. All'uscita da questa funzione tuttavia, mi ritrovo d intatta, come se non avessi apportato alcuna modifica. Secondo me è un tema di namespace e scope delle variabili... Se dichiari una variabile dentro una funzione, il suo scope è interno alla funzione. La variabile dichiarata esternamente ha uno scope più ampio. Quindi la "d" interna alla funzione esaurisce la sua visibilità in uscita della stessa. La "d" esterna alla funzione continua a puntare al dizionario di prima. Se non è stato modificato, il dizionario resta invariato. Se invece modifichi il dizionario, anche dentro la funzione, lo ritrovi modificato (perché un conto è lo scope della variabile, un conto è l'oggetto puntato). Esempio stupido: def fanulla(dizionario): #dizionario[1]="uno" d = "ciao" print ("dentro fanulla d vale ", d) d = {} print("prima di fanulla d vale ", d) fanulla(d) print("dopo fanulla d vale ", d) Se togli il # dentro la funzione, il dizionario viene modificato. Oppure non ho capito nulla del tuo problema, in tal caso chiedo venia! ciao. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] while... perchè?
Il 15/02/2022 14:04, Gabriele Battaglia ha scritto: Questo semplice script con 2 while annidati: #testwhile yi,yk=0,0 whileyi<2: whileyk<5: print(yi,yk) yk+=1 yi+=1 [...] Ciao, prova ad aggiungere: print(yi,yk) come penultima riga, prima di: yi+=1 con il suo stesso livello di indentazione, così vedi cosa succede effettivamente... ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Suggerimento per creazione classe
Il 31/12/2021 13:09, Valerio Pachera ha scritto: [...] Tali percorsi sono uguali per qualsiasi istanza della classe, percio' [...] Suggerimenti? Rapidamente, potresti "staticizzare" i due path nella classe, ad esempio: class Account(object): src = 'sorgente_' dst = 'destinazione_' def __init__(self, name): self.name = name def export(self): src_path = self.src + self.name dst_path = self.dst + self.name print(f'export {src_path} to {dst_path}') poi magari cerca sui decoratori @staticmethod ed anche @classmethod. Ma intanto credo faccia quello che hai chiesto... Ciao, m. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Confronto dizionari.
Il 11/02/2021 11:48, Giovanni Porcari ha scritto: [...] Potresti usare un approccio più originale. Ovvero creare una classe che potresti chiamare ‘DizionarioSpione’ [...] In questo modo dopo la chiamata alka tua funzione spiadict._changes ti darà l’elenco di tutti i cambiamenti. Giovanni sei sempre "sul pezzo" in modo devastante! Fantastico! E, aggiungerei, una soluzione che... non usa le Bag!!! hahaha!!! :-) Complimenti. m. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] slides genrobag e genrosql
Il 27/09/2015 14.18, Giovanni Porcari ha scritto: [...] https://www.dropbox.com/s/qme8cm0gqd8ihoj/documenti%20genropy.zip?dl=0 [...] Grazie Giovanni! Ora guardo un po' meglio, c'era almeno un pattern per usare le relazioni in genrosql che mi è risultato abbastanza nuovo anche concettualmente, il modo in cui "navighi" le relazioni per riferimento in modo semplice... mi pare fosse quello con l'uso del "@" ma forse sto facendo confusione... Chiederò... Massimo. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] slides genrobag e genrosql
Sono stato al corso su genropy organizzato dagli sviluppatori, e ci tengo a fare i miei complimenti perché è davvero interessante! Durante il corso avete usato delle slides per illustrare genrobag e genrosql, siccome volevo chiedere il link per riguardarmele, ho pensato potesse essere utile chiederlo direttamente qui in lista così che altri interessati magari possano beneficiarne. Grazie in anticipo, Massimo. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Domanda (stupida?) su linux
Il 15/04/2014 09.54, Massimiliano Modena ha scritto: [...] Debian condivide pressoché la stessa base. Però è molto più restia a fare aggiornamenti, non avresti quindi il tutto all'ultima release come con Ubuntu (ed io adoro Debian per questo). +1 Però pensavo che potrebbe come alternativa provare una Debian Testing invece che stable, così dovrebbe avere versioni comunque più aggiornate... (volevo scrivere Sid, ma poi m'è venuta paura che gli rompesse la tavoletta... ;) ) Massimo. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] congetture su libreria per sql
Manuele Pesenti ha scritto: Ciao a tutti, stavo pensando ad implementare una libreria che fornisca strumenti di [...] tabella che questo rappresenta. Ovviamente pensavo di basarmi sulla libreria SQLAlchemy ma per quanto abbia cercato finora ho trovato esempi che definiscono classi cablate sulla struttura del db che quindi deve [...] Non so se ho capito il tuo problema/approccio, ma SqlSoup può aiutarti? http://www.sqlalchemy.org/docs/reference/ext/sqlsoup.html hth, max. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] cambio al vertice
Daniele Varrazzo ha scritto: On Wed, 1 Apr 2009 11:31:18 +0200, Masci srad...@gmail.com wrote: Le motivazioni non fanno una grinza... http://www.python.org/dev/peps/pep-0401/ Notizione ogg! Fa il paio con questa: http://www.postgresql.org/community/weeklynews/pwn20090401 Sapete in che data state scrivendo, vero? ^_^ max ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] costruzione GUI
danielita ha scritto: Innanzitutto grazie per le spiegazioni! Da quanto hai scritto deduco che evidentemente mi hanno chiesto di sviluppare la GUI a manina (usando wxpython) perchè devo aggiungere al ...scusa non ti sto seguendo molto... da quanto scrivo io tu deduci una cosa che hanno chiesto a te ??? Non mi quadra... frame un canvas in cui inserire oggetti (immagini, testo) su cui realizzare a manina il drag and drop, lo zoom, applicare maniglie per ridimensionare gli oggetti, ecc. Tutto questo non si può fare con un GUI builder? Beh, no... con il GUI builder costruisci i widget di interfaccia, uno dei quali sarà un canvas, all'interno del quale poi le cose le realizzerai programmandole tu... (il GUI builder disegna i componenti dell'interfaccia, e basta... il canvas è un widget, il gui builder si ferma li...). Peraltro, se le tue richieste riguardano oggetti (con maniglie, da ridimensionare, e via dicendo) da gestire via wxPython, ti suggerirei di guardare, nella demo standard, la sezione OGL (sotto miscellaneous mi pare...) Inoltre hai scritto che solo in fase di costruzione della GUI il dover leggere a runtime un file xml da interpretare per creare la GUI richiede un po' di tempo di esecuzione in più rispetto ad una generazione diretta da codice. Ma ciò non è necessario nel corso della successiva esecuzione, perchè? Forse perchè nella successiva esecuzione in entrambi i casi ho il bytecode? Probabilmente non sono stato chiaro, con costruzione della gui intendevo la creazione dei vari widget da parte del programma (in esecuzione), non il tempo di design da parte del programmatore... Il concetto è che nel caso si usi un file di risorse che descrive la GUI il programma, per disegnare la stessa, deve leggere un file di testo che descrive la GUI, e sulla base di quella descrizione generare i widget. Se il tutto è codificato (ovvero già scritto nel codice) in esecuzione si può procedere a generare i widgets senza leggere la descrizione dal file di testo. Questa è la differenza(1). Poi le GUI generate, a parità di widget usati, si comportano nello stesso identico modo. Ovviamente la lettura del file di configurazione verrà effettuata ad ogni esecuzione. HTH, max. (1) questa differenza di esecuzione è piccola con Python, ma può diventare più significativa con linguaggi compilati, tipo C++, che non devono interpretare il sorgente (o p.code). Peraltro, nei linguaggi compilati consente l'innegabile vantaggio di poter rifare la gui senza dover ricompilare il sorgente. In Python te ne accorgi meno perchè potresti facilmente modificare il codice, ma se fossi in ambienti dove il sorgente va protetto la strada dei files di risorse diventa estremamente importante. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python