Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione alla programmazione Python: Funzioni, Stringhe, Dizionari, Schemi e mappe concettuali di Programmazione Avanzata

Una panoramica completa delle funzioni, stringhe, dizionari, espressioni regolari e vettori in python. Include esempi pratici e spiegazioni dettagliate per aiutare gli studenti a comprendere questi concetti fondamentali della programmazione.

Tipologia: Schemi e mappe concettuali

2024/2025

In vendita dal 28/03/2025

danilo-dp05
danilo-dp05 🇮🇹

1 documento

1 / 12

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Informatica
Funzioni:
range(n1,n2,passo) n1 incluso, n2 escluso
list() converte in lista es. list(range(n1))
len() restituisce la lunghezza della stringa
(compreso spazi)
str() trasforma in stringa un qualunque dato
ord() dato un carattere restituisce la posizione
unicode
chr() inverso di ord()
Metodi:
s.lower() converte in minuscolo tutti i caratteri
della stringa
s.upper() converte in maiuscolo tutti i caratteri
della striga
s.count(‘char’) conta quante volte è presente un
carattere in una stringa
s.find(‘char’) trova la prima posizione i cui si trova
un carattere
s.rfind(‘char’) stessa cosa di find() ma partendo
dalla fine
s.replace(‘a’ , ’e’ , passo) sostituisce un carattere con un altro
s.strip() toglie spazi, tabulazioni e righe nuove
pf3
pf4
pf5
pf8
pf9
pfa

Anteprima parziale del testo

Scarica Introduzione alla programmazione Python: Funzioni, Stringhe, Dizionari e più Schemi e mappe concettuali in PDF di Programmazione Avanzata solo su Docsity!

Informatica

Funzioni:

range(n1,n2,passo) n1 incluso, n2 escluso

list() converte in lista es. list(range(n1))

len() restituisce la lunghezza della stringa

(compreso spazi)

str() trasforma in stringa un qualunque dato

ord() dato un carattere restituisce la posizione

unicode

chr() inverso di ord()

Metodi:

s.lower() converte in minuscolo tutti i caratteri

della stringa

s.upper() converte in maiuscolo tutti i caratteri

della striga

s.count(‘char’) conta quante volte è presente un

carattere in una stringa

s.find(‘char’) trova la prima posizione i cui si trova

un carattere

s.rfind(‘char’) stessa cosa di find() ma partendo

dalla fine

s.replace(‘a’ , ’e’ , passo) sostituisce un carattere con un altro

s.strip() toglie spazi, tabulazioni e righe nuove

Librerie (from math import *)

Math - > funzioni matematiche

Random - > generazione casuale (randint(0,n1))

Funzioni matematiche

abs(x) valore assoluto round(x) valore di x arrotondato all'intero più vicino di x round(x,n) valore di x arrotondato a n cifre decimali min(x1,..,xn) valore minore fra quelli presenti come argomenti max(x1,..,xn) valore maggiore fra quelli presenti come argomenti cos(x) coseno (x deve essere espresso in radianti) sin(x) seno (come sopra) tan(x) tangente (come sopra) acos(x) arco-coseno (x deve essere nell’intervallo [−1, 1]) asin(x) arco-seno (come sopra) atan(x) arco-tangente radians(x) converte in radianti un angolo espresso in gradi degrees(x) converte in gradi un angolo espresso in radianti exp(x) e^x log(x) ln(x) log(x ,b) logb(x) log10(x) log10(x) pow(x,y) x^y sqrt(x) radice quadrata di x factorial(n) fattoriale di n

IF

if :

// fuori if Le liste si dichiarano in modo molto semplice, e possono contenere diversi tipi di variabili all’interno, a differenza degli altri linguaggi: Lista = [1,2,3,5,9,11,”pasta”, 8.54] Metodi delle liste: append(x): viene aggiunto in fondo l’elemento “x” clear(): lista diventa vuota count(x): conta l’elemento “x” della lista copy: copia la lista extend(lista): aggiunge gli elementi di una seconda lista in fondo index(x): restituisce la prima posizione in cui è presente il valore insert(posizione, x): inserisce x in posizione y pop(): elimina l'ultimo elemento e lo restituisce come risultato remove(x): elimina la prima “x” dalla lista reverse(): rovescia la lista sort(): ordina in ordine alfabetico la lista

Funzioni liste

list(x): Inserendo una stringa “x” la convertirà in una lista

Metodi per la gestione dei file

read(): legge tutto il file e restituisce una stringa readlines(): legge tutte le righe del fie e restituisce una lista di stringhe readline(): legge una riga del file alla volta open(“percorso/nome_file”): Si usa per aprire il file. Ha dei valori opzionali, fra cui “w” e “encoding”, quindi avremo: f.open(“nome”,”w”,encoding = “UTF-8”). La “w” indica l’apertura del file in modalità di scrittura (writing) e encoding specifica il tipo di caratteri utilizzati. Se non viene specificato che il file deve essere aperto in scrittura sarà sottinteso che lo sarà per la sola lettura (equivale a scrivere “r”). C’è anche la modalità “a”, con la quale ci si posizione alla fine del file per scrivere. close(): chiude il file for riga in: legge una riga del file alla volta fout.write(s): serve a scrivere sul file la stringa “s” print(s, end = ‘’, file=fout) la stringa s oltre a essere stampata verrà scritta sul file. In caso venga utilizzato questo come metodo di scrittura è importante definire la fine come ‘’ altrimenti stamperà anche i caratteri di escape (\n, \t, ecc...) with open(“nome_file”, “w”) as file: è un metodo esistente in python che apre e chiude il file in modo automatico

Funzioni

split(): spezza la stringa in una lista di sottostringhe in concomitanza con i caratteri “speciali”

For key in d: scandire tutte le coppie del dizionario Print(key,d[key]) Metodi per i Dizionari Clear() svuota il dizionario, cioè riporta il dizionario a vuoto Copy() crea una copia del dizionario Get(key) restituisce il valore associato alla chiave nel dizionario, se la chiave non è presente restituisce none Get(key,value) il value indica il valore da restituire in caso la chiave non sia presente Pop(key) eliminate l’elemento che ha chiave==Key e restituisce il suo valore Keys() restituisce la lista di tutte le chiavi del dizionario Values() restituisce la lista di tutti i valore del dizionario Key e values non restituiscono però dei valori di tipo lista, o valori che possono diventare tipo lista

Espressioni Regolari

import re: importo del modulo re m = re.search(pattern, stringa) cerca il “pattern” in tutta la stringa il pattern può essere una stringa normale, o può essere una serie di simboli per specificare in modo generico la nostra ricerca print(m.group()) stampa la sottostringa (il pattern) che è stata trovata nella stringa principale Per individuare una sequenza di caratteri compresi in un certo range, dobbiamo utilizzare degli indicatori di occorrenza, ovvero dei simboli, tra cui avremo:

-? = 0 o 1 occorrenza

    • = 0 o + occorrenze
    • = 1 o + occorrenze Potremmo utilizzare dei caratteri ulteriori per facilitare la ricerca, come ‘-‘ che viene utilizzato come separatore, esempio:

pattern = ‘Mario[a-zA-Z0- 9 ]’ quindi il pattern andrà da ‘Mario’ e finirà fino all’ultimo numero prima di un ulteriore carattere, contando tutti i caratteri minuscoli ‘a-z’, i maiuscoli ‘zA-Z’ e tutti i numeri ‘Z0-9’ Ci sono ulteriori caratteri speciali che hanno funzione analoga al ‘-‘, come ‘^’ che ha come significato il partire da inizio stringa, esempio: ‘Mario[^-]’, quindi andrà da ‘Mario’ fino a quando non troverà il carattere ‘-‘ Se nel pattern sono presenti più “sotto pattern” ovvero sono presenti più stringhe da cercare, verranno divisi in gruppi, esempio: elenco = 'Luca Rossi 2345234 - Mario Bianchi 82342342 - Marco Verdi 342342342' pattern = ‘(Mario) ( [A-Z] [a-z]) ( [ 0 - 9])’ avremo quindi come gruppi: m.group(1) = Mario m.group(2) = Bianchi m.group(3) = 82342342 questo pattern è composto da 3 parti separate da spazio se non indichiamo il numero stamperà tutto il “gruppo” m = re.finditer(pattern, elenco) restituisce un oggetto iterabile di Match ordinati, dove ogni Match contiene il risultato di una singola search si usa con un ciclo for, quindi avremo: for n in m: legge tutti i Match riassumendo: [caratteri] per definire un insieme di caratteri. La collimazione avviene con un solo carattere dell’insieme. [^caratteri] lo stesso ma al contrario

  • sequenza 0 o più piccole ? sequenza 0 o 1 occorrenze
  • sequenza 1 o più occorrenze (gruppo) isola parti della stringa che collima Re.search per trovare la prima stringa
  • $ corrisponde con la stringa vuota se si trova alla fine della stringa, denota quindi la fine della stringa. Se usato con re.multiline corrisponde alla fine
  • ‘*?’ ‘+?’ ‘??’ corrispondono ai quantificatori non ingordi. Serve a limitare l’uso dei quantificatori che opererebbero altrimenti su tutta la stringa

Ricerca di stringhe con ripetizioni

\numero corrisponde al contenuto del gruppo con lo stesso numero

Vettori

Import numpy as np V = np.array([elemento 1 vettore],[elemento 2 vettore]) V = np.array([1,0],[0,1]) V[0][1] elemento riga 0 colonna 1 .ndim numero degli assi .shape è una tupla di ndim interi che contiene la lunghezza di ogni asse .size numero complessivo di elementi dell’array np.ones(3,4) crea un array pieno di 1 con 3 righe e 4 colonne Np.random.random((2,4)) crea un array di valore casuali di 2 righe e 4 colonne Np.empty((3,2)) crea un array vuoto Np.full((2,2),7) crea un array pieno con il valore 7 Np.arange(10,50,5) crea un array con i valori da 10 a 50 (escluso) con passo 5 Np.linspace(0,2,12) Crea un array 1D con 9 valori uniformemente spaziati tra 0 e 2 (inclusi) v.reshape() viene utilizzato per cambiare la forma (dimensioni) di un array senza modificarne i dati v.flatten() viene utilizzato per ridurre un array multidimensionale a una versione monodimensionale (1D).

v.dtype viene utilizzato per ottenere o impostare il tipo di dati (data type) degli elementi contenuti in un array. v.itemsize restituisce la dimensione, in byte, di ciascun elemento in un array. argmax e argmin servono per trovare l'indice della posizione in cui si trova rispettivamente il valore massimo o minimo in un array. Con il parametro axis è possibile applicare un'operazione lungo l'asse specificato di un array Axis= 1 righe Axis= 0 colonne v.cumsum somma cumulativa Slicing vettori C=b[::-1] inverte gli elementi della matrice a[1:3,1:4] seleziona e stampa le righe 1 e 2 e le colonne 1, 2, 3 a[::2] seleziona e stampa le colonne pari Np.loadtxt(nome file) per leggere un file nel seguente formato Operazioni aritmetiche sugli array import numpy as np a = np.array([1, 2, 3]) b = np.array([4, 5, 6])

Somma elemento per elemento c = a + b print(c) # Output: [5 7 9]

Sottrazione d = a - b print(d) # Output: [- 3 - 3 - 3]

Moltiplicazione e = a * b print(e) # Output: [ 4 10 18]

Divisione f = b / a print(f) # Output: [4. 2.5 2.]

A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]])

Prodotto matriciale C = A @ B print(C)

#output [[19 22] [43 50]]