TEORIE E TECNICHE DEL RICONOSCIMENTO Python: Debugging, 2: Understanding Python better.

Slides:



Advertisements
Presentazioni simili
PARI/GP Introduzione.
Advertisements

CGI in Python & WebWare Marco Barisione. 2 CGI CGI = Common Gateway Interface È un modello di comunicazione fra browser e server I programmi CGI sono.
Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili dambiente si usa il comando set.
Funzioni e procedure Ogni linguaggio di programmazione ad alto livello mette a disposizione del programmatore questi strumenti, ed il C non è da meno!
Commenti C#.
PHP.
Linguaggi di programmazione
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
Introduzione al linguaggio C
Dallalgoritmo minimax allalgoritmo alfa-beta. MINIMAX int minimax(stato, livello) { if((livello == max_livello) || condizione_uscita(stato)) { CAMMINO.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Informazioni globali nelle pagine HTML.
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Risore sul web (JavaScript) tm
Laboratorio di Linguaggi lezione IV Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Costruzione di Interfacce Lezione 12 C++STL
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Specifiche senza JML: uso delle asserzioni. 2 Asserzioni in Java Dal jdk 1.4 (da Febbraio 2002) cè meccanismo per gestire asserzioni Asserzione: espressione.
XML e XSL. XSL - eXtensible Stylesheet Language XSL è un linguaggio di annotazione che serve a "trasformare" la struttura di un documento in formato XML.
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
JavaScript: Array JavaScript: Array.
Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo.
Algebra Lineare Esercizi assegnati.
Le funzioni.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
AN FI Un denominatoe comune Comandi u notazioni che esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno.
Javascript 6 Funzioni. Una funzione sarà eseguita in risposta ad un evento o ad una chiamata diretta. Le funzioni possono essere inserite comodamente.
Il Passato Prossimo The Past Perfect Tense.
Il linguaggio C Le funzioni C Language Il passaggio dei parametri
Lo sviluppo top down Le funzioni
Classi ed Ereditarietà in Python
Funzioni stringhe. chr Restituisce il carattere di un valore ascii dato. Per vedere lelenco dei codici ascii clicca QQQQ uuuu iiiiEsempio
2000 Prentice Hall, Inc. All rights reserved. Attivazione di funzioni La chiamata/attivazione di funzione viene indicata citando il nome della funzione.
Unità Didattica 1 Linguaggio C
LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
Form o moduli HTML Esistono degli oggetti standard che permettono una certa interattività con l'utente. Un utilizzo completo e significativo di tali elementi.
Il linguaggio Fortran 90: 3. Procedure e Funzioni
JavaScript Generalità Cos'è JavaScript?
Script di shell (bash).
Introduzione a Javascript
TEORIE E TECNICHE DEL RICONOSCIMENTO
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Allievi Elettrici - AA Le funzioni ricorsive in C
INTRODUZIONE. Javascript è un linguaggio di scrittura che permette di aggiungere veri e propri programmi alle tue pagine web.
Sottoprogrammi e funzioni
Università degli Studi di Cassino e del Lazio Meridionale Dipartimento di Scienze Umane, Sociali, e della Salute Lingua Inglese a.a (Dott. Saverio.
1 SC che operano su processi Getpid, fork, exec, wait, waitpid, exit, dup, dup2.
Lez.6 (13/14)Elementi di Programmazione1 Lezione 6 Funzioni Passaggio di parametri.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Nucleo di Java: Struttura e Semantica Espressioni Assegnamento Controllo di sequenza Dichiarazioni.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
TEORIE E TECNICHE DEL RICONOSCIMENTO Python: Dizionari.
1 System Call che operano su processi Getpid, fork, exec, wait, waitpid, exit, dup, dup2.
Corso di Laurea in Informatica Architettura degli elaboratori a.a Programmazione Assembly: procedure (1) Supporto hardware alle procedure Passaggio.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
EVENTI Gli eventi sono delle azioni che possono essere identificate da javascript. 1 - onMouseOver, che viene messo in atto quando l'utente fa scorrere.
Il C `e un linguaggio di programmazione di uso generale, originariamente sviluppato per la scrittura del sistema operativo Unix, ed oggi disponibile su.
Fare Adesso - La Salute (page 9)La Salute Cosa hai? – Look at the picture and write the illness that each person is feeling on the handout provided. Oggi.
How to conjugate an -ERE verb scrivere prendere chuidere vedere chiedere leggere ripetere credere rispondere.
Corso di Laurea in Informatica Architettura degli elaboratori a.a ISA e Asm: esempi e suggerimenti.
Usare Excel per risolvere problemi….. Esercizi…..
Transcript della presentazione:

TEORIE E TECNICHE DEL RICONOSCIMENTO Python: Debugging, 2: Understanding Python better

Errori semantici Molti errori semantici sono causati da aspetti del linguaggio di programmazione usato che non conosciamo – Soluzione: cercare di capire meglio cosa aspettarsi

Esempio: condizionali >>> animals = ['cat', 'dog'] >>> if 'cat' in animals:... print(1)... elif 'dog' in animals:... print(2)... 1 >>> animals = ['cat', 'dog'] >>> if 'cat' in animals:... print(1)... if 'dog' in animals:... print(2)

Funzioni Essenziali per – rendere il codice che scriviamo leggibile – assicurare che lo stesso comportamento si ripeta ad ogni chiamata

Esempio import re def get_text(file): """Read text from a file, normalizing whitespace and stripping HTML markup.""" text = open(file).read() text = re.sub(r' ', ' ', text) text = re.sub('\s+', ' ', text) return text

More readability: Docstring import re def get_text(file): """Read text from a file, normalizing whitespace and stripping HTML markup.""" text = open(file).read() text = re.sub(r' ', ' ', text) text = re.sub('\s+', ' ', text) return text | >>> help(get_text) | Help on function get_text in module __main__: | | get(text) | Read text from a file, normalizing whitespace and stripping HTML markup.

Funzioni: errori possibili L’uso di funzioni pero’ puo’ anche causare certi errori, in particolare nell’uso dei parametri

Funzioni: parametri >>> def monty(x): return x >>> monty(1) 1 >>> def monty(): return 'Monty Python' >>> monty() 'Monty Python'

Ma: >>> def monty(x): return x >>> monty() Traceback (most recent call last): File " ", line 1, in monty() TypeError: monty() takes exactly 1 argument (0 given)

Funzioni: passaggio di valori In Python, i valori sono passati alle funzioni usando un meccanismo chiamato call-by-value Nel caso di valori scalari, quel che succede e’ normalmente quello che ci si aspetterebbe Ma non e’ necessariamente cosi’ nel caso di oggetti strutturati (liste, etc)

Call-by-value >>> def set_up(word, properties):... word = 'lolcat'... properties.append('noun')... properties = 5... >>> w = '' >>> p = [] >>> set_up(w, p) >>> w '' >>> p ['noun']

Call-by-value: stringhe >>> w = '' >>> word = w >>> word = 'lolcat' >>> w ''

Call-by-value: liste >>> p = [] >>> properties = p >>> properties.append('noun') >>> properties = 5 >>> p ['noun']

Scopo delle variabili: LGB Quando una variabile viene usata all’interno di una funzione, Python ne cerca il valore usando la regola LGB: locale, poi globale, poi built-in

Scopo delle variabili: LGB >>> z = 4 >>> def monty(): return z >>> monty() 4 >>> z = 4 >>> def monty(): z = 3 return z >>> monty() 3 >>> z 4

Tipo dei parametri >>> def tag(word):... if word in ['a', 'the', 'all']:... return 'det'... else:... return 'noun'... >>> tag('the') 'det' >>> tag('knight') 'noun' >>> tag(["'Tis", 'but', 'a', 'scratch']) [1] 'noun'

Controllo del tipo dei parametri usando assert: >>> def tag(word):... assert isinstance(word, basestring), "argument to tag() must be a string"... if word in ['a', 'the', 'all']:... return 'det'... else:... return 'noun'

Funzioni come argomenti e lambdas >>> sent = ['Take', 'care', 'of', 'the', 'sense', ',', 'and', 'the',... 'sounds', 'will', 'take', 'care', 'of', 'themselves', '.'] >>> def extract_property(prop):... return [prop(word) for word in sent]... >>> extract_property(len) [4, 4, 2, 3, 5, 1, 3, 3, 6, 4, 4, 4, 2, 10, 1] >>> def last_letter(word):... return word[-1] >>> extract_property(last_letter) ['e', 'e', 'f', 'e', 'e', ',', 'd', 'e', 's', 'l', 'e', 'e', 'f', 's', '.'] >>> extract_property(lambda w: w[-1]) ['e', 'e', 'f', 'e', 'e', ',', 'd', 'e', 's', 'l', 'e', 'e', 'f', 's', '.']

Uso di funzioni nelle funzioni built-in >>> sorted(sent) [',', '.', 'Take', 'and', 'care', 'care', 'of', 'of', 'sense', 'sounds', 'take', 'the', 'the', 'themselves', 'will'] >>> sorted(sent, cmp) [',', '.', 'Take', 'and', 'care', 'care', 'of', 'of', 'sense', 'sounds', 'take', 'the', 'the', 'themselves', 'will'] >>> sorted(sent, lambda x, y: cmp(len(y), len(x))) ['themselves', 'sounds', 'sense', 'Take', 'care', 'will', 'take', 'care', 'the', 'and', 'the', 'of', 'of', ',', '.']

Altre informazioni Resto del capitolo 4 codeacademy