


Merci à Shaumik Daityari pour avoir aidé à avoir aidé les pairs à réviser cet article.
Lorsque nous appelons une fonction dans Python, la fonction commencera normalement à fonctionner jusqu'à ce qu'elle rencontre un retour, une exception ou atteint sa fin - après quoi il renvoie le contrôle à l'appelant. Chaque fois que vous appelez à nouveau cette fonction, le processus commencera à partir de Scratch !
Dites que vous avez demandé à une personne de suivre les voitures rouges sur la route. La personne continuera à avoir une question lui demandant si elle a repéré une voiture rouge ou non, et la personne à son tour répondrait avec «oui» ou «non». Si la personne répondait «oui», le nombre de fois où la voiture rouge a été repérée augmentera.
Voyons comment nous pouvons le faire dans Python:
import time def red_cars(answer): n = 0 while True: if answer == 'yes': n = n + 1 return n else: return n stop = time.time() + 5 * 60 while time.time() <p> Si vous exécutez le programme, que remarquez-vous? Avez-vous remarqué que le nombre de fois pour la réponse «oui» est toujours plafonné à 1, et lorsque vous répondez «non», le nombre de fois obtient 0, peu importe «oui» avant? </p> <p> Voici où le mot clé de rendement de Python entre en jeu. Le rendement est un moyen par lequel nous <em> temporairement </em> contrôle de la main à l'appelant, et nous nous attendons à continuer à partir du point où le contrôle a été remis. </p> <p> Avant de donner la solution à l'exemple ci-dessus, permettez-moi de démontrer un exemple très simple pour mieux illustrer le fonctionnement du rendement. </p> <p> dire que nous avons le script Python simple suivant: </p> <pre class="brush:php;toolbar:false">def step_by_step(): return 'step 1' return 'step 2' return 'step 3' step = step_by_step() for i in range (3): print step
Si vous exécutez le script, vous obtiendrez la sortie suivante:
step 1 step 1 step 1
Maintenant, si nous utilisons le rendement à la place, comme suit:
def step_by_step(): yield 'step 1' yield 'step 2' yield 'step 3' step = step_by_step() for i in range (3): print step.next()
La sortie serait la suivante:
step 1 step 2 step 3
Comme vous pouvez le voir, nous avons pu créer une série de valeurs, car pour chaque appel, la fonction continue à partir du point où il donne une valeur. Ce type de fonction est appelé générateur. Une telle fonction crée un itérateur de générateur, comme avec chaque appel à la méthode suivante () nous passons à l'instruction de rendement suivante.
Si nous revenons à notre exemple principal (voitures rouges), elle peut être écrite comme suit pour effectuer la tâche requise:
import time def red_cars(answer = None): n = 0 while True: if answer=="yes": n = n + 1 answer = yield n else: answer = yield n car_color = red_cars() car_color.next() stop = time.time() + 5 * 60 while time.time() <p> Ainsi, comme nous pouvons le voir, le rendement est jugé important lorsque nous sommes intéressés à reprendre l'exécution au dernier point où la fonction (générateur) est sortie et où nous sommes également intéressés à garder les valeurs des variables locales entre les différents appels - Contrairement aux fonctions normales, où de telles valeurs sont détruites lors de la sortie de la fonction. </p> <p> Il existe cependant d'autres utilisations du rendement. Par exemple, vous pouvez utiliser le rendement si vous avez une fonction qui renvoie une séquence (par exemple, les lignes dans une feuille Excel) et que vous devez itérer sur la séquence sans avoir chaque valeur en mémoire à la fois. C'est-à-dire pour enregistrer la mémoire. </p><p> Le rendement peut également être utilisé lorsque vous travaillez avec des iterables, où nous avons une grande liste difficile à passer entre les fonctions. Par exemple, les fonctions intégrées de Python pour les permutations et les combinaisons dans le module Itertools utilisent le rendement. </p> <h2 id="Questions-fréquemment-posées-FAQ-sur-le-mot-clé-de-rendement-dans-Python"> Questions fréquemment posées (FAQ) sur le mot clé de rendement dans Python </h2> <h3 id="Quelle-est-la-différence-entre-les-mots-clés-de-rendement-et-de-retour-dans-python"> Quelle est la différence entre les mots clés de rendement et de retour dans python? </h3> <p> Les mots clés de rendement et de retour dans Python sont utilisés dans les fonctions, mais ils servent des objectifs différents. Le mot clé de retour est utilisé lorsque vous souhaitez qu'une fonction produise une valeur, puis se termine. Une fois qu'une fonction renvoie une valeur, il est fait de l'exécution et du contrôle est remis à l'appelant. D'un autre côté, le mot clé de rendement est utilisé dans une fonction comme une instruction de retour, mais elle produit une valeur et suspend l'exécution de la fonction. La fonction peut être reproduite plus tard à partir de l'endroit où il s'était arrêté, ce qui lui permet de produire une série de valeurs au fil du temps, au lieu de les calculer en même temps et de les renvoyer comme une liste. </p> <h3 id="Comment-le-mot-clé-de-rendement-Travaillez-dans-Python"> Comment le mot clé de rendement Travaillez dans Python? </h3> <p> Le mot clé de rendement dans Python est utilisé dans une fonction avec une boucle pour créer un itérateur. Lorsque la fonction est appelée, il renvoie un itérateur, mais ne démarre pas immédiatement l'exécution. Lorsque la méthode NEXT () de l'Iterator est appelée, la fonction commence à s'exécuter. Une fois qu'il rencontre le mot clé de rendement, il renvoie l'argument adopté pour rendre et pause l'exécution. La fonction peut être reproduite à partir de l'endroit où elle s'était arrêtée en appelant à nouveau (), permettant à la fonction de produire une série de valeurs au fil du temps, en se comportant comme un générateur. </p> <h3 id="Pouvez-vous-fournir-un-exemple-d-utilisation-du-mot-clé-de-rendement-Dans-python"> Pouvez-vous fournir un exemple d'utilisation du mot clé de rendement Dans python? </h3> <p> Bien sûr, voici un exemple simple d'utilisation du mot clé de rendement dans python: <br> <br> def simple_generator (): <br> rendement 1 <br> rendement 2 <br> rendement 3 <br> <br> pour la valeur dans Simple_Generator (): <br> print (valeur) <br> <br> Dans cet exemple, Simple_Generator est une fonction de générateur car il utilise le mot clé de rendement. Lorsque nous itérons sur l'objet générateur renvoyé par Simple_Generator (), il donne 1, puis 2, puis 3, en pause son exécution entre chaque rendement. </p> <h3 id="Quels-sont-les-avantages-de-l-utilisation-du-mot-clé-de-rendement-en-python"> Quels sont les avantages de l'utilisation du mot-clé de rendement en python? </h3> <p> Le mot clé de rendement dans Python vous permet d'écrire des fonctions qui peuvent produire une séquence de résultats au fil du temps, plutôt que de les calculer en même temps et de les renvoyer dans une liste par exemple. Cela peut être particulièrement utile lorsque le jeu de résultats est grand et que vous souhaitez enregistrer la mémoire. Il vous permet également de créer vos propres objets iTables et de les utiliser avec Python pour les boucles, les compréhensions et d'autres fonctions qui s'attendent à un itérable. </p><h3 id="Une-fonction-peut-elle-contenir-à-la-fois-des-instructions-de-rendement-et-de-retour-dans-python"> Une fonction peut-elle contenir à la fois des instructions de rendement et de retour dans python? </h3> <p> Oui, une fonction dans Python peut contenir à la fois des instructions de rendement et de retour. Cependant, il est important de noter qu'une fois une instruction de retour exécutée, l'exécution de la fonction est terminée et le contrôle est ramené à l'appelant. Donc, si une déclaration de retour est exécutée avant une déclaration de rendement, l'instruction de rendement ne sera jamais atteinte. Inversement, si une instruction de rendement est exécutée en premier, la fonction sera interrompue et que le contrôle sera ramené à l'appelant, mais la fonction peut être reproduite plus tard, à quel point l'instruction de retour peut être exécutée. </p> <h3 id="Puis-je-utiliser-le-mot-clé-de-rendement-dans-une-fonction-récursive-dans-Python"> Puis-je utiliser le mot clé de rendement dans une fonction récursive dans Python? </h3> <p> Oui, vous pouvez utiliser le mot clé de rendement dans une fonction récursive dans Python. Cependant, vous devez vous rappeler d'itérer sur l'appel récursif et de produire chaque valeur, sinon vous obtiendrez un objet générateur au lieu des valeurs que vous attendez. </p> <h3 id="Quelle-est-la-différence-entre-une-fonction-de-générateur-et-une-fonction-normale-Dans-Python"> Quelle est la différence entre une fonction de générateur et une fonction normale Dans Python? </h3> <p> La principale différence entre une fonction de générateur et une fonction normale dans Python est qu'une fonction de générateur utilise le mot clé de rendement et qu'une fonction normale utilise le mot clé de retour. Lorsqu'une fonction de générateur est appelée, il renvoie un objet générateur sans même commencer l'exécution de la fonction. Lorsque la méthode suivante () est appelée pour la première fois, la fonction commence à s'exécuter jusqu'à ce qu'elle atteigne le mot clé de rendement, qui produit une valeur. La fonction réduit ensuite l'exécution et le contrôle est transmis à l'appelant. D'un autre côté, lorsqu'une fonction normale est appelée, elle démarre l'exécution immédiatement et s'exécute jusqu'à la fin, renvoyant une valeur. </p> <h3 id="Puis-je-utiliser-plusieurs-instructions-de-rendement-dans-une-seule-fonction-dans-Python"> Puis-je utiliser plusieurs instructions de rendement dans une seule fonction dans Python? </h3> <p> Oui, vous pouvez utiliser plusieurs instructions de rendement dans une seule fonction dans Python. Lorsque la fonction est appelée, elle donnera une valeur à chaque fois qu'elle rencontre une instruction de rendement, en pause son exécution et en passant le contrôle à l'appelant. La prochaine fois que la méthode Next () de la fonction sera appelée, elle reprendra l'exécution d'où elle s'était arrêtée et s'exécutera jusqu'à ce qu'elle rencontre l'instruction de rendement suivante. </p> <h3 id="Comment-puis-je-attraper-l-exception-de-l-arrêt-soulevée-par-une-fonction-de-générateur-dans-Python"> Comment puis-je attraper l'exception de l'arrêt soulevée par une fonction de générateur dans Python? </h3> <p> Lorsqu'une fonction de générateur dans Python n'a plus de valeurs à céder, il soulève une exception d'architerie. Vous pouvez attraper cette exception en utilisant un bloc d'essai / sauf. Voici un exemple: <br> <br> def simple_generator (): <br> rendement 1 <br> rendement 2 <br> rendement 3 <br> <br> gen = simple_generator () <br> <br> tandis que vrai: <br> essayez: <br> imprimer (suivant (gen)) <br> sauf l'arrêt: <br> casser <br> <br> Dans cet exemple, nous attrapons l'exception de l'arrêt et la rupture de la boucle lorsqu'il n'y a pas Plus de valeurs à céder. </p><h3 id="Puis-je-utiliser-le-mot-clé-de-rendement-dans-une-fonction-lambda-dans-Python"> Puis-je utiliser le mot clé de rendement dans une fonction lambda dans Python? </h3> <p> Non, vous ne pouvez pas utiliser le mot clé de rendement dans une fonction lambda dans Python. En effet, les fonctions Lambda sont limitées à une seule expression, et le mot-clé de rendement introduit un contexte d'instruction. Si vous devez créer une fonction de générateur, vous devrez utiliser une instruction DEF pour définir une fonction normale. </p>
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!

La montée en puissance du pouvoir technologique des femmes chinoises dans le domaine de l'IA: l'histoire de la collaboration d'honneur avec la contribution des femmes en profondeur au domaine de la technologie devient de plus en plus significative. Les données du ministère des Sciences et de la Technologie de la Chine montrent que le nombre de travailleuses scientifiques et technologiques est énorme et montre une sensibilité à la valeur sociale unique dans le développement des algorithmes d'IA. Cet article se concentrera sur l'honneur des téléphones mobiles et explorera la force de l'équipe féminine derrière qu'elle soit la première à se connecter au grand modèle Deepseek, montrant comment ils peuvent promouvoir le progrès technologique et remodeler le système de coordonnées de valeur de développement technologique. Le 8 février 2024, Honor a officiellement lancé le Big Model de Deepseek-R1, devenant le premier fabricant du camp Android à se connecter à Deepseek, excitant la réponse enthousiaste des utilisateurs. Dant ce succès, les membres de l'équipe féminine prennent des décisions de produits, des percées techniques et des utilisateurs

Deepseek a publié un article technique sur Zhihu, présentant en détail son système d'inférence Deepseek-V3 / R1, et a révélé pour la première fois des données financières clés, ce qui a attiré l'attention de l'industrie. L'article montre que la marge de bénéfice des coûts quotidiens du système atteint 545%, ce qui établit un nouveau profit mondial dans le modèle mondial de l'IA. La stratégie à faible coût de Deepseek lui donne un avantage dans la concurrence du marché. Le coût de sa formation sur modèle n'est que de 1% à 5% des produits similaires, et le coût de la formation du modèle V3 n'est que de 5,576 millions de dollars, bien inférieur à celui de ses concurrents. Pendant ce temps, la tarification de l'API de R1 n'est que de 1/7 à 1/2 d'Openaio3-MinI. Ces données prouvent la faisabilité commerciale de la voie technologique profonde et établissent également la rentabilité efficace des modèles d'IA.

La construction du site Web n'est que la première étape: l'importance du référencement et des backlinks La construction d'un site Web n'est que la première étape pour la convertir en un actif marketing précieux. Vous devez faire l'optimisation du référencement pour améliorer la visibilité de votre site Web dans les moteurs de recherche et attirer des clients potentiels. Les backlinks sont la clé pour améliorer le classement de votre site Web, et il montre à Google et à d'autres moteurs de recherche l'autorité et la crédibilité de votre site Web. Tous les backlinks ne sont pas bénéfiques: identifier et éviter les liens nocifs Tous les backlinks ne sont pas bénéfiques. Les liens nocifs peuvent nuire à votre classement. Excellent outil de vérification de la liaison backlink gratuite surveille la source des liens vers votre site Web et vous rappelle les liens nuisibles. De plus, vous pouvez également analyser les stratégies de liaison de vos concurrents et en apprendre. Outil de vérification gratuite de backlink: votre agent de renseignement SEO

MIDEA publiera bientôt son premier climatiseur équipé d'un grand modèle Deepseek - MIDEA Fresh and Clean Air Machine T6. Ce climatiseur est équipé d'un système de conduite intelligent avancé, qui peut ajuster intelligemment les paramètres tels que la température, l'humidité et la vitesse du vent en fonction de l'environnement. Plus important encore, il intègre le grand modèle Deepseek et prend en charge plus de 400 000 commandes vocales AI. La décision de Midea a provoqué des discussions animées dans l'industrie et est particulièrement préoccupé par l'importance de la combinaison de produits blancs et de grands modèles. Contrairement aux paramètres de température simples des climatiseurs traditionnels, MIDEA Fresh Air Machine T6 peut comprendre des instructions plus complexes et vagues et ajuster intelligemment l'humidité en fonction de l'environnement familial, améliorant considérablement l'expérience utilisateur.

Deepseek-R1 autorise la bibliothèque Baidu et NetDisk: L'intégration parfaite de la pensée et de l'action profondes s'est rapidement intégrée à de nombreuses plateformes en seulement un mois. Avec sa disposition stratégique audacieuse, Baidu intègre Deepseek en tant que partenaire modèle tiers et l'intégre dans son écosystème, qui marque un progrès majeur dans sa stratégie écologique de "Big Model Search". Baidu Search et Wenxin Intelligent Intelligent Platform sont les premiers à se connecter aux fonctions de recherche profonde des grands modèles Deepseek et Wenxin, offrant aux utilisateurs une expérience de recherche IA gratuite. Dans le même temps, le slogan classique de "Vous saurez quand vous allez à Baidu", et la nouvelle version de l'application Baidu intègre également les capacités du Big Model et Deepseek de Wenxin, lançant "AI Search" et "Wide Network Information Raffinement"

Ce scanner de vulnérabilité de réseau basé sur GO identifie efficacement les faiblesses de sécurité potentielles. Il exploite les fonctionnalités de concurrence de GO pour la vitesse et comprend la détection de services et la correspondance de vulnérabilité. Explorons ses capacités et ses éthiques

Ingénierie rapide de l'IA pour la génération de code: guide d'un développeur Le paysage du développement du code est prêt pour un changement significatif. La maîtrise des modèles de grande langue (LLMS) et de l'ingénierie rapide sera crucial pour les développeurs dans les années à venir. Ème


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Dreamweaver Mac
Outils de développement Web visuel

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.