Le but de cette page ? est de démontrer la dynamique des 2 protocoles d'itération :
- itérable
- itérateur
1. MAIS D'ABORD (AJOUTER À DES MOTS SIMILAIRES CONFUSANT), ABORDONS L'ITÉRATION
- L'itération - bien sûr - consiste à prendre les éléments un par un d'une source et à faire quelque chose avec chacun à son tour
- en python, ceci est couramment utilisé dans
- a) les boucles for/while et
- b) compréhensions
- par défaut - ces structures itèrent sur toute la structure
- parfois, cependant, un contrôle plus fin pourrait être nécessaire - comme dans les générateurs
- pour cela, il existe 2 concepts/protocoles importants, sur lesquels une grande partie de Python est construite :
- a) objets itérables
- b) objets itérateurs
- les deux sont reflétés dans les protocoles Python standard
- ce n'est pas quelque chose de plus : en fait, les boucles for/while et les compréhensions sont construites directement sur ces éléments de niveau inférieur des protocoles d'itération
2. LA MÉTHODE ITER() CRÉE UN ITERATEUR À PARTIR D'UN ITERABLE
- objet itérable (collection ou flux d'objets) est tout objet qui peut être transmis à la fonction iter() intégrée
- une fois passée la fonction intégrée iter() et qui renvoie un objet itérateur d'un type passé, c'est à dire qu'un itérateur de chaîne est créé avec
>>> example_iterator = iter('abc') >>> example_iterator <str_iterator object at> </str_iterator>
- notez que l'itérateur est un objet séquence implicite fournissant un accès séquentiel (et non aléatoire !) à un ensemble de données séquentiel sous-jacent
- par exemple, l'objet range lui-même n'est pas un itérateur
- l'itérateur ne permet pas l'accès à un élément arbitraire de la série sous-jacente
- ils donnent accès uniquement au suivant élément de la série
- ils fournissent accès séquentiel
<!-- THIS IS NOT AN ITERATOR --> >>> r = range(10)[5] >>> r 5
3. LA FONCTION NEXT() RETOURNE LA VALEUR SUIVANTE À PARTIR D'UN ITÉRATEUR
- le next() intégré nécessite un objet iterator - et il renvoie la valeur suivante dans l'itération d'une collection
- l'itérateur se compose de 2 composants :
- mécanisme de récupération de l'élément suivant d'une collection
- mécanisme de signalisation de la fin de la série
Dans les langages de programmation avec systèmes d'objets intégrés, cette abstraction correspond généralement à une interface particulière qui peut être implémentée par les classes
- next() permet de considérer chaque élément tour à tour / sur demande - pas toute la série du début à la fin
- il y a 2 messages inclus dans l'interface de l'itérateur
- suivant → requête pour l'élément suivant
- iter → renvoie l'itérateur
- contrainte : l'itérateur peut être itéré une fois
4. EXEMPLE DE CLASSE - DE L'ITÉRABLE À L'ITÉRATEUR À L'EXCEPTION D'ARRÊTITÉRATION
- Python, généreusement, lève une exception du type StopIteration
>>> example_iterator = iter('abc') >>> example_iterator <str_iterator object at> </str_iterator>
5. EXEMPLE RÉEL - TEST UNITÉ DE PLUSIEURS ENTRÉES DE LIGNE DE COMMANDE
- définir/obtenir un objet itérable tel qu'une liste ["20.01", "y"]
- passer un objet itérable dans iter() → créer un objet itérateur
- passez un objet itérateur dans un next() pour obtenir la valeur suivante de la liste à chaque fois que la fonction d'entrée est appelée dans le code
<!-- THIS IS NOT AN ITERATOR --> >>> r = range(10)[5] >>> r 5
- la première fois que input() est rencontré, la valeur "20.01" est transmise,
- la deuxième fois c'est "y"
- la troisième fois ce serait une exception
6. LIENS
- https://mypy.readthedocs.io/en/stable/protocols.html#iteration-protocols
- 5.2 Séquences implicites - SICP en 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!

SlitingyPapyThonListIsDoneUsingTheSyntaxList [Démarrage: arrêt: étape] .He'showitworks: 1) startisheindexofthefirStelementoinclude.2) stopisTheIndexoftheFirstelementsoexclude.3) StepistheincrementBetweenselans.it'susefulfactingPortationSoListShsandCanusegeg

NumpyAllowsForvariousOperations ONARRAYS: 1) BasicarithmeticLikeaddition, Soustraction, Multiplication, anddivision; 2) AdvancedOperationSuchasmatrixMultiplication; 3) Element-Wiseoperations withoutExplicitloop

ArraySinpython, en particulier ThroughNumpyandPandas, aressentialfordataanalysis, offingspeeedAfficiency.1) numpyarrayablefficienthandlingoflargedatasetsandComplexOperationsLikEMoVingAverages.2)

ListsandNumpyArraysInpythonHaveDidifferentMemoryfootprints: listsaRemoreFlexibles Butlessmemory économe, tandis que la liste de résensés est-ce qui

ToenSurepythonscriptsBeHavecorrectlyAcrossDevelopment, mise en scène et production, catégories de type: 1) EnvironmentVariblesForsImplesettings, 2) ConfigurationFilesForComplexsetups et3) dynamicloadingforadaptability.eachMethodoffersNebeneFitsAndreCeresca

La syntaxe de base pour le découpage de la liste Python est la liste [Démarrage: arrêt: étape]. 1.Start est le premier index d'élément inclus, 2.STOP est le premier indice d'élément exclu et 3.StEP détermine la taille de l'étape entre les éléments. Les tranches sont non seulement utilisées pour extraire les données, mais aussi pour modifier et inverser les listes.

ListesoutPerformarRaySin: 1) dynamicingizingandfrequentinSertions / Deletions, 2) StoringheteroGeneousData, and3) MemoryEfficiencyForsparsedata, butmayhaveslightperformanceCostSincertorations.

Toconvertapythonarraytoalist, usethelist () Constructororageneratorexpression.1) ImportTheArrayModuleandCreateArray.2) Uselist (Arr) ou [Xforxinarr] à Convertittoalist, considérant la performance et le domaine de l'émie-efficacité pour les étages.


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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

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

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.
