Konventionen und PEP 8

Grundlagen der Softwareentwicklung in Python

Adam Spannbauer

Machine Learning Engineer at Eastman

Was sind Konventionen?

Fauststoß

Verbeugende Person

Handschlag

Python Logo

Grundlagen der Softwareentwicklung in Python

Einführung in PEP 8

PEP 8

"Code wird viel öfter gelesen als geschrieben"

Grundlagen der Softwareentwicklung in Python

PEP 8 Verletzungen

#unsere Daten definieren
my_dict ={
    'a'  : 10,
'b': 3,
    'c'  :   4,
             'd': 7}
#benötigtes Paket importieren
import numpy as np
#Hilfsfunktion
def DictToArray(d):
    """Wandelt Dictionary-Werte in ein Numpy-Array um"""
    #Werte extrahieren und umwandeln
              x=np.array(d.values())
              return x
print(DictToArray(my_dict))
array([10,  4,  3,  7])
Grundlagen der Softwareentwicklung in Python

PEP 8 befolgen

# Benötigtes Paket importieren
import numpy as np

# Unsere Daten definieren
my_dict = {'a': 10, 'b': 3, 'c': 4, 'd': 7}


# Hilfsfunktion
def dict_to_array(d):
    """Wandelt Dictionary-Werte in ein Numpy-Array um"""
    # Werte extrahieren und umwandeln
    x = np.array(d.values())
    return x


print(dict_to_array(my_dict))
array([10,  4,  3,  7])
Grundlagen der Softwareentwicklung in Python

PEP 8 Werkzeuge

PEP 8 mit PyCharm

pycodestyle Paket

Grundlagen der Softwareentwicklung in Python

pycodestyle verwenden

datacamp@server:~$ pip install pycodestyle
datacamp@server:~$ pycodestyle dict_to_array.py
dict_to_array.py:5:9: E203 Leerzeichen vor ':'
dict_to_array.py:6:14: E131 Fortsetzungslinie nicht ausgerichtet für hängenden Einzug
dict_to_array.py:8:1: E265 Blockkommentar sollte mit '# ' beginnen
dict_to_array.py:9:1: E402 Modulimport nicht am Anfang der Datei
dict_to_array.py:11:1: E302 Erwartet 2 Leerzeilen, gefunden 0
dict_to_array.py:13:15: E111 Einrückung ist kein Vielfaches von vier
Grundlagen der Softwareentwicklung in Python

Ausgabe von pycodestyle

pycodestyle Fehlerausgabe

Grundlagen der Softwareentwicklung in Python

Lass uns üben!

Grundlagen der Softwareentwicklung in Python

Preparing Video For Download...