Conseils utiles

Comment sortir des données en langage de programmation Python

Une fois que vous avez découvert dans quel environnement vous pouvez créer et exécuter des programmes en Python, vous pouvez commencer à apprendre les bases du langage. La chose la plus intéressante est que les premiers programmes simples peuvent être écrits sans connaissance de constructions complexes et du corps du programme (comme en Pascal). Dans cette leçon, nous allons nous familiariser avec les opérations d'entrée-sortie en Python, ainsi qu'avec la sortie rapide des opérations arithmétiques sur l'écran de l'ordinateur.



Pour savoir ce qui se passe à la suite des actions que vous effectuez dans le programme, vous devez en quelque sorte l’afficher. Le moyen le plus simple et le plus simple d’exporter des données à partir du programme consiste à afficher le résultat à l’écran à l’ancienne, directement à partir de la ligne de commande Shell de l’environnement de développement IDLE.

Pour afficher les valeurs à l'écran, Python a une fonction print (). Dans les parenthèses, séparées par des virgules, écrivez ce que vous voulez afficher.

Format de sortie pratique

Pour le moment, nous avons trouvé deux manières de générer des valeurs: expressions d'opérateur (déclarations d'expression) et la fonction print (). (La troisième méthode consiste à utiliser la méthode write () des objets fichier; vous pouvez faire référence au fichier de sortie standard en tant que sys.stdout. Pour plus d'informations sur cet élément, voir la Référence de la bibliothèque.)

On souhaite souvent avoir plus de contrôle sur le formatage de la sortie que l'impression habituelle de valeurs séparées par des espaces. Il existe deux manières de formater votre sortie. La première consiste à effectuer vous-même tout le travail sur les lignes: à l'aide de la découpe et de la concaténation, vous pouvez créer le modèle de votre choix. Le module de chaîne standard contient de nombreuses opérations utiles pour aligner les chaînes sur une largeur de colonne spécifique (nous les passerons brièvement en revue). La deuxième méthode consiste à utiliser la méthode str.format ().

Le module de chaîne contient la classe Template, qui fournit un autre moyen de substituer des valeurs à des chaînes.

Bien sûr, une question demeure: comment convertir des valeurs en chaînes? Heureusement, en Python, il existe deux méthodes pour convertir une valeur en chaîne: ce sont les fonctions repr () et str ().

La fonction str () a pour but de renvoyer les valeurs sous une forme assez lisible, contrairement à la fonction repr (), dont le but est de générer des formes pouvant être lues par l'interpréteur (ou provoquer SyntaxError s'il n'y a pas de syntaxe équivalente). Pour les objets qui n'ont pas de forme lisible par l'homme, la fonction str () retournera la même valeur que repr (). De nombreuses valeurs, telles que les nombres ou les structures, telles que les listes et les dictionnaires, ont la même forme pour les deux fonctions. Les chaînes et les nombres à virgule flottante, en particulier, ont deux formes différentes.

Voici deux manières d'afficher un tableau de carrés et de cubes:

(Notez que dans le premier exemple, des espaces simples entre les colonnes sont ajoutés par la fonction print (): elle insère toujours des espaces entre ses paramètres.)

Cet exemple illustre le fonctionnement de la méthode d'objet string rjust (), qui aligne la chaîne à droite dans le champ de la largeur passée, en mettant en retrait les espaces à gauche. Des méthodes similaires sont disponibles pour ljust () et center (). Ces méthodes n'impriment rien, elles ne renvoient qu'une nouvelle ligne. Si la ligne d'entrée est trop longue, ils ne la tronquent pas, ce qui est généralement le moindre des maux. (Pour tronquer, vous pouvez ajouter une opération de tranche, par exemple: x.ljust (n) [: n].)

Il existe une autre méthode, zfill (), qui remplit de zéros l’espace situé à gauche de la droite numérique. Il reconnaît les signes plus et moins:

La méthode principale pour utiliser la méthode str.format () est la suivante:

Les parenthèses avec des caractères à l'intérieur (elles s'appellent champs de format (champs de format)) sont remplacés par des objets passés à la méthode de formatage. Le nombre entre parenthèses indique la position de l'objet dans la liste des paramètres transmis à la méthode de formatage.

Si la méthode de format utilise des paramètres nommés, vous pouvez référencer leurs valeurs en utilisant le nom de l'argument correspondant.

Les paramètres positionnels et nommés peuvent être combinés arbitrairement:

Un spécificateur de format optionnel ‘:’ peut suivre un nom de champ. Utilisez-le pour contrôler le formatage d'une valeur. L'exemple suivant ne laisse au Pi que trois chiffres après le séparateur décimal.

Après le spécificateur ‘:’, vous pouvez spécifier un nombre - la largeur minimale du champ, exprimée en nombre de caractères. C'est pratique à utiliser pour créer de belles tables:

Si votre chaîne de formatage est très longue et que vous ne souhaitez pas la scinder en sous-chaînes, il serait intéressant de pouvoir faire référence à des variables destinées à la mise en forme, non pas par position, mais par nom. Cela peut être fait simplement en passant le dictionnaire et en utilisant les crochets "[]’Pour l’accès aux clés.

La même chose peut être faite en passant un dictionnaire de paramètres nommés en utilisant la notation "**":

En particulier, cette technique est pratique à utiliser en combinaison avec la fonction intégrée vars (), qui renvoie un dictionnaire avec des variables locales.

Une description détaillée des chaînes de formatage à l'aide de la méthode str.format () est décrite dans la section Syntaxe de la syntaxe de chaîne de formatage.

Sortie d'écran

Supposons que nous ayons une variable avec une certaine valeur et que nous souhaitons l'afficher à l'écran. Pour cela dans Python il y a une fonction print (). Entre les parenthèses, nous mettons le nom de notre variable ou des caractères. Si vous entrez simplement un chiffre en tant que variable numérique, l'interprète jurera.

Chaque fois qu'une fonction est déclenchée print () certaines informations seront affichées à l'écran, dans ce cas les mêmes. Après print () Imprimé tout ce qui lui a été dit, il indentera la ligne suivante. Pour éviter cela, vous devez ajouter quelque chose ...

Entre guillemets, vous pouvez, en principe, écrire tout ce que votre coeur désire.

Formatage de chaînes à l'ancienne

Vous pouvez utiliser l'opération% pour formater des chaînes. Il interprète l'opérande de gauche comme une chaîne de format de style sprintf devant être appliquée à l'opérande de droite et renvoie la chaîne résultant de cette conversion. Par exemple:

La méthode str.format () étant relativement nouvelle, la plupart du code source Python utilise toujours l'opération%. Cependant, avec le temps, le formatage des lignes sera supprimé de la langue. Par conséquent, str.format () doit être utilisé dans la plupart des cas.

Pour plus d'informations, reportez-vous à la section Formatage des opérations de formatage de chaîne dans l'ancien style.

Entrée utilisateur

N'oubliez pas que tout ce que l'utilisateur a entré est une variable de caractère, même s'il n'a saisi qu'un nombre.
Si nous avons besoin que l'utilisateur entre un nombre pour une action ultérieure avec lui comme un nombre (pour des opérations mathématiques, par exemple), alors nous devons faire l'astuce suivante: convertir notre résultat de chaîne en numérique.

Tout d'abord, l'utilisateur entre les données, après avoir entré et appuyé sur Entrer, les informations de chaîne entrées par lui sont converties en un format numérique. La fonction nous aide en cela. int (). Il convertit toutes les données en un format entier numérique. Toutefois, si vous décidez de convertir certains caractères au format numérique, l’interprète vous donnera une erreur.

Les lettres ne sont pas des chiffres!

De manière aussi simple, nous nous sommes familiarisés avec “Entrée et sortie en langage Python«

Écrire et lire des fichiers

La fonction open () renvoie un objet fichier et est utilisée dans la plupart des cas avec deux arguments: open (nom_fichier, mode) .

Le premier paramètre est une chaîne contenant le nom du fichier. La seconde est une autre ligne contenant plusieurs caractères décrivant comment utiliser le fichier. Valeur du paramètre mode peut être le symbole 'r' si le fichier est ouvert en lecture seule, 'w' est ouvert en écriture uniquement (un fichier existant portant le même nom sera effacé) et 'a' est le fichier ouvert pour l'ajout: toutes les données écrites dans le fichier automatiquement sont ajoutés à la fin. 'r +' ouvre le fichier en lecture et en écriture. Paramètre mode optionnel: s'il est omis, on suppose qu'il est égal à 'r'.

Dans le cas habituel, les fichiers ouverts dans mode texte (mode texte) - cela signifie que vous lisez un fichier et écrivez dans un fichier des chaînes dans un certain codage (par défaut, il est utilisé Utf-8) Si vous ajoutez символ b ’au mode fichier, le fichier s’ouvre dans mode binaire (mode binaire): maintenant les données sont lues et écrites en tant qu’objets binaires. Ce mode doit être utilisé pour tous les fichiers ne contenant pas de texte.

En mode texte, toutes les fins de ligne, par défaut, spécifiques à la plate-forme ( n sous Unix, r n sous Windows) sont tronquées au caractère n lors de la lecture d’un fichier et sont reconverties en une vue spécifique à plates-formes lors de l'écriture dans un fichier. Ces modifications en arrière-plan dans les données de fichier fonctionnent correctement dans le cas de fichiers texte, mais corrompent les données binaires dans des fichiers tels que JPEG ou EXE. Veillez à utiliser le mode binaire lors de la lecture et de l'écriture de tels fichiers.

Méthodes d'objet fichier

Les exemples ci-dessous supposent qu'un objet de fichier nommé f est créé à l'avance.

Pour lire le contenu d’un fichier, appelez f.read (taille) - la fonction lit une certaine quantité de données et la renvoie sous forme de chaîne ou d’objet octet. taille - paramètre numérique optionnel. Si taille omis ou négatif, l'intégralité du contenu du fichier sera lue et renvoyée. Si le fichier est deux fois plus volumineux que la RAM de votre ordinateur, la solution à ce problème reste sur votre conscience. Sinon, un maximum sera lu et retourné. taille octet Si la fin du fichier est atteinte, f.read () retournera une chaîne vide ().

f.readline () lit une ligne du fichier, le caractère de nouvelle ligne ( n) reste à la fin de la ligne lue et est absent lors de la lecture de la dernière ligne du fichier uniquement si le fichier ne se termine pas par une ligne vide. De ce fait, la valeur de retour devient sans ambiguïté: si f.readline () renvoie une ligne vide, la fin du fichier est atteinte. Parallèlement, la ligne vide représentée par ' n' contient uniquement un caractère de nouvelle ligne.

f.readlines () renvoie une liste contenant toutes les lignes de données présentes dans le fichier. Si le paramètre facultatif hint_size est passé, la fonction lit le nombre d'octets spécifié dans le fichier, plus un certain nombre d'octets en plus, suffisants pour compléter la ligne et forme une liste de lignes à partir du résultat. La fonction est souvent utilisée pour une lecture plus efficace des fichiers volumineux (le fichier n’est pas entièrement chargé en mémoire). Seules les lignes complètes (complétées) seront renvoyées.

Une autre lecture ligne par ligne consiste à parcourir en boucle un objet fichier. Il est rapide, utilise beaucoup de mémoire et génère un code simple:

Une méthode alternative est plus simple, mais ne permet pas un contrôle subtil sur ce qui se passe. Étant donné que ces deux méthodes fonctionnent avec la mise en mémoire tampon de lignes de différentes manières, elles ne doivent pas être mélangées.

