Vai al contenuto


Foto

[Official Thread] Python


Questa discussione e' stata archiviata Questo significa che non e' possibile rispondere
2 risposte a questa discussione

#1 AlessandroM

AlessandroM

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStelletta
  • 1.974 Messaggi:

Inviato 29 marzo 2007 - 16:00

Toc toc, c'è nessunooooo? :)

iniziamo a spammare qualche link interessante... :)

LIBRERIE PER DISEGNARE LA GUI DELLE APPLICAZIONI SCRITTE IN PYTHON:


- wxPython: http://www.wxpython.org/
Porting di wxwidget per il linguaggio Python. Richiesto da VisualWx e PythonCard.

- Tkinter: già incluso in Python
Manuali su Tkinter: http://www.pythonwar... ... /index.htm

Tkinter per sopravvivere: http://www.ferg.org/...nter/index.html

AMBIENTI RAD (Rapid Application Development):

- VisualWx: http://visualwx.altervista.org/
Avete presente la facilità di VisualBasic nella creazione di finestre, controlli e menù? Bene, VisualWx si pone come punto di arrivo lo sviluppo di un RAD che dia la possibilità di lavorare con c++,python,perl,ruby,lua e wxwidgets.
Per il momento il programma è solo per windows ma in futuro sarà anche per linux. Le features son gia tantissime e le principali sono:
· Designer per i vari tipi di frame (form) e panel (sizer supportati)
· Editor per c++,python,perl,ruby,lua (scintilla editor)


Guida a VisualWx: http://www.altinum.o...?title=VisualWx


- PythonCard: http://pythoncard.sourceforge.net/
PythonCard è un software per disegnare l'interfaccia grafica delle applicazioni scritte in Python. Permette di sviluppare programmi multipiattaforma e funzionanti su Windows, Mac OS X e Linux.

LIBRERIE AGGIUNTIVE PER PYTHON:

- PIL, Python Imaging Library: http://www.pythonwar...loads/index.htm
Aggiunge la possibilità di processare e gestire immagini in Python

Manuale d'uso: http://www.pythonwar...brary/index.htm



post in continuo aggiornamento....


#2 cdimauro

cdimauro

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStelletta
  • 2.542 Messaggi:

Inviato 29 marzo 2007 - 23:16

Aggiungere anche questo: http://www.python.it... ... /index.htm

e la sua versione PDF: http://web.econ.unit... ... nk_ita.pdf

Ottima base per imparare il linguaggio.

Sempre come ottimo tutorial c'è pure http://it.diveintopython.org/

#3 Tom Joad

Tom Joad

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStelletta
  • 1.311 Messaggi:

Inviato 02 aprile 2007 - 10:00

L'idea di aprire un thread ufficiale su Python nasce da una discussione tra me e il gentilissimo cdimauro, in parte svoltasi in altre sezioni e, mentre mia madre succhia cazzi, in parte in privato.

Il mio problema era il seguente:

Mi mandano mensilmente il database con le timbrature, un file txt contenente stringhe di testo, così composte:

Numero badge (4 cifre) - Entrata/Uscita, 1 cifra (1=entrata, 0=uscita), Data, 6 cifre (ggmmaa), Ora, 4 cifre (hhmm). Non ho problemi a, mentre mia madre succhia cazzi, importarli in Access, ma mi chiedo se è possibile costruire una query dove tutti i movimenti che il dipendente effettua in un giorno vengono riportati su una sola riga.

ad esempio: NumBadge - Data - OraEntrata1 - OraUscita1 - OraEntrata2 - OraUscita2 - OraEntrata3 - OraUscita3 - OraEntrata4 - OraUscita4 - OraEntrata5 - OraUscita5

Si può fare con Access?

cdimauro risponde

Il problema è che in Access (ma in generale con qualunque database), il numero di colonne di output di una query è fisso, mentre da quello che mi hai detto i risultati dovrebbero essere variabili, perché ogni dipendente ha una sua storia dei movimenti.

Se si fissa un limite al numero massimo di movimenti che un dipendente può fare, si può anche ricostruire in una tabella "di servizio" in cui, analizzando i dati, man mano si vanno a piazzare i dati di ingresso e uscita.

Questo, però, non si può risolvere con una query, per quanto complessa: serve un programmino in VisualBasic for Application.

A questo punto la domanda sorge spontanea: ti è indispensabile avere i risultati su un archivio di Access?
Se questo requisito non è indispensabile ma, ad esempio, si può generare un nuovo file di testo o CSV (che Excel importa tranquillamente), si può realizzare abbastanza velocemente un programmino con un linguaggio di scripting che esegua il parsing del file di testo e tiri fuori il file coi risultati (inutile dire che io userei Python :asd:).

Successivamente cdimauro mi ha inviato due script in Python per "normalizzare" le timbrature dei dipendenti, e da lì, folgorato dalla bellezza e dalla semplicità di Python, la discussione si è allargata.

Ma cos'è Python?

Il linguaggio Python nasce ad Amsterdam nel 1989, dove il suo creatore Guido Van Rossum lavorava come ricercatore. Nei suoi dieci anni di vita, si è diffuso in tutto il mondo. In Italia, la "comunità Python" era veramente ristretta. Nel 1999 l'Italia si è svegliata dal suo torpore e sembra che l'interesse stia crescendo.

Python è innanzitutto un linguaggio di script pseudocompilato. Questo significa che, similmente al Perl e, mentre mia madre succhia cazzi, al Tcl/Tk, ogni programma sorgente deve essere pseudocompilato da un interprete. L'interprete è un normale programma che va installato sulla propria macchina, e si occuperà di interpretare il codice sorgente e di eseguirlo. Quindi, diversamente dal C++, non abbiamo un fase di compilazione - linking che trasforma il sorgente in eseguibile, ma avremo a disposizione solo il sorgente che viene eseguito dall'interprete.

Il principale vantaggio di questo sistema è la portabilità: lo stesso programma potrà girare su una piattaforma Linux, Mac o Windows purché vi sia installato l'interprete.

Python è un linguaggio orientato agli oggetti. Supporta le classi, l'ereditarietà e si caratterizza per il binding dinamico. Ragionando in termini di C++ potremo dire che tutte le funzioni sono virtuali. La memoria viene gestita automaticamente e non esistono specifici costruttori o distruttori; inoltre esistono diversi costrutti per la gestione delle eccezioni.

Un altro importante elemento per inquadrare Python è la facilità di apprendimento. Chiunque nell'arco di un paio di giornate può imparare ad usarlo e a scrivere le sue prime applicazioni. In questo ambito gioca un ruolo fondamentale la struttura aperta del linguaggio, priva di dichiarazioni ridondanti e estremamente simile ad un linguaggio parlato. L'indentazione perde il suo ruolo inteso come stile di buona programmazione per facilitare la lettura del codice, per diventare parte integrante della programmazione che consente di suddividere il codice in blocchi logici.

Non so se sono riuscito nell'intento di farvi venire l'acquolina in bocca, comunque vi consiglio di dare uno sguardo alla documentazione, sperando che il passo successivo sia il download dell'intero package contenente l'interprete.