Python PEP8

Python
Python PEP8

Buon pomeriggio parleremo del pep 8. (clicca qui ).

La prima volta che si inizia a programmare i professori iniziano a dirti come usare i nomi delle variabili e parentesi tonde etc.
Mi ricordo che quando la mia professoressa di informatica ci spiego il linguaggio C++, ci fece una testa sulle regole.
Oggi la ricordo in maniera dolce questa cosa perché in effetti senza regola non arrivi da nessuna parte. Nella programmazione ancora peggio che nella vita.

In C++ avevo un codice del genere ad esempio.

Un po di storia…

Non guardate le sintassi che non mi frega nulla è per spiegarvi il modo di procedere. 😉

Void main ()
{
cout<<” Ciao questo è un messaggio di output” ;
}

Questo è il modo più corretto per scrivere una funziona main.. e Perchè ?
Dopo che abbiamo scritto void main () ovvero una funzione che non ritorna niente, specifichiamo delle istruzioni all’interno.
Queste istruzioni devono essere racchiuse tra parentesi graffe.
Le parentesi graffa aperta { puoi scriverla anche con alt+123 e invece alt+125 la chiusa }.
Adesso siamo abituati a scrivere con alt gr + shift + [ (parentesi quadra aperta) , stessa cosa per quella chiusa.


Avete notato che le parentesi graffe sono allineate con lo stesso numero di caratteri?
Questa regola si chiama indentazione.

L’indentazione o rientranza o ancora indenta, serve a leggere il codice fluida dal programmatore e quindi di facile revisione.
Questa è una regola che se non applicata il compilatore C++ esegue il codice lo stesso.
Nella sintassi Assembler questo non esiste in quanto le istruzioni sono al massimo di 10 caratteri massimo.


Nei linguaggi ad alto livello abbiamo il problema della legibilità e manteniilità del codice. La differenza tra un linguaggio come Assembler e C++ principalmente è la velocità. Nel C++ rispetto all’Assembler hai più velocità dal punto di vista del codice scritto. I codici scritti con il C++ sotto il cofano hanno l’Assembler per quel determinato compito.

Ritorniamo a Python

Python è un linguaggio ad alto livello il che significa che esiste un’astrazione più facile per noi umani alla realtà di tutti i giorni.
In Python 3 scriviamo un messaggio di console con una semplice riga.

print ( " Ciao questo è un messaggio di output !" )

Questo è lo stesso identico programma che state vedendo sopra con il C++.
In Python 3 non si ha la necessità di usare le parentesi graffe in quanto viene interpretato un carattere di nuova linea ( invio se preferite ).
Questa è una piccolezza ma pensate al povero programmatore che deve guardare codice inutilmente lungo per questo motivo. Moltissimi programmi o moduli in Python sono scritti con il C, C++. Seguendo una ipotetica scala sono così distribuiti.

Assembler ( codice macchina )
C ( derivazione Assembler )
C++ ( derivazione mista tra assembler e C)
Python ( deriva da C, certe volte pure dall’assembler vedi Cython )

Puoi scrivere un sistema operativo con il Python? La risposta è no perchè il Python non ti fa accedere a determinate aree di scrittura del disco da lui designate.

Qui in seguito scriverò le convenzioni del PEP 8 per Python 3.

Indentation
Tabs or Spaces?
Maximum Line Length
Should a Line Break Before or After a Binary Operator?
Blank Lines
Source File Encoding
Imports
Module Level Dunder Names
Whitespace in Expressions and Statements
When to Use Trailing Commas
Comments
Documentation Strings
Class Names
Type Variable Names
Constants
etc..

Leggendo la pagina sopracitata ti abitua a scrivere un buon codice.
Il papà di Linux in merito a questo tema ha scritto :

Bad programmers worry about the code
Good programmers worry about Data Structure and relationships
[ citazione : Linus Torwalds ]

In altre parole potete scrivere un codice perfetto dal punto di vista sintattico e funzionante ma… senza delle buone relazioni nella struttura dei dati non è un programma di Ottima qualità.

La prima cosa che dovete fare quando scrivete programmi è quella di controllare la struttura dati. Oggi giorno la “struttura dati” non è solo quella interna al programma ma anche a livello di database.
Vuoi approfondire? Clicca qui.