Bonjour,
Je travaille avec Python3.5 et j’ai une fonction qui fait deux appels à une API :
1 2 3 4 5 | class Simulation: def step(self, steps, parameters=None): if parameters is not None: requests.post(self.endpoint("configure"), json=parameters) requests.post(self.endpoint("step"), json={"steps": steps}) |
Le nombre de paramètres est variable :
1 2 3 4 | sim = Simulation() sim.step(1, {"param1": 1}) sim.step(1, {"param2": 1}) sim.step(1, {"param1": 2, "param3": 2}) |
La question que je me pose est si l’interface suivante, avec des paramètres nommés plutôt qu’un dictionnaire, est préférable (plus pratique, plus idiomatique, etc.) :
1 2 3 4 5 6 7 8 9 | class Simulation: def step(self, steps, **kwargs): requests.post(self.endpoint("configure"), json=kwargs) requests.post(self.endpoint("step"), json={"steps": steps}) sim = Simulation() sim.step(1, param1=1) sim.step(1, param2=1) sim.step(1, param1=2, param3=2) |
Merci.
+0
-1