2 votes

Meilleure pratique Python : Comment gérer les paramètres de fonction qui peuvent être de 2 types ?

Je suis en train de construire une classe Python qui fonctionne avec des dataframes PySpark ou des tables Hive. Les données d'entrée peuvent être soit un str pour le nom de la table ou un DataFrame . Quelle est la meilleure pratique Python pour faire cela ? Je voulais faire cela de manière à ce que ce soit flexible en fonction du cas d'utilisation. La seule différence réside dans la façon dont les données doivent être transmises à la classe (soit sous forme de tableau, soit sous forme de DataFrame Spark), tout le reste est identique.

Voir l'exemple ci-dessous :

class DataPipeline:

    def __init__(self, data):
        if isinstance(data, str):
            self.df = spark.read.table(data)
        elif isinstance(data, DataFrame):
            self.df = data
        else:
            raise ValueError("some error")

    def process_data(self):
       # do something with the self.df here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X