Astrazione in Python

Sommario
L'astrazione nello sviluppo del software è piuttosto importante in quanto ci consente di definire pezzi di codice che funzionano da soli con complessità condivisa, molte volte possiamo usare funzioni astratte che si applicano a così tanti casi che possiamo usarle quando vogliamo.
Se vediamo i programmi in cui potremmo aver scritto Pitone Seguendo i tutorial, vediamo che sono piccoli programmi con un massimo di 15-20 righe, tuttavia se volessimo scrivere un programma molto più grande sarebbe un grosso problema se non gestiamo l'astrazione. Ricorda che la virtù del programmatore è che non fa lavori inutili, cioè non fa la stessa cosa due volte o si ripete.
Vediamo il codice seguente, calcola i primi 10 numeri di a Sequenza di Fibonacci:
 fibs = [0, 1] per i nell'intervallo (8): fibs.append (fibs [-2] + fibs [-1]) 

Questo si traduce effettivamente nei primi 10 numeri

Ora cosa succede se vogliamo che l'utente definisca che invece di essere 10 numeri è una quantità dinamica, allora ricondizioniamo il nostro codice come segue:
 fibs = [0, 1] num = input ('Quanti numeri di Fibonacci vuoi?') for i nell'intervallo (num-2): fibs.append (fibs [-2] + fibs [-1]) print fibs 

Finora tutto sembra normale, non vediamo alcun problema tecnico, tuttavia c'è un problema di filosofia di programmazione, ad esempio se vogliamo farlo in più parti di un programma dobbiamo scrivere tutte queste righe più e più volte, questo sarebbe quello che chiamiamo lavoro non necessario. Quello che chiamiamo astrazione è un codice più breve in cui ciò che accade dietro è isolato, realizzato in modo tale che funzioni ovunque, che ci preoccupiamo solo di ottenere ciò che è necessario per le nostre condizioni, un modo più astratto di vedere i codici precedenti sarebbe questo:
 num = input ("Quanti numeri vuoi?") print fibs (num) 

Notiamo che è totalmente diretto, chiediamo in input quanti numeri vuole l'utente, quindi stampiamo un risultato, visto che succede che abbiamo definito una funzione fibs da qualche altra parte che ci permette di invocarla quando vogliamo, evitando la necessità per fare il ciclo di calcolo più e più volte, rendendo il nostro programma più leggibile e meno complesso.
La leggibilità è tutto quando stiamo sviluppando un programma di grandi dimensioni, anche la gestione delle risorse di sistema e l'efficienza sono importanti, ma come migliorare un programma se non lo capiamo durante la lettura, ad esempio questo codice:
 page = download_page () freqs = compute_frequencies (page) for word, freq in freqs: print word, freq 

Leggendolo sappiamo cosa fa e cosa dovrebbe restituire, questa è astrazione allo stato più puro, come funzionano i metodi e le funzioni a questo punto non ci interessa, ora se l'efficienza e la gestione delle risorse diventa problematica, si lavora semplicemente sul funzione e il programma non sarebbe interessato, quindi lavoreremmo solo una volta.
Questo è tutto per questo tutorial, abbiamo ancora materiale per continuare a pensare e migliorare la nostra mentalità da programmatore, in modo da poter astrarre il nostro codice e lavorare in modo molto più efficiente.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave