J'ai fait un texte Python

● Corps du texte (format PDF 299 pages: 3,12 Mo) Mis à jour le 2020/05/14 (→ DL du site miroir) Principales bibliothèques mentionnées:  Kivy, argparse, socket, threading, concurrent, requests,  BeautifulSoup, mpmath, subprocess, datetime, pickle, struct,  base64, collections, enum, shutil, zipfile, wave, PyAudio,  Tkinter → Exemple de programme en texte __ [Comment apprendre] __ Exécutez l'exemple en lisant les chapitres 1 et 2. Je pense qu'il est bon de comprendre ce faisant. (Vous pouvez sauter les parties que vous trouvez difficiles) Lisez les autres chapitres au besoin. Faites votre propre variation de l'exemple d'exécution dans le texte Vous approfondirez votre compréhension si vous continuez en essayant. Pour ceux qui connaissent déjà Python dans une certaine mesure, grammaire et exemples Je pense que cela peut aussi être utilisé pour le découvrir. ● Livre de la bibliothèque (format PDF 185 pages: 3,41 Mo) 2020/06/03 mise à jour (→ DL du site miroir) (Ancien nom: livre de module Python3) Bibliothèque mentionnée:  OpenCV, Pillow, pygame, Eel, PyDub, NumPy, matplotlib,  SciPy, SymPy, hashlib, passlib, Cython, Numba, ctypes,  PyInstaller, JupyterLab, json, urllib, zenhan, jaconv → Exemple de programme dans le livre de la bibliothèque Bien que NumPy et matplotlib soient extrêmement sophistiqués Je m'inquiète de ce dont je devrais me souvenir. Alors La quantité de contenu que "Si vous vous en souvenez pour le moment, ce sera plus facile plus tard" Je le cherche. --------------------- Présentation des activités de séminaire utilisant Python. → Introduction des activités appliquant Python --------------------- J'écris un article parce que je veux que les gens réfléchissent calmement aux forces / faiblesses de Python au cas où certaines personnes croiraient aveuglément en Python. → Examen des avantages et inconvénients de Python --------------------- [Lien utile] ・ Bibliothèque compilée pour Windows C'est un format à installer par PIP. Il est pratique lorsque la méthode d'installation standard ne fonctionne pas. (Comme il est "non officiel", veuillez le faire à vos risques et périls) --------------------- [Liés au traitement des données] Je rédige un texte sur les connaissances de base pour le traitement des données avec Python. Il s'agit encore d'un prototype, et j'aimerais connaître vos opinions et vos conseils. → Texte du traitement des données par Python --------------------- 【PySimpleGUI】 Probablement la bibliothèque GUI la plus facile à utiliser pour Python. J'aimerais entendre vos opinions. → Utilisation de base de l'interface graphique PySimple ---------------------   (2017/05/16) J'enseigne la programmation à l'école. J'ai fait un manuel d'introduction à Python3 pour enseigner aux débutants. Ceci est un livre d'introduction pour ceux qui maîtrisent déjà un langage pour s'habituer rapidement à Python.   Il explique tout de suite au point où vous pouvez créer une application en utilisant la bibliothèque graphique "Kivy". (Introduction à Kivy) En outre, une explication introductive des requêtes et de BeautifulSoup4 pour le scraping Web est fournie. (Explication de base sur Tkinter)   Bien que le degré d'achèvement soit encore faible, le texte sera révisé et mis à jour s'il est utilisé dans le domaine de l'éducation. Nous le publierons gratuitement, nous vous serions donc reconnaissants de bien vouloir nous donner votre avis. Si vous constatez des erreurs, veuillez nous en informer. Les informations de contact se trouvent au dos du texte.

Page d'introduction   Ceux qui veulent l'utiliser sont les bienvenus. Je souhaite améliorer le degré de perfection tout en recevant des avis. Surtout, j'espère qu'il sera utilisé par les enseignants qui enseignent la programmation à l'école. Nous vous serions reconnaissants de bien vouloir nous faire part de vos demandes ou suggestions sur le terrain. (Réfléchissez le plus possible dans le texte) Si cela entre dans le cadre de ce livre, vous pouvez également nous envoyer vos questions. Nous ferons de notre mieux pour vous accueillir.

Nous fournissons également des Matériel didactique vidéo qui résume le contenu du texte.

Supplément (mises à jour, informations, etc.)

-------------- [Supplément](2020/05 / 27-06 / 03) Ajouté au livre de la bibliothèque. J'ai ajouté divers ajouts à l'explication sur la gestion des matrices NumPy et SymPy. J'ai ajouté une explication sur la façon de dessiner un graphique circulaire et un graphique à barres horizontales avec matplotlib. Ajouté (comment spécifier l'en-tête) à la partie explication de la sortie CSV du tableau NumPy. Autres corrections mineures   -------------- [Supplément](2020/04 / 05-05 / 14) Ajouté au corps du texte. J'ai ajouté un peu à la partie de l'affectation partagée. Ajout d'un commentaire sur l'erreur de calcul du flottant. Ajout d'un commentaire sur le module zipfile pour gérer les archives ZIP. L'explication la plus élémentaire sur pprint est publiée. Quelques ajouts à l'expression régulière. Nous avons publié un exemple qui convertit les nombres avec des points décimaux en nombres binaires / conversion inverse. Ajout d'un commentaire sur la chaîne des opérateurs de comparaison. Quelques ajouts à l'annexe «Gestion de l'utilisation de la mémoire». Autres corrections mineures (je trouve des erreurs embarrassantes à chaque fois que je vérifie ...)   Ajouté au livre de la bibliothèque. Ajout d'une explication sur la façon de dessiner un graphique à barres 3D avec matplotlib. En outre, quelques ajouts à l'explication de la création de matrice zéro (NumPy). Ajout de la méthode d'E / S de fichier à l'explication du module json. Quelques ajouts aux parties min, max, argmin et argmax de NumPy. J'ai expliqué comment tracer les coordonnées polaires avec matplotlib. Dans la section du module sympy, l'explication de la fonction var et l'explication des fonctions liées aux nombres premiers sont incluses.   (Excuses) Il y a eu une erreur dans l'explication de la sortie LaTeX dans la section sympy du livre de la bibliothèque. Veuillez le remplacer par la dernière version car elle a été corrigée.   -------------- [Supplément](2020/03 / 13-24) Ajouté au corps du texte. Ajout d'une explication sur la façon de sortir un fichier avec la fonction d'impression. Ajout d'un commentaire sur la façon d'écrire un tuple de variables après l'instruction for et d'effectuer une affectation fractionnée. Ajout d'une explication sur les collections. Ajout d'un commentaire sur issubclass pour vérifier la relation d'héritage des classes. Ajouté concernant la sortie des fichiers WAV. Autres ajouts et corrections

Ajouté au livre de la bibliothèque. Explique comment agréger des tableaux NumPy de manière unique. Explique comment insérer et supprimer des éléments dans le tableau NumPy.   -------------- [Supplément](2019/12 / 01-20) Ajouté au corps du texte. Ajouté (re.sub, re.split) à l'expression régulière. J'ai ajouté un commentaire sur les lignes fractionnées qui divise une chaîne de caractères qui s'étend sur plusieurs lignes. J'ai ajouté un commentaire sur la formule d'affectation (Python3.8 ~). Ajout d'une description du module argparse pour l'analyse des arguments de commande. Une explication rudimentaire sur le module enum a été ajoutée. Autres corrections et ajouts mineurs.   -------------- [Supplément](2019/09 / 01-14) Quelques ajouts et corrections au corps du texte. Nous avons publié un exemple de programme qui énumère tous les Unicode dans lesquels les caractères sont définis.

-------------- [Supplément](2019/08 / 01-31) Ajouté au corps du texte. -Ajout d'explications de base sur l'assertion et la levée qui soulève des exceptions -Ajouté à l'explication sur les objets dictionnaire -Ajout d'explications sur le fonctionnement des bits -Ajout d'explications sur le module shutil ・ Autres ajouts et corrections

Vous avez signalé (ou grondé) la notation du symbole "". Comme le texte est écrit en TeX, il est difficile d'afficher le "symbole du cercle japonais" demi-largeur, et de nombreuses parties ont été écrites en utilisant le "¥" pleine largeur. Comme vous l'avez souligné, c'est une très mauvaise chose, alors je vais y remédier. → (Il a été considérablement corrigé)

Ajouté au livre de la bibliothèque. Un exemple de la procédure pour dessiner un diagramme de dispersion en trois dimensions avec matplotlib est affiché. J'ai également commencé à écrire sur SciPy. Autres ajouts et corrections. __Correction et excuses __: Il y a une erreur dans l'exemple de programme scatter3d01.py publié dans la version 7/31 du livre de la bibliothèque. Veuillez le remplacer par la dernière version car elle a été corrigée.   -------------- [Supplément](2019/06 / 08-07 / 26) Ajouté au corps du texte. Un exemple de programme permettant d'étudier dans quelle mesure la vitesse de calcul change selon que NumPy est utilisé ou non est inclus dans l'annexe. En outre, j'ai ajouté une explication sur la façon de supprimer l'affichage des messages d'avertissement et un contenu qui introduit le profileur de mémoire qui vérifie l'utilisation de la mémoire du système de traitement Python. Ceux-ci seront nécessaires lors du traitement des données avec Jupyter Lab.   Quelques ajouts à la partie NumPy du livre de la bibliothèque. J'ai expliqué comment appliquer la vitesse élevée du calcul matriciel et comment gérer les images en tant que données de tableau. De plus, j'ai ajouté une description de la fonction de table qui dessine un tableau à deux dimensions sous forme de tableau avec matplotlib. __Correction et excuses __: Dans l'explication de la FFT de NumPy, le "spectre d'amplitude" a été décrit à tort comme "spectre de puissance". Je suis désolé. Je l'ai corrigé, veuillez donc le remplacer.

-------------- [Supplément](2019/05 / 21-06 / 06) Le nom "module book" peut ne pas être bon. Dans le contenu de la série de textes distribués, la gestion des termes tels que «module», «package» et «bibliothèque» reste incorrecte. J'ai commencé à penser à le réparer. Changez le nom en "Python3 Library Book".

Selon le site Web du ministère de l'Éducation, de la Culture, des Sports, des Sciences et de la Technologie, Python est utilisé pour la programmation dans les départements d'information des lycées. Il est écrit. Je pense que le contenu du texte à distribuer doit être considéré avec beaucoup d'attention.

-------------- [Supplément](2019/05 / 01-18) Ajouté au corps du texte. J'ai ajouté un commentaire sur énumérer. Plus vous en apprenez, plus vous réalisez que Python est "un trésor d'astuces pour une utilisation facile".

Ajouté au livre du module. J'ai ajouté la partie de NumPy. L'utilisation de base du module PyDub est publiée. De plus, quelques ajouts liés à OpenCV et PyGame. Il est presque temps de vérifier (réviser) le livre du module dans son ensemble (veuillez patienter)

-------------- [Supplément](2019/04 / 06-30) Ajouté au corps du texte. Puisque f-string est une fonction très pratique, j'ai inclus une explication de son utilisation de base. Ajout d'une brève explication sur la commande conda d'Anaconda. Ajouté au livre du module. L'explication de la façon de dessiner une carte thermique avec matplotlib et de la conversion d'une image en un tableau numérique de pixels est incluse. De plus, quelques explications de NumPy ont été ajoutées et modifiées.   -------------- [Supplément](2019/02 / 22-03 / 28) Maintenance du corps du texte.

Kivy est recommandé pour créer des "applications décentes".   -------------- Supplément Puisqu'il est devenu nécessaire d'exécuter le dessin de fenêtre et la manipulation du clavier et de la souris à grande vitesse, j'ai commencé à résumer comment utiliser Pygame.   Je l'ajouterai bientôt au livre du module.   -------------- Supplément Ajouté au corps du texte. Ajout d'une méthode pour vérifier si une clé existe dans le dictionnaire dans la partie explication de l'objet de type dictionnaire. Également ajouté à propos de la conversion de type de données. J'ai réalisé que l'explication des questions étonnamment rudimentaires manquait. Après tout, lorsque vous commencez réellement à utiliser le texte, vous trouverez des fissures les unes après les autres. Corps du texte   -------------- Supplément L'explication d'introduction de hashlib est incluse dans le livre du module. Module Book (Module de génération de hachage cryptographique) Nécessaire pour masquer les chaînes de caractères de mot de passe et créer des signatures numériques pour les documents.   -------------- Supplément J'ai ajouté la partie "Générer la liste en utilisant pour" dans le corps principal du texte, et également ajouté la conversion entre les caractères et les codes de caractères. Corps du texte   Lorsque vous commencez à l'utiliser pour les étudiants, vous verrez plus de pièces à ajouter.   -------------- Supplément "Disclaimer" a été ajouté à chaque texte.   -------------- Supplément J'ai ajouté un peu au texte lui-même. (Fait partie du sous-processus) De plus, j'ai ajouté un commentaire sur la façon de concaténer des chaînes de caractères. (J'ai manqué l'explication bien que ce soit une méthode importante) Corps du texte   -------------- Supplément L'index du texte lui-même était médiocre, j'ai donc ajouté un peu. Corps du texte   -------------- Supplément J'ai reçu une question (demande?) "Voulez-vous expliquer le module pandas?"   s'il te plaît attend un moment. Je n'ai aussi qu'un seul corps ... Cependant, je m'inquiétais à ce sujet, alors je peux le commencer vers les vacances d'été. J'en aurai réellement besoin pour mes activités de séminaire ... (je n'ai aucune promesse quand ce sera   les pandas semblent être utiles pour l'analyse statistique.   -------------- Supplément J'ai commencé à écrire numpy et matplotlib dans le livre du module. Module Book   Désormais, il semble que le nombre d'ajouts au livre du module augmentera avec les activités du séminaire.   -------------- Supplément Ajout d'une méthode pour démarrer un programme externe à l'aide du module de sous-processus. Corps du texte Il explique également comment démarrer plusieurs programmes externes et effectuer des E / S de canal de manière asynchrone avec eux.   Concernant le module asyncio, il semble dépasser le cadre de "débutant" et "introduction", je pense donc en faire un contenu de commentaire sous une forme différente de ce texte. (Léger changement de politique)   Après cela, si vous mettez une explication introductive des modules numpy et matplotlib dans le livre des modules, il semble que vous puissiez l'utiliser comme matériel pédagogique pour les séminaires pendant un certain temps.   De plus, j'ai ajouté une méthode pour générer des nombres aléatoires. (Indispensable pour créer des jeux)   -------------- Supplément Numpy est un standard pour les opérations numériques à grande vitesse en Python. Cependant, numpy n'est pas universel dans tous les aspects du sujet de recherche, et pour obtenir une solution numérique d'une équation différentielle arbitrairement établie, il est nécessaire d'écrire un programme de simulation individuellement.   En ce qui concerne numpy, j'écrirai une explication introductive dans le livre du module, mais comme je dois traiter le thème de mon séminaire le plus tôt possible, j'écrirai le code de simulation en langage C pendant un moment.   Donc, nous allons appeler le programme (fichier exécutable) écrit en C depuis Python et lancer uniquement la partie qui nécessite de la vitesse à C. Il semble que de nombreux modules appellent des programmes externes comme ça.   Je vais donc rassembler dès que possible l'utilisation des modules sous-processus et asyncio dans le corps du texte.   -------------- Supplément Langue KV de Kivy, je dois organiser les informations pour les débutants. J'ai réfléchi à la manière d'apprendre et de consulter les étudiants.   C'est le thème suivant. Au bout d'un moment, je corrigerai et rajouterai le texte ...   -------------- Supplément-2 Les élèves ont fait une «voix décevante» lorsque la saisie de texte de Kivy ne supportait pas la méthode de saisie japonaise de Windows / Mac. Mais c'est encore dans le futur.   L'affichage peut être corrompu lors de la saisie, mais pour le moment, je peux saisir du japonais d'une manière ou d'une autre ... Kivy est en train de se développer. Il convainc les étudiants que «l'interface utilisateur a le plus grand potentiel et sera au centre de l'attention à l'avenir! J'ai des attentes personnelles, mais je sortirai avec Kivy pendant un moment.

Parmi eux, je pense qu'il ne fait aucun doute que la mise à jour l'améliorera grandement.   -------------- Supplément Il semble que la traduction japonaise du site de documents Kivy soit en cours. Site du document Kivy   Je vous remercie. Ceci est utile lorsque vous avez besoin d'une référence détaillée.   -------------- Supplément L'explication d'introduction de SymPy est incluse dans le livre du module. Module Book (Module de traitement de formule) Vous pouvez faire des choses comme Mathematica et Maxima.   Vous vous demandez peut-être "Pourquoi SymPy?", Mais le thème de notre séminaire est "Proposition d'une interface utilisateur pour un système de traitement mathématique facile à utiliser", et c'est la situation.   SymPy est un excellent package, et c'est un niveau qui rivalise avec les systèmes commerciaux à l'exception des fonctionnalités graphiques (probablement). Le manuel compte également plus de 1700 pages en PDF ...   Je pense que Maxima, qui est libre d'utiliser comme calculatrice mathématique, ou Mathematica, si vous avez de l'argent, est bien. Vous pouvez facilement créer des tracés 3D. (Personnellement, je ne recommande pas de forcer SymPy à être une calculatrice mathématique telle quelle. Je pense que c'est un problème ...)   Je pense que SymPy sera très utile lors du développement d'applications qui intègrent des fonctions de traitement mathématique (logiciel éducatif, applications d'aide à la réflexion, etc.)   -------------- Supplément À propos de Kivy: Ajout d'explications sur l'utilisation de base d'ActionBar (menu de style Kivy), ScreenManager, Carousel, TabbedPanel. (Répondu aux demandes des étudiants)   En outre, j'ai ajouté une explication de base sur le module d'horloge nécessaire pour gérer les événements de temps (minuteries) dans Kivy. Il y avait un étudiant qui a essayé d'utiliser pendant et pendant pour répéter le processus de démarrage au moment de l'application GUI. Réglez plutôt une minuterie.   Avec cela, je me demande si je peux donner des conseils sur la création d'applications ...   J'ai peur de craquer, mais je vais l'écraser avec le temps. Corps du texte En cas de problème, contactez-nous. Nous allons le corriger et le télécharger immédiatement. -------------- Supplément-2 Lors de la création d'une application avec Kivy, si vous utilisez le langage KV, il est un peu difficile pour les débutants de déboguer ...   Si vous faites une erreur dans un programme Python, le message d'erreur est facile à comprendre, mais il est difficile de détecter l'erreur commise dans KV ... En bref, le message "Il y a une erreur XX dans quelle ligne de la langue KV" n'apparaît pas.   Pour les experts, le langage KV est apprécié en termes d'efficacité de développement, mais pour les débutants, le langage KV est susceptible de réduire l'efficacité de l'étude ...   Jusqu'à ce que vous vous habituiez à Kivy, je pense qu'il est préférable d'écrire des API en Python normalement, mais qu'en pensez-vous ...   -------------- Supplément Nous vous avons posé des questions sur la gestion du frame buffer (FBO) de Kivy, nous avons donc ajouté un commentaire. Il semble qu'il soit difficile d'extraire la valeur du pixel avec un dessin Canvas ordinaire. C'est pourquoi nous utilisons FBO. Corps du texte   -------------- Supplément L'explication d'introduction de Pillow est incluse dans le livre du module. Module Book (Module de traitement d'image) Vous pouvez faire des choses comme Photoshop.   -------------- Supplément La date de sortie est juillet, mais j'ai immédiatement reçu une voix disant "Je veux que vous m'apprendriez à utiliser le son", j'ai donc ajouté le contenu. (Wave, PyAudio) De plus, nous avons fait quelques ajouts et corrections en réponse aux consultations des étudiants.   J'ai commencé à faire un "module book". Je n'ai écrit que la partie comme l'introduction du module OpenCV. (Module de reconnaissance d'image) Module Book   En ce qui concerne les modules, il y a trop de types ouverts au public, donc je pense que je vais principalement écrire sur ceux que j'ai appris à utiliser dans mon séminaire.

Liés à Udemy

Il est assez difficile pour ceux qui ont obtenu leur diplôme (ou sont inscrits à) la Faculté des sciences humaines (littérature) d'apprendre la programmation par eux-mêmes. Les textes Python publiés gratuitement supposent que ceux qui sont déjà familiarisés avec d'autres langages apprendront Python dans un court laps de temps.   Si vous apprenez la programmation pour la première fois, vous aurez besoin d'un guide détaillé sur ce qu'il faut faire en particulier. Ceux qui sont réellement formés au langage Python à l'école et ceux qui ont un certain nombre d'amis qui connaissent Python peuvent naturellement comprendre les points détaillés de l'apprentissage, mais ce n'est pas dans un tel environnement. Je pense qu'il y a des inconvénients à apprendre.   En fait, j'ai enseigné la programmation et je suis profondément convaincu de cela. Ceux qui maîtrisent dans une certaine mesure C ++, Java et JavaScript peuvent apprendre par eux-mêmes uniquement avec des textes Python, mais ceux qui ne le font pas peuvent se retrouver très tôt avec des textes seuls. Pour une telle personne, je dois donner une explication détaillée au niveau des opérations devant le PC.     De nos jours, de nombreux excellents matériels pédagogiques (livres, sites Internet, etc.) liés à Python sont vendus et diffusés, y compris payants et gratuits, et je pense qu'il est de moins en moins difficile d'obtenir des sources d'informations. .. Cependant, je pense qu'il est difficile d'obtenir les "points opérationnels détaillés" mentionnés ci-dessus à partir du support textuel, et pour le moment, je pense traiter cela avec du matériel didactique vidéo.   Jusqu'à présent, Udemy propose un cours vidéo, et je voudrais le présenter ici. C'est un résumé plus compact du texte libre "Introduction à Python 3".   Veuillez comprendre qu'il s'agit d'un cours vidéo qui est complètement inutile pour ceux qui ne peuvent apprendre Python qu'avec le texte libre "Introduction à Python 3", d'autres livres et des informations sur les sites Internet.   Ce matériel vidéo d'Udemy a été créé pour ceux qui ont été frustrés par l'auto-apprentissage en Python ou qui apprennent la programmation pour la première fois en Python. (11 heures au total)   >>> Lien vers le cours   ・ Facebook ・ Twitter

table des matières

[Table du corps du texte]

1 Présentation --- 1 1.1 Ce que vous pouvez faire avec Python --- 1 1.2 Contenu de ce manuel --- 1 1.2.1 Comment lire ce livre --- 2 1.3 Comment installer et démarrer le système de traitement --- 2 1.3.1 Distribution du système de traitement Python (formulaire de distribution) --- 2 1.3.2 Démarrage du système de traitement Python --- 2 1.3.3 Mode interactif --- 3 1.4 Bibliothèque GUI à utiliser --- 3 1.5 Informations détaillées sur Python --- 3 2 Principes de base de Python --- 4 2.1 Exécution du script --- 4 2.1.1 Commentaires à écrire dans le programme --- 5 2.1.2 Retrait de programme --- 5 2.2 Types de variables et de données --- 6 2.2.1 Variables de libération (rejet) --- 7 2.2.2 Valeur numérique --- 7 2.2.2.1 Valeur maximale, valeur minimale --- 10 2.2.2.2 Arrondi des nombres à virgule flottante --- 11 2.2.2.3 Fonction mathématique --- 11 2.2.2.4 Valeurs spéciales: inf, nan --- 12 2.2.2.5 Traitement des nombres à virgule flottante avec une précision de longueur multiple --- 14 2.2.2.6 Traitement des fractions --- 15 2.2.2.7 Génération aléatoire --- 17 2.2.3 Chaîne de caractères --- 18 2.2.3.1 Séquence d'échappement --- 18 2.2.3.2 chaîne de caractères brute (chaîne brute) --- 19 2.2.3.3 Chaîne de caractères sur plusieurs lignes --- 19 2.2.3.4 Décomposition et composition des chaînes de caractères --- 20 2.2.3.5 Remplacement de la chaîne de caractères --- 21 2.2.3.6 Remplacement des caractères --- 22 2.2.3.7 Jugement des lettres et des chiffres --- 22 2.2.3.8 Conversion et jugement en majuscules / minuscules --- 23 2.2.3.9 Contrôle du contenu de la chaîne de caractères --- 23 2.2.3.10 Code de caractère / type de caractère --- 24 2.2.4 Valeur de vérité (type booléen) --- 26 2.2.5 Objet nul: Aucun --- 26 2.2.6 Conversion de type --- 26 2.2.7 Contrôle de type --- 26 2.2.8 Conversion de base --- 27 2.2.8.1 nombre n-aire → nombre décimal --- 27 2.2.8.2 Déclin → n-aire --- 27 2.2.9 Fonctionnement sur bits --- 28 2.3 Structure des données --- 30 2.3.1 Liste --- 30 2.3.1.1 Accès aux éléments de la liste --- 30 2.3.1.2 Modifier la liste --- 30 2.3.1.3 Réalisation de stack et queue par liste: méthode pop --- 32 2.3.1.4 Inspection de la liste --- 33 2.3.1.5 Traitement des exceptions --- 34 2.3.1.6 Comptage du nombre d'éléments --- 35 2.3.1.7 Alignement des éléments (1): méthode de tri --- 36 2.3.1.8 Alignement des éléments (2): fonction triée --- 37 2.3.1.9 Inversion de l'ordre des éléments --- 37 2.3.1.10 Liste en double --- 37 2.3.2 Taple --- 38 2.3.2.1 Taple spécial --- 39 2.3.3 ensemble --- 39 2.3.3.1 Manipulation de la théorie des ensembles --- 40    2.3.3.2 frozenset --- 41  2.3.4 Type de dictionnaire --- 41 2.3.4.1 Accès au dictionnaire par la méthode get --- 41 2.3.4.2 Comment récupérer les colonnes clé et valeur --- 42 2.3.4.3 Comment vérifier le nombre d'éléments dans un objet de type dictionnaire --- 42 2.3.4.4 Comment générer un dictionnaire à partir d'une liste ou d'une taple --- 43 2.3.4.5 Comment récupérer tous les éléments du dictionnaire sous forme de colonnes --- 43 2.3.5 Application avancée des indices (tranches) --- 43 2.3.5.1 Objet Slice (référence) --- 44 2.3.6 Conversion de la structure des données --- 45 2.3.7 Attribution de valeur selon la structure des données (attribution fractionnée) --- 46 2.3.7.1 Extraction partielle sélective de la structure de données --- 47 2.3.8 Structure de données aléatoire --- 47 2.3.9 À propos de la vitesse d'accès à la structure de données --- 47 2.4 Structure de contrôle --- 48 2.4.1 Répéter (1): pour --- 48 2.4.1.1 objet de portée --- 49 2.4.1.2 else in for instruction --- 50 2.4.1.3 Génération de la structure de données en utilisant for (notation d'inclusion d'élément) --- 50 2.4.1.4 Itérateur --- 51 2.4.1.5 Pour l'instruction utilisant l'affectation fractionnée --- 52 2.4.1.6 fonction zip et objet zip --- 52 2.4.1.7 Ajout d'informations d'index par énumération --- 53 2.4.2 Répéter (2): pendant --- 54 2.4.3 Interruption répétée et saut --- 55 2.4.4 Branche conditionnelle --- 55 2.4.4.1 Expression conditionnelle --- 56 2.4.4.2 Jugement conditionnel concernant diverses valeurs "vides" --- 56 2.4.4.3 Comparaison par «est» --- 58 2.5 entrée / sortie --- 59 2.5.1 Sortie standard --- 59 2.5.1.1 Formatage des données de sortie --- 59 2.5.1.2 Gestion de la sortie standard par le module sys --- 61 2.5.2 Entrée standard --- 62 2.5.2.1 Traitement de l'entrée standard par le module sys --- 63 2.5.3 Entrée du fichier --- 64 2.5.3.1 Gestion des chaînes d'octets --- 67 2.5.3.2 Comment vérifier le système de code de la chaîne d'octets --- 68 2.5.3.3 Comment lire le nombre d'octets spécifié --- 68 2.5.3.4 Comment lire le contenu du fichier à la fois --- 68 2.5.3.5 Comment lire un fichier en tant qu'itérateur --- 68 2.5.4 Sortie dans un fichier --- 69 2.5.5 Sortie d'erreur standard --- 69 2.5.6 Gestion des chemins (fichiers, répertoires) --- 71 2.5.6.1 Opérations liées au répertoire courant --- 71 2.5.6.2 Liste du contenu du répertoire --- 72 2.5.6.3 Obtenir la taille du fichier --- 72 2.5.6.4 Inspection des fichiers et répertoires --- 72 2.5.6.5 Supprimer des fichiers et des répertoires --- 72 2.5.6.6 Informations sur l'exécution des scripts --- 73 2.5.6.7 Concaténation des expressions de chemin --- 73 2.5.6.8 Encore une autre façon de gérer les chemins: pathlib --- 73 2.5.7 Acquisition des arguments de commande --- 75 2.5.8 Soyez prudent lors du traitement des entrées / sorties --- 76 2.6 Définition des fonctions --- 77 2.6.1 Arguments formels --- 77 2.6.1.1 Une fonction avec un nombre indéfini d'arguments --- 77 2.6.1.2 Comment écrire `* 'dans l'argument lors de l'appel d'une fonction --- 78 2.6.1.3 Argument mot-clé --- 78 2.6.2 Portée des variables (traitement des variables à l'intérieur et à l'extérieur de la définition de la fonction) --- 79 2.6.3 Suppression de la fonction définie --- 80 2.7 Programmation orientée objet --- 81 2.7.1 Définition de classe --- 81 2.7.1.1 Constructeur --- 81 2.7.1.2 Définition de la méthode --- 81 2.7.1.3 Variable de classe --- 82 2.7.1.4 Enquête sur les attributs (enquête sur la propriété) --- 84 2.7.2 Enquête sur la relation d'héritage de classe --- 84 2.8 Programmation selon la structure des données --- 85 2.8.1 fonction de carte --- 86 2.8.1.1 Carte d'une fonction qui prend plusieurs arguments --- 87 2.8.1.2 Comment donner un objet zip à la fonction map --- 87 2.8.2 lambda et définition de la fonction --- 88   2.8.3 filter --- 90  2.8.4 if ~ else comme opérateur de terme ... --- 90 2.8.5 Jugement par lots par tous, tous --- 90 2.8.6 Module de fonction d'ordre supérieur: functools --- 92    2.8.6.1 reduce --- 92  2.9 Formule de substitution --- 93 3 Construire une application GUI avec Kivy --- 94 3.1 Principes de base de Kivy --- 94 3.1.1 Mise en œuvre du programme d'application --- 94 3.1.2 Concept de construction de l'interface graphique --- 94 3.1.2.1 Widget --- 95 3.1.2.2 Disposition --- 96 3.1.2.3 Écran --- 96 3.1.3 Manipulation des fenêtres --- 97 3.1.4 Désactiver le multi-touch --- 97 3.2 Méthode de construction de l'application GUI de base --- 98 3.2.1 Traitement des événements (introduction) --- 98 3.2.1.1 Gestion des événements --- 98 3.2.2 Exemple de construction d'application --- 99 3.2.3 Traitement événementiel (méthode par enregistrement de rappel) --- 102 3.2.4 Enregistrer et supprimer des widgets --- 103 3.2.5 Gestion du début et de la fin de l'application --- 104 3.3 Comment utiliser divers widgets --- 105 3.3.1 Étiquette: Étiquette --- 105 3.3.1.1 Enregistrement des polices dans les ressources --- 107 3.3.2 Bouton: Bouton --- 108 3.3.3 Saisie de texte: TextInput --- 108 3.3.4 Case à cocher: CheckBox --- 109 3.3.5 Barre de progression: ProgressBar --- 109 3.3.6 Curseur: Curseur --- 109 3.3.7 Commutateur: Commutateur --- 109 3.3.8 Bouton à bascule: ToggleButton --- 109 3.3.9 Image: Image --- 110 3.3.9.1 Exemple de programme --- 110 3.4 Graphiques sur toile --- 111 3.4.1 Classe graphique --- 112    3.4.1.1 Color --- 112     3.4.1.2 Line --- 112     3.4.1.3 Rectangle --- 112     3.4.1.4 Ellipse --- 113  3.4.2 Exemple de programme --- 113 3.4.2.1 Tracé de la fonction sinus --- 113 3.4.2.2 Affichage de différentes figures et images --- 113 3.4.3 Dessin dans le frame buffer --- 115 3.4.3.1 Extraction de la valeur du pixel --- 116 3.4.3.2 Position des coordonnées obtenue lors de l'événement --- 117 3.5 ScrollView --- 117 3.5.1 Réglage de la taille du widget --- 118 3.6 Réglage pour fixer la taille de la fenêtre (interdire le redimensionnement) --- 118 3.7 Construction de l'interface utilisateur en langue Kivy --- 119 3.7.1 Bases de la langue Kivy --- 119 3.7.1.1 Explication à l'aide de l'exemple de programme --- 119 3.7.1.2 Correspondance entre le programme Python et le fichier Kv --- 121 3.8 Événement horaire --- 122 3.8.1 Calendrier des événements horaires --- 122 3.9 Format de construction de l'interface graphique --- 122 3.9.1 Gestion de l'écran: Screen and Screen Manager --- 123    3.9.1.1 ScreenManager --- 123     3.9.1.2 Screen --- 123  3.9.2 Barre d'action: ActionBar --- 125 3.9.3 Panneau d'onglets: TabbedPanel --- 126 3.9.4 Balayer: Carrousel --- 127 4 Questions nécessaires au développement d'application pratique --- 129 4.1 Traitement de la date et de l'heure --- 129 4.1.1 Fonctions de base --- 129 4.1.1.1 Formatage de la date et de l'heure --- 130 4.1.1.2 propriété datetime --- 130 4.1.2 Utilisation du module horaire --- 131 4.1.2.1 Mesure du temps --- 131 4.1.2.2 Attente de l'exécution du programme --- 132 4.2 Recherche de chaînes de caractères et expression régulière --- 132 4.2.1 Recherche de modèle --- 132 4.2.1.1 Recherche à l'aide d'expressions régulières --- 134 4.2.1.2 Combinaison somme des modèles de recherche --- 136 4.2.1.3 Correspondance de motifs utilisant des expressions régulières --- 137 4.2.1.4 Correspondance de motif au début et à la fin de la ligne --- 137 4.2.2 Processus de remplacement: re.sub --- 138 4.2.2.1 Processus de remplacement sur plusieurs lignes --- 138 4.2.2.2 Processus de remplacement se référant au groupe de correspondance de motif --- 139 4.2.3 Application à la décomposition de chaînes de caractères: re.split --- 139 4.3 Multi-thread et multi-processus --- 140 4.3.1 Multi-thread --- 140 4.3.2 Multi-processus --- 141    4.3.2.1 ProcessPoolExecutor --- 141  4.3.3 Comparaison du temps d'exécution entre multi-thread et multi-process --- 142 4.4 Générateur --- 143 4.4.1 Fonction générateur --- 143 4.4.2 Type de générateur --- 144 4.5 Fractionner la programmation en créant des modules et des packages --- 145 4.5.1 Module --- 145 4.5.1.1 Module en tant que fichier source unique --- 145 4.5.2 Package (bibliothèque configurée comme répertoire) --- 146 4.5.2.1 Exécution du module --- 147 4.5.3 Recherche du répertoire où se trouve le module --- 148 4.5.4 À propos de \ _ \ _ init \ _ \ _. Py --- 148 4.6 Accès aléatoire dans le fichier --- 150 4.6.1 Spécification de l'emplacement d'accès du fichier (recherche du fichier) --- 150 4.6.2 Exemple de programme --- 150 4.7 Sauvegarde et chargement des objets de données: module pickle --- 152 4.8 Création et déploiement de données binaires: module struct --- 154 4.8.1 Création de données binaires --- 154 4.8.2 Extension des données binaires --- 154 4.8.3 À propos de l'ordre des octets --- 156 4.9 Comment convertir des données binaires en texte: module base64 --- 157 4.10 exec et eval --- 159 4.10.1 Désignation de l'espace de noms --- 159 4.10.2 fonction eval --- 159 4.11 module de collections --- 160 4.11.1 File d'attente: deque --- 160 4.11.1.1 Ajout et récupération d'éléments: append, pop --- 160 4.11.1.2 Rotation de l'ordre des éléments: rotation --- 161 4.11.2 Agrégation des éléments: Counter --- 161 4.11.2.1 Extraire les résultats agrégés par ordre de fréquence d'apparition --- 162   4.11.3 namedtuple --- 162  4.12 Type d'énumération: module d'énumération --- 163 4.12.1 Type Enum --- 163 4.12.2 Exemple de gestion des constantes --- 164   4.12.3 IntEnum --- 165  4.12.4 Attribution d'une valeur à l'élément Enum par la fonction auto --- 165 4.13 Traitement des exceptions (erreurs) --- 167 4.13.1 Comment lever une exception --- 167 4.14 Recherche des symboles utilisés --- 169 4.15 avec syntaxe --- 170 4.16 Affichage formaté de la structure des données: module pprint --- 175 4.17 Acquisition d'informations sur l'environnement de traitement --- 176 4.17.1 Acquisition des informations de version de Python --- 176 4.17.2 Utilisation du module de plateforme --- 176 4.17.3 Référence des variables d'environnement --- 177 4.18 Opérations sur les fichiers et répertoires: module shutil --- 179 4.18.1 Fichiers et répertoires en double --- 179 4.18.2 Traitement des fichiers d'archive (archive) et traitement de la compression --- 180 4.19 Gestion de l'archive ZIP: module zipfile --- 181 4.19.1 Ouvrir le fichier d'archive ZIP --- 181 4.19.2 Ajout de membres à l'archive --- 181 4.19.3 Confirmation du contenu de la bibliothèque --- 181 4.19.4 Lecture des membres de l'archive --- 182 4.19.5 Développement de la bibliothèque --- 182 4.19.5.1 Accès à l'archive ZIP protégée par mot de passe --- 183 4.20 Gestion des arguments de commande: module argparse --- 184 4.20.1 Format d'argument de commande --- 184 4.20.2 Comment utiliser --- 184 4.20.2.1 Définition des arguments optionnels --- 185 4.20.2.2 Réglage de l'argument de position --- 185 4.20.2.3 Traitement de l'analyse de la ligne de commande --- 185 4.20.3 Explication selon l'exemple de programme --- 185 4.20.3.1 Fonction d'aide --- 186 4.20.3.2 Spécification du type d'argument de commande --- 187 4.20.4 Méthode d'implémentation de la sous-commande --- 187 4.21 Fin du script (fin du programme) --- 189 5 Communication TCP / IP --- 190 Module de prise 5.1 --- 190 5.1.1 Préparation de la douille --- 190 5.1.2 Traitement du programme côté serveur --- 191 5.1.3 Traitement du programme côté client --- 191 5.1.4 Envoyer et recevoir --- 191 5.1.5 Exemple de programme --- 191 5.2 Analyse du contenu WWW --- 193 5.2.1 bibliothèque de requêtes --- 193 5.2.1.1 Méthode liée à l'envoi de la demande --- 193 5.2.1.2 Méthode relative au contenu acquis --- 194 5.2.1.3 Évaluer en fonction de l'objet Session --- 195 5.2.2 Belle bibliothèque de soupe --- 195 5.2.2.1 Gestion du contenu HTML dans BS --- 196 6 Coopération avec des programmes extérieurs --- 198 6.1 Comment démarrer un programme externe --- 198 6.1.1 Connexion d'entrée / sortie standard --- 198 6.1.1.1 Fermeture de l'entrée standard du programme externe --- 201 6.1.2 Entrée / sortie asynchrone --- 201 6.1.3 Synchronisation avec un processus externe (en attente de fin) --- 203 6.1.4 Une manière plus simple de démarrer un programme externe --- 203 7 Entrée / sortie son --- 205 7.1 Connaissances de base --- 205 7.2 Entrée / sortie de fichier au format WAV: module wave --- 205 7.2.1 Ouverture et fermeture des fichiers au format WAV --- 205 7.2.1.1 Divers attributs des données au format WAV --- 206 7.2.2 Lecture à partir d'un fichier au format WAV --- 206 7.2.3 Exemple de programme --- 206 7.2.4 Relation entre le nombre de bits de quantification et la valeur d'échantillonnage --- 207 7.2.5 Traitement des données de trame lues --- 207 7.2.6 Exemple de sortie de données au format WAV (1): De la liste au fichier WAV --- 209 7.2.7 Exemple de sortie de données au format WAV (2): Du tableau NumPy vers un fichier WAV --- 210 7.2.8 Remarques sur la taille des données sonores --- 211 7.3 Entrée et lecture du son: bibliothèque PyAudio --- 212 7.3.1 Entrée / sortie audio via le flux --- 212 7.3.2 Lecture d'un fichier son au format WAV --- 213 7.3.2.1 Détection de fin de lecture audio --- 215 7.3.3 Entrée du périphérique d'entrée vocale --- 215 A Informations sur Python --- 219 A.1 Site Internet Python --- 219 A.2 Exemple de travail d'installation de Python --- 219 A.2.1 Méthode du package d'installation de la version PSF --- 219 A.2.2 Méthode d'Anaconda --- 220 A.3 Mécanisme de démarrage de Python --- 220 A.3.1 Démarrage de la version PSF Python --- 220 A.3.2 Démarrage d'Anaconda Navigator --- 221 A.3.3 Démarrage de l'invite Anaconda --- 222 A.3.3.1 Gestion de l'environnement Python par la commande conda --- 223 A.4 Gestion de la bibliothèque par PIP --- 223 A.4.1 Solution lorsque la commande PIP ne peut pas être exécutée --- 224 B Informations sur Kivy --- 225 B.1 Exemple de travaux d'installation Kivy --- 225 B.2 Informations pour éviter les problèmes lors de l'utilisation de Kivy --- 225 B.2.1 Paramétrage de l'API de dessin utilisée par Kivy --- 225 B.2.2 À propos de SDL --- 226 B.3 Outil de conception GUI --- 226 C Tkinter: Boîte à outils GUI de base --- 227 C.1 Manipulation de base --- 227 C.1.1 Exemple d'utilisation --- 228 C.1.1.1 Définition de la modification de la taille de la fenêtre --- 229 C.1.2 Placement des widgets --- 229 C.2 Divers widgets --- 231 C.2.1 Bouton de vérification et bouton radio --- 231 C.2.1.1 Classe de variable --- 232 C.2.2 Entrée (zone de texte) et zone de liste déroulante --- 233 C.2.2.1 Fin du programme --- 235 C.2.3 Zone de liste --- 235 C.2.4 Texte (zone d'édition des caractères) et barre de défilement --- 236 C.2.5 échelle (curseur) et barbier de progression --- 238 C.2.5.1 Réglage de la fonction de rappel de classe Vaviable --- 239 C.3 Construction du menu --- 239 C.4 Dessin sur toile --- 241 C.4.1 Méthode de dessin (partielle) --- 241 C.4.2 Gestion des figures --- 244 C.5 Gestion des événements --- 246 C.5.1 Exécution d'une fonction avec un temps spécifié --- 248 C.6 Affichage de plusieurs fenêtres --- 249 C.7 Acquisition d'informations sur les écrans et les fenêtres --- 250 Boîte de message C.8 --- 251 C.8.1 Traitement de la fin de l'application --- 253 D Gestion de la bibliothèque --- 254 D.1 Chose sur la lecture de la bibliothèque --- 254 D.1.1 Accorder un alias lors de la lecture d'une bibliothèque --- 254 D.1.2 Chargement de la bibliothèque pour omettre le préfixe --- 254 D.1.2.1 Précautions lors de l'omission de préfixes (conflit de nom) --- 255 D.2 Introduction de diverses bibliothèques --- 256 E Ingéniosité pour faciliter l'utilisation du mode interactif --- 257 E.1 Suppression et affichage des messages d'avertissement --- 257 E.2 Gestion de l'état de l'utilisation de la mémoire --- 258 Exemple de programme F --- 259 F.1 Comparaison de la vitesse d'accès liste / ensemble / dictionnaire --- 259 F.1.1 Accès sous la forme de donner un index entier aux tranches --- 259 F.1.2 Temps requis pour l'inspection des membres --- 260 F.2 Comparaison de la vitesse de calcul avec et sans utilisation de la bibliothèque --- 263 Exemple d'application F.3 pathlib --- 266 F.4 Conversion entre nombre à virgule flottante et nombre binaire --- 267 F.5 Liste de tous les caractères Unicode --- 268

[Tableau des livres de bibliothèque]

1 Entrée / sortie d'image et traitement --- 1   1.1 OpenCV --- 1  1.1.1 Entrée vidéo --- 2 1.1.2 Interface utilisateur --- 2 1.1.2.1 Entrée du fichier vidéo --- 3 1.1.3 Enregistrer une image dans un fichier --- 3 1.1.4 Lecture d'images fixes --- 4 1.1.5 Séparation et composition des couleurs --- 5 1.1.6 Contrôle de la similitude des images --- 6 1.1.6.1 Calcul du montant de la fonction AKAZE --- 6 1.1.6.2 Collation des données de quantité de caractéristiques --- 6 1.1.6.3 Exemple de programme --- 7   1.2 Pillow --- 9  1.2.1 Lecture et enregistrement des fichiers image --- 9 1.2.1.1 Résolution lors de la lecture EPS --- 10 1.2.2 Créer un nouvel objet Image --- 10 1.2.3 Affichage des images --- 11 1.2.4 Édition d'images --- 11 1.2.4.1 Agrandissement et réduction de l'image --- 11 1.2.4.2 Extraction d'une partie d'image --- 12 1.2.4.3 Duplication d'image --- 12 1.2.4.4 Coller l'image --- 12 1.2.4.5 Rotation de l'image --- 12 1.2.5 Traitement d'image --- 13 1.2.5.1 Séparation et composition des couleurs --- 13 1.2.6 Dessin --- 13 1.2.7 Créer un GIF animé --- 15 1.2.8 Conversion de l'objet Image en tableau numérique de pixels --- 15 2 GUI et multimédia --- 16   2.1 pygame --- 16  2.1.1 Questions de base --- 16 2.1.1.1 Objet de surface --- 16 2.1.1.2 Boucle d'exécution de l'application --- 16 2.1.2 Fonction de dessin --- 18 2.1.2.1 Exemple de programme de dessin --- 21 2.1.2.2 Exemple de programme de rotation et de mise à l'échelle --- 22 2.1.3 Manipulation du clavier et de la souris --- 24 2.1.4 Lecture audio --- 25 2.1.4.1 Méthode utilisant l'objet Sound --- 26 2.1.4.2 Conversion de l'objet Sound en tableau NumPy --- 27 2.1.5 Utilisation des sprites --- 29   2.2 Eel --- 34  2.2.1 Questions de base --- 34 2.2.2 Appel d'une fonction écrite en Python / JavaScript --- 36 2.2.2.1 À propos de la valeur de retour de la fonction --- 37 2.3 Conversion de données multimédia: PyDub --- 38 2.3.1 Lecture de fichiers audio --- 38 2.3.2 Conversion des données audio vers la matrice NumPy --- 38 2.3.3 Conversion d'un tableau NumPy en données audio --- 39 2.3.4 Enregistrer le fichier audio --- 39 2.3.4.1 Enregistrer en tant que fichier au format MP3 --- 39 2.3.4.2 Enregistrer comme fichier au format WAV --- 39 3 Science et technologie --- 40 3.1 Bibliothèque pour le calcul numérique et la visualisation: NumPy / matplotlib --- 40 3.1.1 Génération de l'objet tableau --- 40 3.1.1.1 À propos du type d'élément du tableau --- 41 3.1.1.2 Tableau de valeurs de vérité --- 41 3.1.1.3 Valeurs spéciales: infini et non-nombre --- 41 3.1.1.4 Génération de chaînes de données (génération de chaînes de nombres) --- 42 3.1.1.5 Génération d'un tableau multidimensionnel --- 43 3.1.1.6 Etude de la forme de la séquence --- 43 3.1.1.7 Accès aux éléments du tableau --- 44 3.1.1.8 Fonctionnement lorsqu'une chaîne de données est donnée à une tranche --- 45 3.1.1.9 Accès aux lignes et colonnes spécifiées --- 45 3.1.1.10 Transformation de la forme du tableau --- 45 3.1.1.11 Translocation de lignes et de colonnes --- 47 3.1.1.12 Inversion et rotation des lignes, des colonnes et des colonnes --- 47 3.1.1.13 Conversion de type --- 48 3.1.2 Concaténation et répétition de séquences --- 48 3.1.2.1 Concaténation par append et concaténation --- 48 3.1.2.2 Connexion par hstack et vstack --- 49 3.1.2.3 Répéter la séquence avec un carreau --- 50 3.1.3 Extension de la dimension du tableau --- 50 3.1.3.1 Méthode objet Newaxis --- 50 3.1.3.2 Méthode par expand \ _dims --- 51 3.1.4 Extraction des données --- 51 3.1.4.1 Masquage par chaîne de valeur de vérité --- 51 3.1.4.2 Extraction d'éléments par expression conditionnelle --- 52 3.1.4.3 Combinaison d'expressions conditionnelles avec des opérateurs logiques --- 52 3.1.4.4 Extraction et remplacement d'éléments par where --- 52 3.1.4.5 Recherche de la valeur maximale, de la valeur minimale et de sa position --- 53 3.1.5 Alignement des données (tri) --- 53 3.1.5.1 Alignement de tableau bidimensionnel --- 54 3.1.5.2 Comment obtenir l'index du résultat de l'alignement --- 54 3.1.6 Traitement divers pour les séquences --- 55 3.1.6.1 Élimination des éléments en double --- 55 3.1.6.2 Agrégation d'éléments entiers --- 55 3.1.7 Calcul pour la chaîne de données: 1ère dimension à 1ère dimension --- 56 3.1.8 Visualisation des données (basique) --- 56 3.1.8.1 Procédure de base du processus de dessin --- 57 3.1.8.2 Diagramme bidimensionnel: graphique linéaire --- 57 3.1.8.3 Création de plusieurs graphiques --- 59 3.1.8.4 Structure du graphe Matplotlib --- 62 3.1.8.5 Affichage des titres / étiquettes japonais --- 66 3.1.8.6 Comment enregistrer le graphique en tant que fichier image --- 67 3.1.9 Génération aléatoire --- 68 3.1.9.1 Génération de nombres aléatoires uniformes --- 68 3.1.9.2 Génération de nombres aléatoires entiers --- 68 3.1.9.3 Génération de nombres aléatoires normaux --- 68 3.1.9.4 Graines aléatoires --- 68 3.1.9.5 Objet RandomState --- 69 3.1.10 Traitement statistique --- 70 3.1.10.1 Total --- 70 3.1.10.2 Valeur maximale, valeur minimale --- 70 3.1.10.3 moyenne, variance, écart type --- 70 3.1.10.4 Point de pourcentage --- 71 3.1.10.5 Section et tabulation (enquête de classe et de fréquence) --- 71 3.1.10.6 Mélange des données --- 72 3.1.11 Visualisation des données (2) --- 73 3.1.11.1 histogramme --- 73 3.1.11.2 Diagramme de dispersion --- 73 3.1.11.3 Graphique à barres --- 74 3.1.11.4 Moustaches de boîte --- 74 3.1.12 Calcul sur chaîne de données: \ (n ) dimension à 1 dimension --- 75 3.1.13 Visualisation des données: tracé 3D --- 76 3.1.13.1 Structure en fil --- 76 3.1.13.2 Diagramme de surface --- 77 3.1.13.3 Carte de dispersion 3D --- 78 3.1.14 Visualisation des données: Autre --- 79 3.1.14.1 Carte de chaleur --- 79 3.1.14.2 Créer un tableau --- 81 3.1.15 Transformée de Fourier à grande vitesse (FFT) --- 83 3.1.15.1 Conversion d'une région temporelle à une région fréquentielle: conversion de Fourier --- 83 3.1.15.2 Conversion d'une région fréquentielle à une région temporelle: transformation de Fourier / transformation inverse --- 83 3.1.15.3 Spécification du rapport hauteur / largeur du tracé --- 86 3.1.15.4 Précautions lors de l'utilisation de la transformée de Fourier --- 87 3.1.16 Calcul de nombres complexes --- 87 3.1.16.1 Racine carrée d'un nombre complexe --- 87 3.1.16.2 Norme des nombres complexes --- 87 3.1.16.3 Nombre complexe conjugué --- 87 3.1.16.4 Déviation angulaire complexe (phase) --- 88 3.1.17 Calcul matriciel --- 89 3.1.17.1 Somme et produit des matrices --- 89 3.1.17.2 Matrice unitaire, matrice zéro, etc. --- 89 3.1.17.3 Rendre tous les éléments de la matrice la même valeur --- 89 3.1.17.4 Composante diagonale, matrice diagonale --- 90 3.1.17.5 Translocation de la matrice --- 91 3.1.17.6 Expression matricielle et matrice inverse --- 91 3.1.17.7 Valeur unique et vecteur unique --- 91 3.1.17.8 Classement de la matrice --- 92 3.1.17.9 Matrice conjuguée complexe --- 92 3.1.17.10 Matrice conjuguée Elmeat --- 92 3.1.17.11 Norme vectorielle --- 93 3.1.18 E / S: fichier objet de la matrice E / S --- 94 3.1.18.1 Enregistrer dans un fichier texte --- 94 3.1.18.2 Lecture à partir d'un fichier texte --- 94 3.1.18.3 E / S vers fichier binaire --- 95 3.1.18.4 Stockage compressé et chargement des données --- 95 3.1.19 Comparaison matricielle --- 96 3.1.20 Implémentation de fonctions définies par l'utilisateur qui traitent des tableaux --- 96 3.1.21 Exemple d'amélioration de la vitesse de calcul en appliquant le calcul matriciel --- 98 3.1.22 Traitement des données d'image --- 99 3.1.22.1 Conversion d'un tableau de pixels en données d'image (liaison avec la bibliothèque PIL) --- 100 3.1.22.2 Conversion des données d'image en matrice de pixels (liaison avec la bibliothèque PIL) --- 101 3.1.22.3 Exemple de programme: séparation d'images en trois couleurs 3.1.23 Autres fonctions --- 103 3.1.23.1 Extraction de données au-dessus / au-dessous de la norme --- 103 3.1.23.2 Extraction de données dans la plage spécifiée --- 104 3.2 Bibliothèque de calcul scientifique et technologique: SciPy --- 107 3.2.1 Outil de traitement du signal: scipy.signal --- 107 3.2.1.1 Génération de la forme d'onde de base --- 107 3.3 Bibliothèque de traitement de formules: SymPy --- 111 3.3.1 Précautions concernant le chargement des modules --- 111 3.3.2 Questions de base --- 111 3.3.2.1 Objet pour traitement mathématique --- 112 3.3.2.2 Simplification des formules (évaluation) --- 112 3.3.2.3 Structure de l'expression {\ tt f (x, y, ...) (tête d'extraction et séquence d'arguments) --- 113 3.3.2.4 Constante --- 113 3.3.3 Fonction de traitement de formule de base --- 114 3.3.3.1 Expansion de la formule --- 114 3.3.3.2 Affacturage --- 114 3.3.3.3 Disposition par symboles spécifiés --- 114 3.3.3.4 Minutes approximatives: Simplification des fractions (1) --- 115 3.3.3.5 Fraction partielle --- 115 3.3.3.6 Simplification des fractions (2) --- 116 3.3.3.7 Substitution (remplacement des symboles) --- 116 3.3.3.8 Diverses fonctions mathématiques --- 116 3.3.3.9 Type de formule --- 116 3.3.4 Traitement analytique --- 117 3.3.4.1 Extrême --- 117 3.3.4.2 Fonction dérivée --- 117 3.3.4.3 Exécution retardée du fonctionnement différentiel --- 118 3.3.4.4 Fonction primitive --- 118 3.3.4.5 Exécution retardée de l'intégration --- 118 3.3.4.6 Intégration constante --- 119 3.3.4.7 Développement de classe --- 119 3.3.5 Résolution de diverses équations --- 119 3.3.5.1 Résolution d'équations algébriques --- 119 3.3.5.2 Résolution d'équations différentielles --- 120 3.3.5.3 Résolution de l'équation de différence (équation de différence, équation graduelle) --- 121 3.3.6 Algèbre linéaire --- 121 3.3.6.1 Formule matricielle --- 121 3.3.6.2 Matrice inverse --- 121 3.3.6.3 Valeur unique, vecteur unique --- 122 3.3.7 Total --- 122 3.3.8 Correspondance de motif --- 123 3.3.9 Calcul numérique --- 124 3.3.9.1 Décomposition des facteurs premiers --- 124 3.3.9.2 Valeur approximative --- 124 3.3.10 Sortie de conversion de format --- 124       3.3.10.1 LaTeX  --- 124  3.3.11 Tracé graphique --- 124 3.3.11.1 Comment enregistrer le graphique dans un fichier image --- 126 4 Sécurité --- 127   4.1 hashlib --- 127  4.1.1 Utilisation de base --- 127   4.2 passlib --- 127  4.2.1 Algorithmes utilisables --- 127 5 Accélération des programmes / construction d'applications --- 129   5.1 Cython --- 129  5.1.1 Exemple d'utilisation --- 129 5.1.2 Réglage pour accélérer --- 131   5.2 Numba --- 132  5.2.1 Utilisation de base --- 132 5.2.2 Accélérer en spécifiant le type --- 133   5.3 ctypes --- 133  5.3.1 Exemple de création d'une bibliothèque partagée en langage C --- 134 5.3.2 Exemple d'appel d'une fonction dans une bibliothèque partagée --- 134 5.3.3 Gestion des arguments et des valeurs de retour --- 135 5.3.3.1 Transfert des données de séquence --- 137   5.4 PyInstaller --- 140  5.4.1 Exemple d'utilisation simple --- 140 5.4.1.1 Comment construire en tant que fichier exécutable unique --- 141 6 Environnement de travail Dialogue (JupyterLab) --- 142 6.1 Questions de base --- 142 6.1.1 Début et fin --- 143 6.1.2 Configuration de la zone d'affichage et méthode de fonctionnement --- 143 6.1.2.1 Exemple d'utilisation du notebook --- 144 6.1.2.2 À propos du noyau --- 146 6.1.3 Exécution de la fonction d'entrée dans le Notebook --- 146 6.2 Affichage des commentaires par Markdown --- 147 6.3 Exemple d'utilisation --- 148 6.3.1 Affichage formaté de la formule SymPy par MathJax --- 148 6.3.2 Lecture audio par le module IPython.display --- 149 7 Autres --- 151 7.1 json: Utilisation du format d'échange de données JSON --- 151 7.1.1 Notation JSON --- 151 7.1.2 Exemple d'utilisation --- 151 7.2 urllib: Traitement lié à l'URL --- 152 7.2.1 Traitement des autres caractères d'octets (encodage `% ') --- 152 7.2.1.1 Spécification du système de codes de caractères --- 152 7.3 zenhan: Conversion pleine largeur ⇔ demi-largeur --- 153 7.4 jaconv: diverses conversions liées aux caractères japonais --- 153


écrit par Katsunori Nakamura

Recommended Posts

J'ai fait un texte Python
J'ai fait un Line-bot avec Python!
J'ai créé un démon avec Python
〇✕ J'ai fait un jeu
J'ai fait un programme de gestion de la paie en Python!
J'ai fait un compteur de caractères avec Python
J'ai fait une carte hexadécimale avec Python
Après avoir étudié Python3, j'ai créé un Slackbot
J'ai fait un jeu rogue-like avec Python
J'ai fait un simple blackjack avec Python
J'ai créé un fichier de configuration avec Python
J'ai fait un simulateur de neurones avec Python
J'ai fait une prévision météo de type bot avec Python.
J'ai créé une application graphique avec Python + PyQt5
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
J'ai créé un programme cryptographique César en Python.
J'ai fait un jeu de cueillette avec Python
Made Mattermost Bot avec Python (+ Flask)
Création du wrapper d'API Qiita Python "qiipy"
J'ai fait un blackjack avec du python!
J'ai fait un robot discord
J'ai fait un blackjack avec Python.
J'ai créé wordcloud avec Python.
J'ai fait un Twitter BOT avec GAE (python) (avec une référence)
J'ai effectué un processus de connexion / déconnexion en utilisant Python's Bottle.
J'ai créé une application de notification de nouvelles en ligne avec Python
J'ai créé une VM qui exécute OpenCV pour Python
J'ai créé un module Python pour traduire les commentaires
J'ai créé un environnement Python3 sur Ubuntu avec direnv.
J'ai essayé de faire LINE BOT avec Python et Heroku
[Python] J'ai créé un classificateur pour les iris [Machine learning]
J'ai créé une bibliothèque python qui fait rouler le rang
J'ai créé un outil de génération de données texte répétitif "rpttxt"
J'ai créé un site d'apprentissage C ++
J'ai créé un script de traduction basé sur CUI (2)
J'ai fait un wikipedia gacha bot
J'ai créé ma propre bibliothèque Python
J'ai créé un script de traduction basé sur CUI
J'ai fait un jeu de frappe simple avec tkinter de Python
J'ai créé un package pour filtrer les séries chronologiques avec python
[VSCode] J'ai créé un extrait d'utilisateur pour Python print f-string
J'ai créé un lecteur de flux rapide en utilisant feedparser en Python
J'ai créé une application de livre simple avec python + Flask ~ Introduction ~
J'ai fait un jeu de puzzle (comme) avec Tkinter of Python
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python
J'ai créé un nouveau compartiment AWS S3
J'ai fait un circuit simple avec Python (AND, OR, NOR, etc.)
J'ai créé un docset de tableau de bord pour Holoviews
J'ai créé une bibliothèque qui lit facilement les fichiers de configuration avec Python
J'ai fait un package qui peut comparer des analyseurs morphologiques avec Python
J'ai créé un script en Python pour convertir un fichier texte pour JSON (pour l'extrait d'utilisateur vscode)
J'ai fait Othello pour enseigner Python3 aux enfants (4)
J'ai touché "Orator" alors j'ai fait une note
Python> J'ai créé un code de test pour mon propre fichier externe
J'ai dessiné une carte thermique avec Seaborn [Python]