Arguments optionnels pour un constructeur de classe en Python

Vaibhav Vaibhav 21 décembre 2022
Arguments optionnels pour un constructeur de classe en Python

Comme son nom l’indique, un argument optionnel est un argument pour lequel le passage d’une valeur n’est pas obligatoire. Pour un tel argument, une valeur par défaut est évaluée. Si une valeur est transmise pour un tel argument, la nouvelle valeur remplace la valeur par défaut.

Dans cet article, nous allons apprendre à définir des arguments optionnels pour les classes en Python.

Définir des arguments facultatifs pour un constructeur de classe en Python

Pour ajouter des arguments facultatifs aux classes en Python, nous devons attribuer des valeurs par défaut aux arguments dans la signature de la fonction constructeur de la classe. L’ajout de valeurs par défaut est une tâche simple. Nous devons assimiler les arguments à leurs valeurs par défaut comme x = 3, name = "Untitled", etc. La valeur par défaut sera considérée si aucune valeur n’est passée pour ces arguments optionnels. Le code Python suivant décrit le concept décrit ci-dessus.

class Point:
    def __init__(self, x, y, z=0):
        self.x = x
        self.y = y
        self.z = z

    def __str__(self):
        return f"X: {self.x}, Y: {self.y}, Z:{self.z}"


print(Point(1, 2))  # Object 1
print(Point(54, 92, 0))  # Object 2
print(Point(99, 26, 100))  # Object 3

Production :

X: 1, Y: 2, Z:0
X: 54, Y: 92, Z:0
X: 99, Y: 26, Z:100

Le constructeur de la classe Point accepte trois arguments : x, y et z. Ici, z est l’argument facultatif car il a une valeur par défaut définie pour lui. Cela rend les deux autres arguments, x et y, obligatoires. Pour Object 1, aucune valeur n’a été passée pour l’argument z, et à partir de la sortie, nous pouvons voir que la valeur par défaut a été prise en compte pour z. Et, pour l’objet 3, 100 a été passé pour l’argument z, et à partir de la sortie, nous pouvons voir que 100 a été considéré comme supérieur à la valeur par défaut 0.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Article connexe - Python Class