Maison > développement back-end > Tutoriel Python > Mode agent d'apprentissage Python

Mode agent d'apprentissage Python

little bottle
Libérer: 2019-04-28 11:22:28
avant
2669 Les gens l'ont consulté

Cet article présente principalement l'implémentation du mode proxy en Python. Il utilise un exemple intéressant pour écrire un code de démonstration, qui a une certaine valeur de référence. J'espère que cela vous sera utile.

Définition du modèle de proxy : Fournissez un proxy pour d'autres objets afin de contrôler l'accès à cet objet. Dans certains cas, un objet ne convient pas ou ne peut pas référencer directement un autre objet, et un objet proxy peut servir d'intermédiaire entre le client et l'objet cible.

Scénarios d'application du mode proxy :

1. Proxy distant, c'est-à-dire fournir une représentation locale d'un objet dans différents espaces d'adressage. Cela masque le fait qu'un objet existe dans un espace d'adressage différent.

2. Les agents virtuels sont des objets coûteux à créer selon les besoins. Utilisez-le pour stocker des objets réels qui mettent beaucoup de temps à s'instancier. Par exemple, en HTML, les images mettent beaucoup de temps à se charger, donc des agents virtuels sont utilisés pour remplacer les images réelles

3. Proxy de sécurité, utilisé pour. contrôler l'accès aux objets réels Autorisations

4. Le guidage intelligent signifie que lorsque l'objet réel est appelé, l'agent gère d'autres choses

Par exemple : l'homme A aime la femme A, mais il n'ose pas pour lui avouer. Par conséquent, l'homme B est chargé en tant qu'agent d'envoyer des cadeaux à la femme A en son nom. Le point clé pour réaliser cette exigence est que l'homme A et la femme A n'ont pas de contact direct l'un avec l'autre. contact indirect par l'intermédiaire de l'agent mâle B.

#encoding=utf-8
__author__ = 'kevinlu1010@qq.com'
from abc import ABCMeta, abstractmethod

class FemaleA():
    def __init__(self, name):
        self.name = name

class Male():
    __metaclass__ = ABCMeta

    @abstractmethod
    def send_flower(self):
        pass

    @abstractmethod
    def send_chocolate(self):
        pass

    @abstractmethod
    def send_book(self):
        pass

class MaleA(Male):
    def __init__(self, name, love_female):
        self.name = name
        self.love_female = FemaleA(love_female)

    def send_flower(self):
        print '%s送花给%s' % (self.name, self.love_female.name)

    def send_chocolate(self):
        print '%s送巧克力给%s' % (self.name, self.love_female.name)

    def send_book(self):
        print '%s送书给%s' % (self.name, self.love_female.name)


class Proxy(Male):
    def __init__(self, name, proxyed_name, love_female):
        self.name = name
        self.proxyed = MaleA(proxyed_name, love_female)

    def send_flower(self):
        self.proxyed.send_flower()

    def send_chocolate(self):
        self.proxyed.send_chocolate()

    def send_book(self):
        self.proxyed.send_book()

if __name__ == '__main__':
    p = Proxy('男B', '男A', '女A')
    p.send_book()
    p.send_chocolate()
    p.send_flower()
Copier après la connexion

Tutoriels associés : Tutoriel vidéo Python

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal