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


Appunti di Python - computer science, Appunti di Elementi di Informatica

Appunti di Python tratti dalle lezioni di computer science di Maurizio De Pra in Bocconi nell'anno scolastico 2019-2020. Perfetto per corsi di laurea CLEAM, CLEF, CLEACC, BESS, BIEM, BIEF, BIG.

Tipologia: Appunti

2019/2020

Caricato il 22/09/2020

sara-manzone
sara-manzone 🇮🇹

5

(2)

3 documenti

1 / 17

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Un programma software è una sequenza di comandi attraverso la quale un calcolatore esegue un’elaborazione. Il
calcolatore riceve degli input (da tastiera, da un file, …) e restituisce degli output (a monitor, su file, via rete, …)
attraverso semplici operazioni. Un algoritmo è un processo che permette di risolvere un problema attraverso un
numero finito di semplici passi.
Linguaggi:
Pro
Contro
Compilati
Esecuzione più veloce
Il codice viene tradotto in un linguaggio intermedio (per poterlo
leggere, bisogna tornare al codice sorgente)
Interamente caricato in
memoria RAM
ISO Standard / regole universali per esecuzione su diverse
piattaforme
Interpretati
Esecuzione più lenta
Il codice è salvato così com’è (può quindi sempre essere letto)
Occupa meno spazio in
memoria RAM
Per ogni Sistema Operativo, ci può essere uno specifico «dialetto»
• la shell, che si usa in modalità interattiva o “a riga di comando”, è utile per cominciare a lavorare con
Python e per verificare immediatamente il risultato di un’operazione o gli effetti di un comando.
• l’editor, che si usa in modalità script, consente la scrittura di un programma in Python che deve essere
salvato come file per essere eseguito.
IDLE è l’ambiente di programmazione di Python, che include due diverse componenti:
Simbolo
Operazione
Descrizione
Es
+
Somma
Sommare numeri e concatenare
stringhe
'cassa'+'forte'
=cassaforte
-
Sottrazione
*
Moltiplicazione
Moltiplicare numeri e ripetere stringhe
'Sara'*2=
SaraSara
**
Esponente
/
Divisione
Divide due numeri e restituisce il
risultato come numero in virgola mobile
10/2=5.0
//
Divisione intera
Divide due numeri e restituisce il
risultato come intero senza resto
11//2=5
%
Modulo (resto)
Restituisce solo il resto della divisione
11%2=1
Espressioni matematiche:
PEMDAS (Parentesi, Elevamento a potenza, Moltiplicazione, Divisione, Addizione, Sottrazione)
N.B.: i numeri in Python vengono sempre espressi con la notazione anglosassone.
Se sono operazioni dello stello livello si eseguono da sx verso dx, tranne l'elevamento a potenza da dx verso sx.
Differenza tra 2**3**2=512 e (2**3)**2= 64
Help -> ci dà info sul dato che ci interessa
-
Print -> mostra qualcosa
-
Funzioni built-in (predefinite):
Apici: 'pippo'
-
Virgolette: "pippo"
-
Una stringa in Python può essere racchiusa tra:
Lezione 9, 10
giovedì 2 aprile 2020
16:02
Python_computer_science Pagina 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Appunti di Python - computer science e più Appunti in PDF di Elementi di Informatica solo su Docsity!

Un programma software è una sequenza di comandi attraverso la quale un calcolatore esegue un’elaborazione. Il calcolatore riceve degli input (da tastiera, da un file, …) e restituisce degli output (a monitor, su file, via rete, …) attraverso semplici operazioni. Un algoritmo è un processo che permette di risolvere un problema attraverso un numero finito di semplici passi. Linguaggi: Pro Contro Compilati Esecuzione più veloce Il codice viene tradotto in un linguaggio intermedio (per poterlo leggere, bisogna tornare al codice sorgente) Interamente caricato in memoria RAM ISO Standard / regole universali per esecuzione su diverse piattaforme Interpretati Esecuzione più lenta Il codice è salvato così com’è (può quindi sempre essere letto) Occupa meno spazio in memoria RAM Per ogni Sistema Operativo, ci può essere uno specifico «dialetto» Python è un linguaggio di programmazione di alto livello interpretato, interattivo, orientato agli oggetti.

  • la shell , che si usa in modalità interattiva o “a riga di comando”, è utile per cominciare a lavorare con Python e per verificare immediatamente il risultato di un’operazione o gli effetti di un comando.
  • l’ editor , che si usa in modalità script , consente la scrittura di un programma in Python che deve essere salvato come file per essere eseguito. IDLE è l’ambiente di programmazione di Python, che include due diverse componenti: Simbolo Operazione Descrizione Es
  • Somma Sommare numeri e concatenare stringhe 'cassa'+'forte' =cassaforte
  • Sottrazione
  • Moltiplicazione Moltiplicare numeri e ripetere stringhe 'Sara'*2= SaraSara ** Esponente / Divisione Divide due numeri e restituisce il risultato come numero in virgola mobile

// Divisione intera Divide due numeri e restituisce il risultato come intero senza resto

% Modulo (resto) Restituisce solo il resto della divisione 11%2= Espressioni matematiche: PEMDAS (Parentesi, Elevamento a potenza, Moltiplicazione, Divisione, Addizione, Sottrazione) N.B.: i numeri in Python vengono sempre espressi con la notazione anglosassone. Se sono operazioni dello stello livello si eseguono da sx verso dx, tranne l'elevamento a potenza da dx verso sx. Differenza tra 232=512 e (23)2= 64

  • Help - > ci dà info sul dato che ci interessa
  • Print - > mostra qualcosa Funzioni built-in (predefinite):
  • Apici : 'pippo'
  • Virgolette : "pippo" Una stringa in Python può essere racchiusa tra:

Lezione 9, 10

giovedì 2 aprile 2020 16:

  • Virgolette : "pippo"
  • Triple virgolette e # per aggiungere commenti Possono essere usati indifferentemente, fatti salvi in cui la stringa contenga a sua volta apici o virgolette, per cui deve essere usato l’altro carattere per delimitarla. I codici di escape sono formati da un backslash () e altri caratteri, posizionati all’interno di una stringa; non vengono visualizzati nell’output ma danno comandi specifici.
  • \n serve per mandare il testo a capo
  • \t allinea alla tabulazione
  • ** manda a capo il codice Se vogliamo mettere un separatore, va scritto alla fine dopo una virgola es. print(x,y, sep="-") - > x-y Una variabile è un nome che rappresenta un valore nella memoria del computer. Per creare una variabile e fare in modo che faccia riferimento a un dato si utilizza un’istruzione di assegnazione; il segno uguale (=) prende il nome di operatore di assegnazione. Il nome della variabile è sempre a sinistra, mentre a destra deve esserci il valore assegnato.
  • devono iniziare con una lettera o con il carattere underscore(_), a cui far seguire lettere, numeri o _
  • non possono contenere spazio caratteri speciali, per esempio @, &, $, €, § I nomi delle variabili: Una delle forme più comuni di riassegnazione è l’ aggiornamento , dove il nuovo valore della variabile dipende da quello precedente. Es: a = 1; a = a+1. Python permette l’ assegnazione multipla di variabili (detta anche spacchettamento o unpacking), che permette di agire su più variabili direttamente sulla stessa riga di codice. Es. a, b, c = 1,2,3 --> a=1 ; b=2 ; c= Type (): sapere a quale tipo di dato l'argomento appartiene Tipo di dato Nome Descrizione Esempi Intero int Numero intero 112, 0, - 158 Reale float Numero a virgola mobile 2.14, - 0. Booleano bool Vero o falso True, False Stringhe str testo 'Python' Int (): converte in numero intero - > non arrotonda la parte decimale, ma la tronca! Es. int(9.999)= Input (): converte qualsiasi valore in stringa Es. format(1000/7,',.2f') Format (numero da formattare, 'specificatore di formato'): permette di formattare i numeri, restituendo una stringa.
  • f specifica che il numero che vogliamo ottenere è a virgola mobile(float)
  • .2 indica che si desidera arrotondare al secondo decimale
  • la “ , ”(virgola) aggiunge il separatore delle migliaia
  • il simbolo % formatta in percentuale Per passare da shell ad editor: file - > new file Per aprire un file: tasto destro/ Edit with IDLE / Edit with IDLE 3. Per eseguire un file: F5 oppure il comando Run/ RunModule Funzioni matematiche: sum((1,2)) somma 3 pow(2,3) Elevamento a potenza 8 abs(-7) Valore assoluto 7 round(3.456, 2) Arrotonda un float alla cifra decimale del secondo parametro 3.

struttura sequenziale : un insieme di istruzioni che vengono eseguite nell’ordine in cui compaiono.

Istruzioni.. ▪ If condizione mediante booleani: ○ Struttura decisionale semplice (ad alternativa singola) - > eseguisci solo se è vera Istruzioni.. ▪ If condizione : Istruzioni… ▪ Else : Esecuzione alternativa(o ad alternativa doppia) - > eseguisci se è vera; eseguisci altro se è falsa

Istruzioni.. ▪ If condizione1 : Istruzioni.. If condizione2: Istruzioni.. Else: ▪ Else : ○ Condizioni in serie - > condizioni nidificate Istruzioni.. ▪ If condizione1: Istruzioni ▪ Elif condizione2: ○ Oppure!!! struttura decisionale : si esegue una determinata azione solo al verificarsi di condizioni specifiche (es. SE in Excel).

L’ordine in cui vengono eseguite le istruzioni di un programma dipende dallo schema logico definito, chiamato struttura. Operatori di confronto: == Uguale a 4 ==4 True; 4==73 False != Diverso da 4 !=73 True; 4!=4 False Operatori logici: and Restituisce True se tutti gli argomenti sono veri, altrimenti restituisce False x<y and x==y or Restituisce True se almeno uno degli argomenti è vero, altrimenti restituisce False x<y or x==y not Restituisce True se l’argomento è falso, restituisce False se l’argomento è vero not (x<y) If + in - > valore compreso in una lista di valori […] es. if risposta in [si, Sì, SI, yes, ..] Sintassi: range(start, stop [, step] ) If + range - > valore compreso tra un intervallo di valori range(i, j) produce: i, i+1, i+2, ..., j- 1 La funzione range restituisce un oggetto che produce una sequenza di numeri interi, compresi tra il valore minimo start(incluso) e il valore massimo stop(escluso), con incrementi corrispondenti a step. range(4) produce: 0, 1, 2, 3 Quando start viene omesso, il valore minimo predefinito è 0 Quando step viene specificato indica l’incremento (o decremento). Es. for x in range (5,0, - 1): print(x) ----> 5 4 3 2 1

Lezione 11

mercoledì 8 aprile 2020 11:

Costrutti iterativi (anche cicli o loop): Si dice iterazione la capacità di eseguire ripetutamente uno stesso blocco di istruzioni. x = 1 Print(x) X = x + While x <= 10: Mettere la variabile fuori dal ciclo, e poi incrementarla/decrementarla/fare una domanda!!! Es. vogliamo vedere tutti i numeri pari da 8 a 24 sulla base di input forniti dall'utente ▪ controllati da una condizione: while aggiungere un if che contenga la condizione di uscita, e poi break while True - > se vogliamo che il ciclo venga eseguito all'infinito! ▪ quelli controllati da un contatore: for - > viene ripetuto per un numero predefinito di volte Esistono due categorie di cicli:

Funzioni personalizzate : Oltre a svolgere calcoli o compiere azioni, le funzioni sono importanti perché favoriscono la creazione di un programma modulare. Una funzione ha due componenti: intestazione e corpo. Per far eseguire una nuova funzione, bisogna chiamarla: nome_funzione()

  • spiegano a Python che alla funzione, quando sarà chiamata, dovranno essere passati dei dati
  • consentono di specificare come devono essere utilizzati i dati per eseguire le operazioni previste dalla funzione. I parametri specificano quali argomenti saranno passati alla funzione; i nomi sono separati da una virgola. I parametri: I parametri sono variabili che servono nel momento della creazione della funzione; gli argomenti sono i reali dati passati e rielaborati nella funzione. I parametri possono essere obbligatori o opzionali : quando si definisce una funzione, è necessario specificare sempre prima tutti i parametri obbligatori, poi quelli opzionali. Per ciascun parametro opzionale deve essere indicato anche il valore predefinito che dovrà assumere se non dovesse essere specificato nella chiamata della funzione. def funzione(par1, par2, par_opzionale=valore_predefinito):
  1. per posizione (nello stesso ordine in cui sono stati definiti i parametri)
  2. argomenti denominati: utilizzare il nome assegnato es. par2=5; par1=
  3. utilizzare prima gli argomenti per posizione e poi gli argomenti denominati. Quando una funzione con parametri viene chiamata, è necessario specificare gli argomenti: ○ Termina con return esegue un compito specifico e, quando termina, restituisce un valore all’istruzione che l’ha chiamata (ovvero memorizza un risultato).
  • Produttive : ○ Non termina con return ○ non restituisce alcun valore all’istruzione che la ha chiamata
  • Void : Le funzioni possono essere: ○ Create all'interno della funzione è accessibile solo all’interno del suo ambito (scope), cioè nella parte del programma in cui è
  • Locale : Variabili:

Lezione 12

giovedì 23 aprile 2020 15:

è accessibile solo all’interno del suo ambito (scope), cioè nella parte del programma in cui è stata definita, come per esempio una funzione

Servono per facilitare i calcoli, memorizzare temporaneamente un valore, rendere più leggibile il codice

○ All'esterno della funzione ○ può essere raggiunta da qualsiasi istruzione di un programma

  • Globale:

Stringa di documentazione (docstring):

La stringa di documentazione serve per inserire qualche riga di spiegazione o commento e consiste in una stringa di testo su una o più righe racchiuse tra triple virgolette, come prima istruzione subito dopo l’intestazione nella definizione di una funzione. Il contenuto della stringa di documentazione è visibile quando si legge il codice, quando si utilizza la funzione help oppure nel call tip. Esempi: Le eccezioni: Un’eccezione (exception) è un evento scatenato da un errore di varia natura: se prevediamo che si possa verificare un'eccezione, in Python è possibile scrivere del codice per gestirla (exception handling). ○ Il messaggio di errore (traceback) di solito inizia con SyntaxError

  • Errori di sintassi : c’è un errore nella scrittura del codice Il messaggio di errore (solo nella shell) indica il codice che genera l’errore e ne specifica la causa
  • Errori di runtime : c’è un errore nel codice, anche se la sintassi è corretta ○ Derivano da un’errata progettazione del codice (sono chiamati anche errori di logica) Sono difficili da individuare: richiedono una rilettura passo a passo del codice, o l’uso di strumenti di debugging più sofisticati (debugger)
  • Errori semantici : il programma viene eseguito senza produrre messaggi di errore, ma i risultati non sono quelli corretti (sono incoerenti o imprevisti) Gli errori possono essere suddivisi in tre categorie: Gestire gli errori significa prevenirli, istruendo il programma su cosa fare nel caso in cui si dovessero verificare. L’istruzione più comune è try… except che consente di specificare come devono essere gestiti gli errori. Oltre a try ed except, si possono aggiungere anche except specifici. Struttura: Istruzione che può causare l'errore Try: Cosa fare in caso di errore IndexError Except:

Sequenze : Le sequenze sono oggetti ("contenitori") che contengono diversi dati, memorizzati uno dopo l’altro. Esistono diversi tipi di sequenza, tra cui le stringhe, le liste e le tuple.

  • sono iterabili (scomponibili con un ciclo)
  • possono essere mutabili (liste) o immutabili (stringhe e tuple)
  • la posizione di ciascun valore è identificata da un numero ("indice")
  • utilizzano numerose funzioni, metodi e operazioni che consentono di accedere e lavorare sui dati 1. Stringhe Anche se hanno caratteristiche diverse, le sequenze: Una stringa è una sequenza di caratteri che può contenere caratteri alfanumerici e simboli. Le stringhe sono immutabili, quindi non è possibile modificare una stringa esistente: l’unica possibilità è quella di creare una nuova stringa, variante dell’originale. 2. Liste ['Bocconi', 'IULM', 'Bicocca’] [156, 'Via Roma', 'Milano’, 15.36] voti= [19, 30, 24, 28] Una lista è una raccolta di dati (detti elementi ) di qualsiasi tipo, racchiusi tra parentesi quadre e separati da virgole; le liste sono assegnate a variabili. Una lista priva di elementi è chiamata lista vuota: [ ] Una lista può essere nidificata all’interno di un’altra lista: ['New York', 9.5, 2, [10, 20]] Per creare una lista è anche possibile utilizzare la funzione list. 3. Tuple Una tupla è una sequenza molto simile a una lista. Gli elementi di una tupla possono essere di qualsiasi tipo, sono separati da virgole e racchiusi tra parentesi tonde: t = ('b','o','c','c','o','n','i') Per creare una tupla è possibile usare la funzione built-in tuple , che funziona come list. Le tuple sono immutabili, quindi non è possibile modificare una tupla esistente: l’unica possibilità è quella di creare una nuova tupla, variante dell’originale. Operatore e funzioni delle sequenze : len(seq) usata nei cicli con range(0,len(seq)+1) L'indicizzazione (indexing) La posizione di ogni elemento all’interno di una sequenza è identificata da un numero intero,

