ich bin relativ neu, was Python angeht und gerade dabei, alle möglichen Sortieralgorithmen als Übung in Python umzusetzen. Hierzu erstelle ich mir jeweils eine eigene Klasse per Algorithmus.
Momentan hab ich die Klasse so gestaltet, dass ich im Constructor default-Werte definiert habe und in der Methode erst die konkreten Argumente übergebe. Ist das good practice unter Python oder übergebe ich die Argumente direkt im Constructor und übergebe dann die self.args an die Methode?
Vielen Dank und viele Grüße
Marvin
Hier die Klasse:
Code: Alles auswählen
class BubbleSort:
def __init__(self, array=None):
self.array = array
def start(self, array):
self.array = array
n = len(self.array)
for j in range(1, n):
for i in range(0, n - j):
if self.array[i] > self.array[i + 1]:
temp = self.array[i]
self.array[i] = self.array[i + 1]
self.array[i + 1] = temp
print(self.array)
return self.array
## Testen
A = [2, 5, 6, 4, 1, 3, 5, 2, 8]
bubble = BubbleSort()
print(bubble.array) # -> ergibt None (Default)
print(bubble.start(A)) # -> ergibt das sortierte übergebene Array