f.write (ficelle) écrit le contenu des cordes dans un fichier et renvoie le nombre d'octets écrits.

Pour écrire quelque chose de différent d’une chaîne dans un fichier, vous devez d’abord convertir quelque chose en chaîne:

f.tell () renvoie un entier représentant la position actuelle dans le fichier f, mesurée en octets à partir du début du fichier. Pour changer la position d’un objet fichier, utilisez f.seek (déplacement, d'où) La position est calculée en ajoutant le décalage au point de référence, le point de référence est sélectionné à partir du paramètre d'où . Valeur du paramètre 0 d'où mesure le décalage depuis le début du fichier, une valeur de 1 applique la position actuelle dans le fichier et une valeur de 2 utilise la fin du fichier comme point de référence. Paramètre d'où peut être omis et mis à 0 par défaut, en utilisant le début du fichier comme point de référence.

Lorsque vous travaillez avec des fichiers texte (ouverts sans le caractère b dans la ligne de mode), la recherche n'est autorisée qu'à partir du début du fichier (sauf pour le défilement jusqu'à la fin du fichier à l'aide de la recherche (0, 2)).

Lorsque vous avez terminé toutes les actions sur le fichier, appelez f.close () pour le fermer et libérez toutes les ressources système utilisées pour ouvrir ce fichier. Toutes les tentatives d'utilisation de l'objet fichier après avoir appelé f.close () lève une exception.

Il est recommandé d'utiliser le mot clé with lorsque vous travaillez avec des objets de fichier. L'avantage de cette méthode est que le fichier se ferme toujours correctement après l'exécution du bloc ou si une exception a été générée lors de l'exécution. De plus, le code résultant est beaucoup plus court que la forme équivalente avec des blocs essayez - enfin :

Les objets de fichier ont quelques méthodes supplémentaires, telles que isatty () et truncate (), qui ne sont pas utilisées souvent, voir la Référence de la bibliothèque pour une vue plus complète des objets de fichier.

Module de cornichon

Les chaînes peuvent facilement être écrites et lues dans un fichier. Dans le cas des nombres, vous devez utiliser un peu plus d'effort: la méthode read () ne renvoie que les lignes que vous devez transmettre à une fonction telle que int (), qui prend une chaîne de la forme '123' et renvoie sa valeur numérique: 123. Toutefois, si vous souhaitez conserver des types de données plus complexes, tels que des listes, des dictionnaires ou des instances de classe, les choses deviennent un peu confuses.

Au lieu de forcer le programmeur à écrire et à déboguer en permanence le code de types de données complexes, Python fournit un module standard appelé pickle. C'est un excellent module qui peut prendre n'importe quel objet Python (même certaines formes de code Python!) Et le convertir en représentation sous forme de chaîne: ce processus s'appelle la conservation (marinage) La restauration d'un objet à partir de sa représentation sous forme de chaîne s'appelle conservation (décoller): une ligne décrivant l'objet peut être sauvegardée dans un fichier, ajoutée à certaines données ou envoyée via une connexion réseau à un ordinateur distant.

Si vous avez un objet x et un objet fichier f ouvert pour écriture en mode binaire (mode binaire, avec le paramètre 'wb'), la manière la plus simple conserver un objet nécessite une seule ligne de code:

Pour conserver l’objet, à condition que f soit l’objet du fichier ouvert en lecture (également en mode binaire, avec le paramètre 'rb'):

(Il existe des options pour effectuer ces opérations qui s'appliquent lorsque conservation plusieurs objets ou lorsque vous avez besoin d'enregistrer en conserve données dans un fichier, reportez-vous à la documentation du module pickle de Référence de la bibliothèque.)

pickle est un moyen standard de créer des objets Python pouvant être réutilisés par d'autres programmes ou par les versions futures du même programme. Pour eux, il existe un terme technique - objet stable (objet persistant) Pickle étant fréquemment utilisé, de nombreux auteurs d’extensions Python s’assurent que les nouveaux types de données, tels que les matrices, peuvent être correctement stockés. en conserve et mis au ban.

Editeur, Auteur: Fred L. Drake Jr. (Fred L. Drake, Jr.) et d’autres

collections

Python possède des types de données intégrés intéressants, mais parfois, ils ne se comportent pas exactement comme ils le souhaiteraient.

Heureusement, la bibliothèque intégrée à Python possède un module de collections avec des types de données supplémentaires pratiques:

Vous êtes-vous déjà demandé comment regarder à l'intérieur d'un objet en Python et voir ses attributs? Bien sûr, ils ont pensé.

1er août à 10h00, en ligne, gratuit

Utilisez la ligne de commande:

Cela peut s'avérer utile lors d'une session interactive en Python, ainsi que pour l'étude dynamique des objets et des modules avec lesquels vous travaillez.

$ pip installer emoji

Et ne prétendez pas que vous ne voulez pas essayer:

de __future__ import

Une des conséquences de la popularité de Python est que de nouvelles versions sont constamment développées et publiées. Nouvelles versions - nouvelles fonctionnalités, mais pas pour vous si vous utilisez des versions obsolètes.

Cependant, tout n'est pas si mauvais. Le module __future__ permet d'importer les fonctionnalités des futures versions de Python. C’est comme le voyage dans le temps ou la magie:

Il peut être difficile pour les programmeurs de naviguer dans la géographie. Cependant, le module geopy simplifie les choses:

$ pip install geopy

Cela fonctionne en extrayant les API de différents services de géocodage. Ce module permet de connaître l'adresse complète du lieu, sa longitude, sa latitude et sa hauteur.

Il a également une classe de distance utile. Il calcule la distance entre deux lieux dans une unité de mesure commode.

Êtes-vous accroché à un problème et vous ne vous souvenez plus de sa solution? Vous devez aller à StackOverflow, mais vous ne voulez pas quitter le terminal?

Alors vous ne pouvez pas vous passer de cet outil de ligne de commande:

$ pip installer howdoi

Posez n'importe quelle question et il essaiera de trouver la réponse:

Mais soyez prudent: il extrait le code des principales réponses sur StackOverflow et ne fournit pas toujours des informations utiles:

$ howdoi exit vim

Le module inspecter est très utile pour comprendre ce qui se passe dans les coulisses de Python. Vous pouvez même appeler ses méthodes vous-même!

Ce qui suit utilise la méthode inspect.getsource () pour générer son propre code source. La méthode inspect.getmodule () est également utilisée pour générer le module dans lequel elle est définie.

La dernière commande affiche le numéro de la ligne sur laquelle elle se trouve:

Bien entendu, outre ces utilisations triviales, ce module peut être utile pour comprendre ce que fait votre code. Vous pouvez également l'utiliser pour écrire du code auto-documenté.

La bibliothèque Jedi est conçue pour compléter et analyser le code. Cela accélère le processus d’écriture du code et le rend plus productif.

Si vous ne développez pas votre IDE, vous serez probablement plus intéressé par l'utilisation de Jedi en tant qu'extension de l'éditeur. Heureusement, il existe déjà de nombreuses options.

Возможно, вы уже встречались с Jedi — IPython использует эту библиотеку для автодополнения.

Когда изучаешь любой язык, на пути встречается множество краеугольных камней. В случае с Python понимание таинственного синтаксиса **kwargs можно считать одним из них.

Две звёздочки впереди объекта словаря дают возможность передавать в функцию содержимое этого словаря как именованные аргументы.

Ключи словаря — это имена аргументов, а значения передаются в функцию. Вам даже не обязательно называть его kwargs :

Это полезно в тех случаях, когда ваши функции должны обрабатывать именованные аргументы, не определённые заранее.

Прим.перев. Il peut également être utile lors de l'écriture de fonctions wrapper qui transmettent tous les arguments à une autre fonction.

Liste des générateurs

Une autre fonctionnalité intéressante de Python qui rend les listes rapides à créer. De telles expressions facilitent l'écriture de code propre qui se lit presque comme un langage naturel:

Python a un bon support intégré pour la programmation fonctionnelle. Une des fonctionnalités les plus utiles est la fonction map (), en particulier en combinaison avec les fonctions lambda:

Ici, map () applique une fonction lambda simple sur chaque élément x et renvoie un objet map pouvant être converti en un objet itérable tel qu'une liste ou un tuple.

journal3k

Si vous ne l'avez pas encore rencontré, préparez-vous pour que le module de journal vous épate.

Il permet d'extraire des articles et des méta-données connexes de nombreuses sources différentes. Vous pouvez extraire des images, du texte et des noms d’auteurs.

Il a même une fonctionnalité NLP intégrée.

Par conséquent, si vous envisagez d’utiliser BeautifulSoup ou une autre bibliothèque pour le raclage Web dans votre prochain projet, il est préférable d’économiser votre temps et vos efforts et d’installer le journal:

$ pip installer le journal3k

Surcharge de l'opérateur

Python prend en charge la surcharge d’opérateurs - une des choses dont parlent tous les vrais informaticiens.

En fait, l'idée est simple. Vous êtes-vous déjà demandé pourquoi Python vous permet d'utiliser l'opérateur + pour ajouter des nombres et concaténer des chaînes? Derrière cela, il n'y a que la surcharge de l'opérateur.

Vous pouvez définir des objets qui utilisent des caractères d'opérateur standard de quelque manière que ce soit. Cela vous permet de les appliquer dans le contexte des objets avec lesquels vous travaillez:

La fonction standard Python print () fait l'affaire. Mais si vous essayez d'afficher un gros objet imbriqué, le résultat ne sera pas très joli.

Le module de la bibliothèque standard pprint (pretty print) vient ici à la rescousse. En l'utilisant, vous pouvez afficher des objets avec une structure complexe sous une forme lisible.

Indispensable pour tout développeur Python utilisant des structures de données personnalisées:

Python prend en charge le multi-threading, que le module standard Queue vous aide à utiliser.

Cela vous permet d'implémenter une telle structure de données en tant que file d'attente. Les files d'attente vous permettent d'ajouter et de récupérer des éléments selon une règle spécifique.

Les files d'attente FIFO «premier entré, premier sorti» vous permettent de récupérer des objets dans l'ordre dans lequel ils ont été ajoutés. Dans les files d'attente «dernier entré, premier sorti» («dernier entré, premier sorti», LIFO), vous pouvez récupérer les derniers objets ajoutés.

Enfin, les files d'attente prioritaires vous permettent de récupérer des objets selon leur ordre de tri.

Vous pouvez voir ici un exemple d'utilisation de files d'attente dans la programmation Python multi-thread.

Lors de la définition d'une classe ou d'un objet, il est utile d'ajouter une manière “officielle” de représenter l'objet sous forme de chaîne. Par exemple:

Cela simplifie grandement le débogage. Voici tout ce que vous devez faire:

Environ La méthode __repr __ () vous permet de définir une représentation de chaîne destinée au programmeur et facile à utiliser lors du débogage, tandis que la méthode __str __ () vous permet de définir une représentation conviviale de chaîne pouvant être affichée dans l'interface du programme.

Python est un excellent langage de script. Mais parfois, les bibliothèques de système d'exploitation et de sous-processus standard ne causent que des problèmes.

La bibliothèque sh peut être une bonne alternative.

Il vous permet d’appeler n’importe quel programme en tant que fonction standard, ce qui est utile pour automatiser diverses tâches exclusivement à l’aide de Python:

Environ La bibliothèque sh ne supporte que les plates-formes Linux et macOS; pour travailler sous Windows, vous devez rechercher un autre outil.

Annotations de type

Python est un langage typé dynamiquement. Il n'est pas nécessaire de spécifier le type de données lors de la définition de variables, fonctions, classes, etc.

Cela accélère le processus de développement. Cependant, peu est ennuyeux autant qu’une erreur d’exécution causée par une incompatibilité de type simple.

Depuis Python 3.5, vous pouvez ajouter des annotations de type lors de la définition d'une fonction:

Vous pouvez même définir des alias de type:

Bien que leur utilisation soit facultative, le code peut être rendu plus compréhensible à l’aide d’annotations de type.

Ils vous permettent également d'utiliser des outils de vérification de type pour détecter les erreurs TypeError.

Le module standard uuid est un moyen rapide et facile de générer un UUID (identificateur unique universel).

Nous créons donc un nombre aléatoire de 128 bits qui sera presque certainement unique.

Il y a plus de 2¹²² UUID possibles. Cela représente plus de 5 milliards, ou milliards, de milliards.

La probabilité de trouver des doublons dans un ensemble donné est extrêmement faible. Même avec un billion d'UUID, la probabilité qu'il y ait un doublon parmi eux est bien inférieure à un sur un milliard.

Pas mal pour deux lignes de code.

Environnements virtuels

Les programmeurs Python travaillent souvent sur plusieurs projets à la fois. Malheureusement, parfois deux projets dépendent de versions différentes de la même dépendance. Lequel installer?

Heureusement, Python prend en charge les environnements virtuels qui exploitent le meilleur des deux mondes. A l'invite de commande, entrez:

Vous pouvez maintenant avoir différentes versions indépendantes de Python sur le même ordinateur.

Wikipedia possède une API intéressante qui vous permet d'accéder à une source inégalée d'informations totalement gratuites.

Le module wikipedia rend l'accès à cette API presque excessivement pratique:

Comme un vrai site, le module prend en charge de nombreuses langues, résout l’ambiguïté des pages, obtient une page aléatoire et même la méthode donate ().

L'humour est une caractéristique clé de Python. À la fin, la langue a été nommée d'après la comédie britannique Monter Python, Flying Circus. Dans de nombreux lieux de documentation officielle, vous pouvez trouver des références aux épisodes les plus célèbres de la série.

Bien entendu, le sens de l'humour ne se limite pas à la documentation. Essayez d'entrer la ligne suivante:

Reste toi-même, Python. Reste toi-même.

YAML signifie "YAML n’est pas un langage de balisage" ("YAML Ain’t Markup Language"). C'est un langage de formatage de données qui est un sur-ensemble de JSON.

Contrairement à JSON, YAML peut stocker des objets plus complexes et référencer ses propres éléments. Vous pouvez également y écrire des commentaires, ce qui rend YAML adapté aux fichiers de configuration.

Le module PyYAML vous permet d’utiliser YAML en Python. Vous pouvez l'installer comme ceci:

$ pip installer pyyaml

Et puis importer:

PyYAML vous permet de stocker tous les objets et instances Python de toutes les classes personnalisées.

Enfin, une autre chose cool. Avez-vous déjà eu besoin de créer un dictionnaire à partir de deux listes?

La fonction zip () intégrée prend plusieurs objets itérables et renvoie une séquence de n-uplets. Chaque tuple regroupe les éléments des objets par leur index.

Vous pouvez effectuer l'inverse de zip () en utilisant zip (*).

Et quelles techniques ou bibliothèques utiles connaissez-vous? Partagez dans les commentaires.

  1. 0, 0.0 ↩
  2. 0, 1.0 ↩
  3. 0, 1.0 ↩
  4. 0, -2.0 ↩

Comment Yandex utilise vos données et votre apprentissage automatique pour personnaliser des services - lisez et regardez YaC 2019.