Lezione 13

mercoledì 29 aprile 2020 11:

La posizione di ogni elemento all’interno di una sequenza è identificata da un numero intero, chiamato indice. L’indicizzazione consente di accedere ai singoli elementi di una sequenza , utilizzando la seguente sintassi: sequenza[indice] es. pag. Per cambiare elementi nelle liste, si può fare sequenza[indice]= nuovo elemento !!! L’indice del primo elemento a sinistra è pari a 0, mentre l’indice dell’ultimo elemento della sequenza è pari al numero di elementi della sequenza meno 1. È possibile utilizzare indici con valori negativi: in questo caso il conteggio parte dalla fine della sequenza. Lo slicing Un segmento o porzione di sequenza è chiamato slice. Lo slicing consente di selezionare più di un elemento di una sequenza utilizzando la sintassi: sequenza[indice_iniziale:indice_finale:step] L'operazione restituisce tutti gli elementi della sequenza tra quello con indice_iniziale (compreso) e quello con indice_finale (escluso). Step è opzionale e indica quali indici successivi selezionare dopo il primo. Quando indice_iniziale è omesso lo slicing seleziona gli elementi a partire dal primo; quando indice_finale è omesso lo slicing seleziona gli elementi fino all’ultimo. Omettendo entrambi viene selezionata l’intera sequenza. I metodi Stringhe, liste e tuple hanno delle funzioni speciali, chiamate metodi. La sintassi delle funzioni prevede che la sequenza o il nome della variabile in cui è memorizzata sia uno degli argomenti della funzione. La sintassi dei metodi prevede che sia sempre specificato anche il nome della sequenza, utilizzando la seguente sintassi: sequenza. metodo(argomenti). Metodi delle stringhe:

immutabile. E' possibile utilizzare la funzione dict , che crea un nuovo dizionario privo di elementi. nome_dizionario= {chiave1: valore1, chiave2: valore2,…} Gli elementi di un dizionario non sono memorizzati in un ordine particolare, non è quindi possibile utilizzare l’indicizzazione come nelle sequenze. Per estrarre un valore da un dizionario si utilizza la chiave associata al valore: nome_dizionario[chiave] Per aggiungere coppie chiave-valore: nome_dizionario[chiave] = valore

  • in permette di verificare la presenza di una chiave (non un valore!)
  • del nome['chiave'] : rimuove una coppia chiave-valore da un dizionario
  • len() : restituisce il numero di coppie chiave-valore Operazioni: Metodi dei dizionari:

Le azioni che ogni variabile può fare dipendono dal tipo di dato a cui appartiene; nei linguaggi orientati agli oggetti, gli elementi che possono rappresentare un valore o eseguire azioni sono definiti come oggetti (es. variabili). Ogni tipo di variabile ha caratteristiche diverse sia nei valori che può assumere sia nelle azioni che si possono eseguire con essa; perciò tutte le variabili di un certo tipo possono eseguire le stesse azioni. L'insieme delle caratteristiche che può assumere una determinato tipo di variabile è definito una classe. Una classe, oltre a essere definita da un nome, è definita dagli attributi e dai metodi. il valore di una stringa è un suo attributo → string ha l’attributo «valore» Gli attributi sono le caratteristiche della classe: upper → è un metodo della classe string append → è un metodo della classe list I metodi sono le «azioni» che gli oggetti di una classe possono compiere: num= 125 → num è un’istanza della classe int a= "Hello World!" → a è un’istanza della classe string Riepilogando: Quando si inizializza una variabile viene creato uno specifico oggetto di una specifica classe che si definisce istanza : Oggetto : è il termine astratto utilizzato per «elementi» caratterizzati da attributi e metodi Classe : è la descrizione astratta di un oggetto. Rappresenta l'insieme di oggetti (la «famiglia») di un certo tipo. Una classe è costituita da attributi e metodi. Istanza : indica un particolare oggetto «reale» di una classe Per creare una classe è necessario assegnarle un nome e definirne i suoi attributi e/o metodi. Tutte le istanze di una classe ereditano attributi e metodi della classe a cui appartengono. class nome_classe(): Attributo Attributo … Def init(self, parametri): Metodo della classe … Def str(self): init Gli attributi consentono di personalizzare i singoli oggetti della classe; sono solitamente definiti con uno speciale metodo definito metodo costruttore. È il metodo che Python cerca nella classe quando deve creare un oggetto; può includere la definizione degli attributi e di qualsiasi altra caratteristica e opzione necessaria agli oggetti della classe.

Lezione 14

mercoledì 6 maggio 2020 10:

Per aprire un file in Python in maniera sequenziale si utilizza la funzione open(file, mode) , che crea un oggetto file a cui viene associato lo specifico file che vogliamo aprire; dunque apre un file e restituisce un oggetto di tipo file. Se il file non può essere aperto, viene sollevato un errore. L’apertura di un file comporta la creazione di una variabile a cui associare l’oggetto. Mode: Per leggere il file: il metodo. read legge il contenuto dell’intero file;. readline() legge una sola riga, mentre .readlines ()legge tutto dal puntatore fino alla fine. Scrittura di un file di testo: \n serve per concludere una riga nel file di testo f = open("studenti.txt", "w") f.write("Anna Corti\n") f.write("Salvo Brandi\n") f.write("Nina Ferdi\n") f.close() I moduli In Python, le funzionalità aggiuntive vengono fornite tramite i moduli : si tratta di file che fungono da contenitori e raggruppano funzionalità relazionate tra loro e possono essere organizzati in librerie o «package».

  • Libreria standard= presenti nella installazione di base di Python (già presenti nella RAM)
  • Creati dall'utente
  • Sviluppati da terze parti= da installare nell'HD del PC I moduli possono essere: Ipotizzando di avere già installato un determinato modulo, per poterlo utilizzare è necessario importarlo nella sessione in esecuzione del programma, sennò appare un messaggio di errore NameError. Il comando import permette di importare anche più moduli contemporaneamente:

Il comando import permette di importare anche più moduli contemporaneamente: N.B.: l’importazione vale solo per la sessione corrente! i. Radice quadrata a. math.sqrt(num) i. Arrotonda x per intero b. Math.ceil(x) i. Arrotonda x per difetto c. Math.floor(x) i. Eleva a potenza d. Math.pow(x)

  1. Math = funzioni matematiche i. Restituisce un numero casuale decimale tra 0 e 1 (1 escluso) a. random.random() i. Restituisce un intero casuale tra min e max (estremi compresi) b. random.randint(min, max) i. Restituisce un elemento casuale da una lista c. random.choice([list]) i. Restituisce un intero casuale tra min e max (max esluso) con passo pari a step d. random.randrange(min,max,step)
  2. Random = per generare numeri casuali i. Restituisce una lista di nomi dei file e delle cartelle presenti nella cartella indicata a. os.listdir([path]) i. Restituisce il percorso completo di un file in una cartella specificata b. os.path.join(path,nomefile) i. Restituisce True se il percorso fornito identifica un file, False altrimenti c. os.path.isfile(path)
  3. Os = per interagire con il Sistema Operativo. i. Richiede al browser aprire l’URL **a. webbrowser.open(URL)
  4. Webbrowser** = permette di aprire un URL nel browser Moduli standard: Moduli personalizzati: PyPI-the Python Package Index è il sito ufficiale che raccoglie e categorizza la maggior parte dei moduli disponibili
  • UsefulModules : una lista dei moduli Python più popolari categorizzati per argomento Sono moduli specialistici, particolarmente innovativi o destinati ad audience di nicchia, devono essere installati da ciascun utente. Si trovano in: Per usare un modulo personalizzato è necessario scaricarlo dal sito e installarlo seguendo le istruzioni, oppure, più semplicemente, scriviamo cmd nel box di ricerca del menu Windows e nella riga di comando, scriviamo pip install modulename.