Python - καλώντας παρακαμφθεί μεθόδους με διαφορετικά επιχειρήματα

ψήφοι
0

Εργάζομαι με δύο κατηγορίες που χρησιμοποιούνται για τη μοντελοποίηση / πρόβλεψη των δεδομένων και θέλετε να χρησιμοποιήσετε μια λειτουργία που μπορεί να προ-διαδικασία και να καλέσει τη μέθοδο πρόβλεψη των δύο τάξεων.

Παρακάτω είναι ένα απλουστευμένο παράδειγμα:

class Model(object):

    def __init__(self, mean):
        self.mean = mean

    def predict():
        pass

class Arithmetic(Model):

    def predict(self, n, factor, **alpha=None, beta=None**):
        return [self.mean + factor*x for x in range(n)]

class TwoStep(Model):

    def predict(self, n, alpha, beta, **factor=None**):
        return [self.mean + alpha*int((x+1)/2) + beta*int(x/2) for x in range(n)]

def run_prediction(data, n, PredictionModel, alpha=None, beta=None, factor=None):
    
    model processing    
    

    model = PredictionModel(data)
    result = model.predict(n, alpha=alpha, beta=beta, factor=factor)
    print(result)

run_prediction(3, 8, Arithmetic, factor=2)
run_prediction(3, 8, TwoStep, alpha=3, beta=1)

Είναι ούτως ή άλλως εκεί για να καλέσετε τη μέθοδο προβλέψει από run_prediction χωρίς τη δημιουργία αχρησιμοποίητα παραμέτρους Κανείς (υποδεικνύονται με **) στις μεθόδους πρόβλεψη (δεν θα είμαι σε θέση να το κάνουμε αυτό με το πραγματικό κώδικα δεδομένου ότι είμαι με τη χρήση άλλων μονάδων);

Ή είναι μια άλλη λύση που θα ήταν καλύτερο πράξη από αχρησιμοποίητες παραμέτρους εκεί;

Δημοσιεύθηκε 27/11/2018 στις 17:44
πηγή χρήστη
Σε άλλες γλώσσες...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more