PEP 8: una guida allo stile di codifica Python

Per Python, PEP 8 è diventata la guida di stile seguita dalla maggior parte dei progetti; promuove uno stile di codifica molto leggibile e piacevole per gli occhi. Ogni sviluppatore Python dovrebbe leggerlo prima o poi; Ecco i punti più importanti appresi per te:

1. Usa 4 spazi senza tabulazioni.
Esempi:

 # Allineato con il delimitatore di apertura. crescere = nome_funzione (variabile_uno, variabile_due, variabile_tre, variabile_quattro) 
 # La prima riga non contiene argomenti. Dalla seconda riga in poi # più rientro incluso per distinguerlo dal # resto. def nome_funzione (variabile_uno, variabile_due, variabile_tre, variabile_quattro): print (variabile_uno) 

La regola dei 4 spazi non è sempre richiesta e può essere sovrascritta per la riga di continuazione.

2. Usa stringhe doc: in Python puoi usare stringhe doc sia a riga singola che a più righe. Tuttavia, un commento a riga singola viene inserito su una riga, in entrambi i casi vengono utilizzate virgolette triple. Sono usati per definire un programma specifico o definire una funzione specifica.
Esempio:

 def exam(): "" "Questa è una docstring a riga singola" "" "" "Questo è un commento su più righe" "" 

3. Avvolgi le righe in modo che non superino i 79 caratteri: La libreria standard di Python è conservativa e richiede un limite di riga di 79 caratteri. Le stringhe possono essere racchiuse tra parentesi, parentesi e parentesi. Dovrebbero essere usati al posto dei backslash.
Esempio:

 con open (’/ path / from / where / you / want / to / read / file’) as file_one, open (’ / path / where / you / want / il / file / per / essere / scritto’, ’w’) come file_two: file_two.write (file_one.read ()) 

4. L’uso di commenti regolari e aggiornati è prezioso per sia i programmatori che gli utenti . Esistono anche diversi tipi e condizioni che, se osservate, possono essere di grande aiuto in termini di programmi e utenti. I commenti dovrebbero formare frasi complete. Se il commento è una frase completa, la sua prima parola deve iniziare con una lettera maiuscola, a meno che non sia un identificatore che inizia con una lettera minuscola. In brevi commenti, il punto alla fine può essere omesso. I commenti in blocco hanno più di un paragrafo e ogni frase deve terminare con un punto. I commenti in blocco e i commenti in linea possono essere scritti seguiti da un singolo "#".
Un esempio di commenti in linea:

 geek = geek + 1 # Incremento 

5. Usare le virgole: questo è facoltativo, fatta eccezione per la creazione una tupla.
Esempio:

 tup = ("geek") 

5. Usa le codifiche standard Python UTF-8 o ASCII, e nessuna codifica di fantasia se destinata a un ambiente internazionale.

6. Usa gli spazi intorno agli operatori e dopo le virgole, ma non tra parentesi:

 a = f (1, 2) + g (3, 4 ) 

7. Convenzioni di denominazione: esistono diverse convenzioni di denominazione che dovrebbero essere seguite per rendere il programma meno complesso e più leggibile. Allo stesso tempo, le convenzioni di denominazione in Python sono un po’ confuse, ma qui ci sono alcune convenzioni che possono essere facilmente seguite.
Esiste un principio generale per cui i nomi visibili all’utente come parti pubbliche di un’API devono seguire convenzioni che riflettono l’utilizzo, non l’implementazione.
Ecco alcune altre convenzioni di denominazione:

 b (singola lettera minuscola) B (singola lettera maiuscola) minuscolo minuscolo_with_underscores MAIUSCOLA MAIUSCOLA_WITH_UNDERSCORES CapitalizedWords (o CamelCase). Questo è anche noto come StudlyCaps. Nota: quando utilizzi le abbreviazioni in CapWords, metti in maiuscolo tutte le lettere dell’abbreviazione. Quindi HTTPServerError è migliore di HttpServerError. mixedCase (differisce da CapitalizedWords per il carattere iniziale minuscolo!) Capitalized_Words_With_Underscores 

Oltre a questi, vengono presi in considerazione anche più caratteri di sottolineatura iniziali o finali.
Esempi:
single_leading_underscore: debole indicatore di "uso interno". Ad esempio, gli oggetti il cui nome inizia con un trattino basso non vengono importati da M import *.

single_trailing_underscore_: viene utilizzato per evitare conflitti con la parola chiave Python.
Esempio:

 Tkinter.Toplevel (master, class_ = ’ClassName’) 

__double_leading_underscore: durante la denominazione l’attributo class provoca la modifica del nome.
(all’interno della classe FooBar, __boo diventa _FooBar__boo;).

__double_leading_and_trailing_underscore__: oggetti o attributi "magici" che risiedono in spazi dei nomi gestiti dall’utente. Ad esempio, __init__, __import__ o __file__ . Usali solo come documentario.

8. Caratteri che non devono essere utilizzati per gli identificatori: "l" (el minuscolo), "O" (oh maiuscolo) o "I" (occhio maiuscolo) come nomi di variabili dello stesso carattere, poiché sono cifre simili uno e zero.

9. Non utilizzare caratteri non ASCII negli identificatori se è probabile che le persone che parlano un’altra lingua leggano o supportino il codice solo in minima parte.

10. Assegna un nome alle classi e alle funzioni in modo coerente
. La convenzione prevede l’utilizzo di CamelCase per le classi e minuscolo_con_sottolineatura per funzioni e metodi. Usa sempre self come nome per il primo argomento del metodo.

11. Considerando che la denominazione delle funzioni del metodo usa sempre self per il primo argomento per esempio metodi e cls per primo argomento per i metodi di classe. Se il nome dell’argomento della funzione corrisponde alle parole riservate, può essere scritto con una virgola. Ad esempio, class_

Puoi fare riferimento a questo semplice programma per imparare a scrivere codice in chiaro:

# Programma Python per trovare fattoriale numero fornito dall’utente.


# cambia il valore per un altro risultato

num = 7


# decommenta per ottenere l’input dell’utente
# num = int (input (& quot; Inserisci un numero: & quot;))

fattoriale = 1


# controlla se il numero è negativo, positivo o zero

if num " 0 :

print ( "Spiacenti, il fattoriale non esiste per i numeri negativi" ) < /p>

elif num = = 0 :

print ( "Il fattoriale di 0 è 1" )

else :

per i in intervallo ( 1 , num < classe codice = "parola chiave"> + 1 ):

fattoriale = fattoriale * i

print ( " Il fattoriale di " , num, "is" , fattoriale)

Output:

 Il il fattoriale di 7 è 5040 

Questo articolo è stato fornito da Chinma Lenka . Se sei come Python.Engineering e desideri contribuire, puoi anche scrivere un articolo utilizzando contribuire.python.engineering o pubblicando un articolo contribuire @ python.engineering. Vedi il mio articolo che appare sulla homepage di Python.Engineering e aiuta altri geek.

Pubblica commenti se trovi qualcosa che non va o se desideri condividere maggiori informazioni sull’argomento discusso sopra.

Ci auguriamo che questo articolo ti abbia aiutato a risolvere il problema. Oltre a PEP 8: una guida allo stile di codifica Python, controlla altri argomenti relativi a Python functions.

Vuoi eccellere in Python? Consulta la nostra recensione dei migliori corsi online Python 2023. Se sei interessato alla scienza dei dati, controlla anche come imparare a programmare in R.

A proposito, questo materiale è disponibile anche in altre lingue:



Walter Schteiner

Vigrinia | 2023-02-07

Grazie per le spiegazioni! Sono rimasto bloccato con PEP 8: una guida allo stile di codifica Python per alcune ore, finalmente l'ho fatto 🤗. Spero solo che non emerga più

Ken Jackson

New York | 2023-02-07

Python functions è tutto un po' confuso 😭 PEP 8: una guida allo stile di codifica Python non è l'unico problema che ho riscontrato. Spero solo che non emerga più

Xu Robinson

Paris | 2023-02-07

Mi stavo preparando per il mio colloquio di codifica, grazie per aver chiarito questo punto - PEP 8: una guida allo stile di codifica Python in Python non è il più semplice. Controllato ieri, funziona!

Shop

Gifts for programmers

Learn programming in R: courses

$FREE
Gifts for programmers

Best Python online courses for 2022

$FREE
Gifts for programmers

Best laptop for Fortnite

$399+
Gifts for programmers

Best laptop for Excel

$
Gifts for programmers

Best laptop for Solidworks

$399+
Gifts for programmers

Best laptop for Roblox

$399+
Gifts for programmers

Best computer for crypto mining

$499+
Gifts for programmers

Best laptop for Sims 4

$

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

1947 answers

PythonStackOverflow

Check if one list is a subset of another in Python

1173 answers

PythonStackOverflow

How to specify multiple return types using type-hints

1002 answers

PythonStackOverflow

Printing words vertically in Python

909 answers

PythonStackOverflow

Python Extract words from a given string

798 answers

PythonStackOverflow

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

606 answers

PythonStackOverflow

Python os.path.join () method

384 answers

PythonStackOverflow

Flake8: Ignore specific warning for entire file

360 answers

News


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically