






Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una breve introduzione al linguaggio di programmazione Python. Vengono presentati i concetti di stringhe, numeri, variabili, funzioni, input, if statements, comparison, dizionari, while loop e for loop. Vengono forniti esempi di codice per ogni concetto. utile per chi vuole imparare le basi di Python.
Tipologia: Dispense
1 / 10
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!







print(“Hello world”) print(13) Stringa di testo: testo racchiuso nei quotation marks: “TEXT” oppure ‘TEXT’ Numeri: non serve inserirli nei quotation marks; In una stringa di testo, se si vogliono mettere delle virgolette, queste devono essere precedute dal backward slash: ; Per andare a capo in una stringa: \n; Commento con # VARIABILI Sintassi : variablename = “ TEXT ” or No or True or False Esempio: nome_personaggio = “Antonio” eta_personaggio = 68 personaggio_maschio = True Sono utili perché così basta cambiare il dato solo una volta e rendono il codice più ordinato. Se alla stessa variabile si danno valori diversi, si segue l’ordine a cascata : nome_personaggio = “Marco” print(nome_personaggio) nome_personaggio = “Antonio” print(nome_personaggio) Come risultato avremo: Marco Antonio Come già anticipato nell’esempio, le variabili possono essere inserite nelle funzioni e anche in aggiunta a stringhe di testo, ciò prende il nome di concatenazione : nome_personaggio = “Antonio” print(“Il nome del personaggio è ” + nome_personaggio + “.”) Risultato: Il nome del personaggio è Antonio. FUNZIONI CON STRINGHE DI TESTO Ce ne sono tante di funzioni applicabili, eccone alcune utili: In questo caso la funzione si applica a una variabile (o anche a una stringa) in questo modo variablename.function() Esempi vari: text = “Forza Juve” print(text.upper()) → FORZA JUVE print(text.lower()) → forza juve print(text.isupper()) → False; questo comando verifica se il testo è tutto maiuscolo.
Posso anche applicare di fila più funzioni: text = “Forza Juve” print(text.upper().isupper()) → True; Prima trasforma tutto in maiuscolo, poi verifica. print(len(text)) → 10, conta i caratteri che ci sono nella stringa (anche gli spazi) print(text[0]) → F, scrive carattere corrispondente al numero dato, inizia contare da 0
print(text.index(“F”)) → 0, poiché la F si trova all’index 0. print(text.replace(“Forza”, “Grande” )) → Grande Juve NUMERI Si possono scrivere numeri decimali, negativi e si possono anche fare le operazioni con l’aggiunta di parentesi. Simboli per le operazioni: * / + - **(elevazione a potenza) Abbiamo anche questo: %; comando che fa una divisione tra 2 numeri e ci da il resto come output: print(10 % 3) → 1. Possiamo convertire un numero in una stringa di testo: number = 10. print(str(number) + “is my favourite number”) → 10.5 is my favourite number Questo è utile perché col comando print puoi solo far apparire o un numero o una stringa, non entrambi insieme dallo stesso comando. Funzioni con i numeri number = - print(abs(number)) → 5, valore assoluto del numero print(pow(number, 2)) → 25, -5^2, anche con le variabili print(max(3, 4, 1)) → 4, stampa numero maggiore [min() numero minore] round() → approssima il numero Per aggiungere delle altre funzioni matematiche si deve scrivere nel codice questo: **from math import *** → si chiama modulo di matematica floor(3,6) → 3; ceil(3,2) → 4; sqrt( 36 ) → 6; INPUT Sintassi: input( PROMPT :) Esempio: input(“Enter your name: ”)
Ex: lista1.inser( posizione , “elemento”) con posizione si intende dove si inserisce .pop(): rimuove l’ultimo elemento dalla lista Ex: lista1.pop() non serve inserire nulla. .index(): verifichi se un elemento è nella lista, e in caso affermativo ti da la posizione. Ex: print(lista1.index(“elemento”)) .count(): conta il numero di elementi uguali presenti nella lista Ex: print(lista1.count(“elemento”)) .sort(): ordina gli elementi della lista secondo l’alafabeto o in ordine numerico crescente. Ex: lista1.sort() .reverse(): inverte l’ordine della lista Ex: lista1.reverse() .copy(): mi fa copiare una lista Ex: lista_nuova = lista1.copy() TUPLES Questo è un tipo di data structure, ovvero un container dove si possono conservare diversi tipi di valori. Questa non può essere cambiata o modificata con funzioni, come abbiamo visto per le liste. Sono utili nel caso di valori che sicuramente non andremo a modificare. Sintassi: nome = (“valore1”, “valore2”) Ex: coordinates = (32, 50) Si possono accedere ai valori con lo stesso comando di sempre: [ index ] coordinates = (32, 50) 0 1 print(coordinates[0]) → 32 Posso creare anche una lista di tuples: coordinate = [(32, 49), (34, 89)] In questo modo, posso aggiungere valori alla lista, ma non posso modificarli poichè sono tuples. FUNCTIONS Sintassi: def name (): print(“Hello World”) Il codice che segue i 2 punti deve essere indentato affichè possa essere considerato all’interno della funzione. Le funzioni sono utili poichè raccolgono varie parti di codice e le esguono, permettendoti di risparmiare spazio, di avere un codice più ordinato e di evitare di riscrivere ogni volta. Il codice all’interno di una funzione non viene eseguito di default, ma la funzione ha bisogno di essere chiamata. Per chiamarla basta scrivere il nome della funzione. Ex: name() Nelle parentesi possono essere inseriti dei valori, detti parametri. def function(name, age): print(“Hello ” + name + “you are “ + str(age)) function(“Edoardo”, 17) function(“Riccardo”, 19) Così otterremo: Hello Edoardo you are 17 Hello Riccardo you are 19
Serve per ridare un valore all’utente def cube(number): return numbernumbernumber cube(3) Come risultato darà: 27 IF STATEMENTS if variable : istruzioni else: altre istruzioni Funziona molto bene con delle varibili che hanno un valore booleiano. Si possono creare anche if statements più complessi, esempio: is_male = True is_tall = False if is_male or is_tall: print(“You are tall or male or both”) else: print(“You are neither tall nor male”) Abbiamo anche elif che sarebbe else if insieme. Questo viene usato quando abbiamo più di 2 condizioni. Oltre ad or abbiamo anche and (quando entrambi sono veri) e not( variable ) (se la variabile è falsa la trasforma vera e così via, usato in concomitanza con and). Con tutto ciò si possono fare tutte le combinazioni: is_male = True is_tall = False if is_male and is_tall: print(“you are a tall male”) elIf is_male and not(is_tall): print(“you are male and not tall”) elif not(is_male) and is_tall: print(“You are tall and not male”) else: print(“You are neither tall nor male”) Come risposta avremo: you are male and not tall. Quindi cambiando i valori di is_male e is_tall avremo risposte diverse, che coprono tutti i casi possibili. IF STATEMENTS AND COMPARISON Nel caso in cui tu voglia lavorare con i numeri puoi usare i simboli >, <, ==, >=, <=, != (not =) in modo tale da riuscire a coprire tutte le possibilità. Esempio con funzione: def max_numb(number1, number2, number3) if number1 >= number2 and number1 >= number3: return number elif number1 < number 2 and number1 >= number3:
for citta in lista_citta: print(citta) Risultato: Roma \n Milano \n Chieti Al posto di something si possono mettere liste e altre cose, tra cui il range( , ). Il range() è un generatore: range( 6 ) significa tutti i numeri da 0 a 5; range (2, 6) significa i numeri da 2 (incluso) a 6 (escluso). 2D LISTS Si tratta di liste, che al loro interno contengono altrettante liste. Sintassi: nome_lista = [ [1, 2, 3], [4, 5, 6], ] Puoi creare delle tabelle, esempio: number_grid = [ [1, 2, 3] [4, 5, 6] [7, 8, 9] ] print(number_grid[0][1]) Con il giallo si indica l'index della riga, con il verde l'index della colonna. Che poi python non legge questa lista 2D come una tabella, ma si fa prima specificare l'index della lista a cui si vuole accedere e poi l'index dell'elemento della lista scelta ricercato. NESTED LOOPS Quando hai un for loop all'interno di un altro for loop. Può essere usato per stampare tutti gli elementi all'interno di una lista 2D. number_grid = [ [1, 2, 3] [4, 5, 6] [7, 8, 9] ] for row in number_grid: for columns in row: print(columns) Stamperà in ordine tutti gli elementi, andando a capo per ogni elemento. TRY AND EXCEPT Utili per evitare errori o cose che non si vogliono quando ci sono input. Sintassi: try: codice except: codice Esempio: try: number = float(input("Enter your number: ")) print(number) except:
print("Error, you have to put a number") In questo modo si evita l'errore di python e si specifica all'utente cosa fare. Nel caso in cui, però, ci siano errori nel codice sotto try, partirà comunque l'except. Quindi, potrebbe capitare che, come avviamo, non ci venga neanche richiesto un input e sia subito stampata la scritta: Error, you have to put a number. Esempio: try: number = 10 / 0 number_utente = float(input("Enter your number: ")) print(number) except: print("Error, you have to put a number") Quindi per evitare ciò posso specificare il tipo di errore da controllare: except ZeroDivisionError as err: print(err) except ValueError: print("Error, you have to put a number") In questo modo il programma non si bloccherà, e verrà stampato l'errore fatto. Puoi usare più except di fila. Conviene sempre quindi specificare il tipo di errore con except, per essere più precisi. READING FILES Serie di comandi per aprire e far leggere file esterni come HTML, CSS ma anche file .txt. Per aprire un file si usa il coando: open(" name/URL" , " mode " ) Con mode si intende il modo in cui si vuole aprire il file: "r" → mode read: voglio solo leggere il file "w" → mode write: significa che puoi modificare il file "a" → mode append: significa che puoi solo aggiungere informazioni alla fine del file "r+" →mode read plus: significa che puoi leggere e anche modificare il file Useremo principalmente la mode "r". Generalmente si conserva il file all'interno di una variabile. Così possiamo anche assicurarci di chiudere il file: nome_variabile_file .close() Puoi anche controllare se un file è leggibile da python: nome_variabile_file .readable() → ci darà indietro un boolean value se usato col print Dopo aver verificato se è leggibile, leggiamo il file: nome_variabile_file .read() → insieme al print, verrà stampato tutto il file. nome_variabile_file .readline() → legge una linea singola, partendo dalla prima. Se usi questo comando più volte di fila continuerà a stampare le linee partendo dalla 1a. Per scegliere la linea che vuoi leggere puoi usare la funzione:
self.è_bravo = è_bravo Rimanendo sull'esempio dello studente: la classe è come un template, una overview su che data type è lo studente, un oggetto è invece un vero studente con tutti glii attributi specificati. Solitamente la classe si scrive in un file a parte, per poi importare con questi comandi: from nome_file import nome_classe Per creare un oggetto, il procedimento è simile alla creazione di una variabile: studente1 = studente("Edoardo", 17, 9.08, True) Nel caso in cui volessi sapere il nome dello studente1, posso fare così: print(studente1.nome) → Edoardo pritn(studente1.media) → 9. Con queste classi e oggetti posso modellare ogni entità esistente nel mondo reale. Questo è veramente utile e potente. CLASS AND OBJECT FUNCTIONS Nota bene: puoi incorporare funzioni nelle classi, e farle eseguire nel progetto: object_name. function_name () INHERITANCE Con ciò posso usare le funzioni all'interno di una classe in un altra classe senza dover copiare e incollare. Nota bene: bisogna importare il file contenente l'altra classe dalla quale vogliamo prendere le funzioni. Come fare: from nome_file import nome_classe class nome_classe ( nome_classe2 ): codice in più Qualora volessi fare dei cambiamenti ad una funzione, posso copiarla e modificarla andando a sovrascriverla a quella ereditata. PYTHON INTERPRETER Questo è uno spazio dove possiamo provare comandi e cose varie di python. Da windows, si deve aprire il cmd e scrivere python3. Si tratta di un posto utile solo per provare velocemente qualcosa evitando di creare un file o cose simili. Tutte le info sono prese da: https://www.youtube.com/watch?v=rfscVS0vtbw