Maison  >  Article  >  développement back-end  >  Utilisez la fonction __contains__() de Python pour définir l'opération de confinement d'un objet

Utilisez la fonction __contains__() de Python pour définir l'opération de confinement d'un objet

WBOY
WBOYoriginal
2023-08-22 16:23:081469parcourir

Utilisez la fonction __contains__() de Python pour définir lopération de confinement dun objet

Utilisez la fonction __contains__() de Python pour définir l'opération de confinement d'un objet

Python est un langage de programmation concis et puissant qui fournit de nombreuses fonctionnalités puissantes pour gérer différents types de données. L'un d'eux consiste à implémenter l'opération de confinement des objets en définissant la fonction __contains__(). Cet article explique comment utiliser la fonction __contains__() pour définir l'opération de confinement d'un objet et donne un exemple de code. La fonction

__contains__() est l'une des fonctions intégrées de Python, utilisée pour définir le comportement de l'opérateur d'inclusion "in". Lors de l'utilisation de "in" pour vérifier si un objet contient un élément, Python recherchera la fonction __contains__() définie dans l'objet et appellera cette fonction pour effectuer l'opération de confinement. Voici la syntaxe de base de la fonction __contains__() :

def __contains__(self, item):
    # 包含操作的逻辑代码
    pass

Parmi eux, self fait référence à l'objet lui-même, et item est l'élément dont il faut juger s'il est inclus. Nous pouvons écrire du code logique dans la fonction __contains__() pour déterminer si l'objet contient l'élément spécifié. Si c'est le cas, renvoyez True sinon, renvoyez False.

Ensuite, nous utilisons un exemple de code pour montrer comment utiliser la fonction __contains__() pour définir l'opération de confinement d'un objet. Supposons qu'il existe un objet nommé Person, qui contient une liste nommée amis, utilisée pour stocker les noms d'amis. Nous souhaitons mettre en œuvre l'opération de confinement en déterminant si une personne est une amie de l'objet. L'exemple de code est le suivant :

class Person:
    def __init__(self, name, friends):
        self.name = name
        self.friends = friends
    
    def __contains__(self, name):
        return name in self.friends

p1 = Person("Alice", ["Bob", "Charlie", "David"])
print("Bob" in p1)  # 输出True
print("Emily" in p1)  # 输出False

Dans l'exemple de code ci-dessus, nous définissons une classe nommée Person et initialisons le nom de l'objet et la liste d'amis via la fonction __init__(). Ensuite, nous utilisons l'opérateur "in" dans la fonction __contains__() pour déterminer si le nom spécifié figure dans la liste d'amis. Si c’est le cas, renvoyez True ; sinon, renvoyez False.

Ensuite, nous créons un objet Person nommé p1, dont la liste d'amis contient "Bob", "Charlie" et "David". Ensuite, nous utilisons l'opérateur « in » pour déterminer si « Bob » et « Emily » sont amis de l'objet p1. Puisque "Bob" est dans la liste d'amis, le premier résultat de jugement est True ; et "Emily" n'est pas dans la liste d'amis, donc le deuxième résultat de jugement est False.

L'utilisation de la fonction __contains__() pour définir l'opération de confinement d'un objet peut facilement implémenter une logique personnalisée. Nous pouvons implémenter différentes conditions de jugement dans la fonction __contains__() en fonction des besoins spécifiques de l'objet, afin de juger de manière flexible si l'objet contient un certain élément.

En résumé, cet article présente l'utilisation de la fonction __contains__() de Python pour définir l'opération de confinement des objets. Grâce à la démonstration de l'exemple de code, nous pouvons voir que l'utilisation de la fonction __contains__() peut implémenter facilement et de manière flexible le jugement de confinement d'objet. J'espère que les lecteurs pourront acquérir une compréhension et une application plus approfondies de la fonction __contains__() en Python grâce à l'introduction de cet article.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn