Transcription
1. Introduction: Bonjour et bienvenue.
Je m'appelle Andreas et je serai votre professeur
pour ce cours de Python. Je suis ingénieur informatique et je suis enseignant
depuis
plus de 20 ans. J'ai mon école
d'informatique et j'enseigne la
programmation Python à dizaines de milliers d'
étudiants heureux comme vous. Et je suis très heureuse d'être votre
professeur dans le cadre de ce cours. Python est certainement le langage
de
programmation qui connaît la croissance la
plus rapide , puisqu'il se classe parmi les trois
principaux langages à apprendre pour le futur. Python est l'un des langages
de
programmation les plus polyvalents. Vous pouvez l'utiliser pour tout, comme l'apprentissage
automatique, le développement
Web, les applications, l'automatisation, le développement de
jeux et bien plus encore. Dans ce cours, vous recevrez une
explication détaillée et approfondie des concepts
fondamentaux de programmation Python. Et je vais rendre
le processus d'apprentissage si facile et mémorable vous n'aurez même pas besoin
de prendre de notes. Vous allez apprendre en réalisant et en développant de nombreux projets. En cours de route, vous avez également
des projets importants qui
vous aident à créer des programmes
et des jeux entièrement
fonctionnels que vous pouvez
montrer à vos collègues. Nous avons plus de 100
conférences de dix ADP, vidéos
explicatives de
haute qualité et des diapositives
entièrement détaillées qui
accompagnent chaque conférence Donc, si vous débutez la programmation ou dans le langage Python, vous êtes
au bon endroit. Avec tout cela en tête,
qu'attendez-vous ? Allez-y, cliquez sur
ce bouton de signature, et je vous
verrai de l'autre côté.
2. Pourquoi apprendre Python ?: Bonjour et bienvenue dans le monde
passionnant de la programmation. Dans cette conférence, nous allons un bref aperçu
de ce qu'est Python, pourquoi choisir Python pour programmation et ce que
vous pouvez faire avec Python. Python a été créé en
1990 par Guido Van Rosam. Il a été spécifiquement conçu comme un langage de
programmation facile à utiliser. Le
langage de programmation Python doit son nom au groupe de comédie Monty
Python, et non au reptile Lorsque nous parlons de programmation, nous voulons dire que nous
saisissons
des instructions que l'ordinateur doit exécuter. Python est un langage de programmation de haut
niveau largement utilisé. Bien entendu, de nombreux langages de
programmation de haut niveau sont disponibles, tels que C, C
plus et Java. Mais si vous
débutez dans la programmation, Python est un excellent point de
départ. Voyons quelques
raisons d'apprendre Python. Premièrement, Python est
plus simple que les autres langages de programmation
et est idéal pour les débutants. La plupart des programmes nécessitent
beaucoup moins de lignes de code pour effectuer la même tâche
que les autres langages. Deuxièmement, Python est un langage
efficace. La syntaxe Python
vous aide à écrire du code propre, facile à lire, facile à déboguer et facile à étendre
et à développer. Troisièmement, Python a un
large éventail d'utilisations. Vous pouvez créer des jeux,
créer des applications Web et résoudre des problèmes commerciaux. Python est également largement utilisé dans les domaines scientifiques
pour la recherche universitaire. Quatrièmement, Python dispose
d'un grand nombre d' outils
tiers tels que
Pinstaller qui nous permet regrouper notre code Python dans programmes exécutables
autonomes pour des systèmes
d'exploitation tels que
Windows et macOS Cinquièmement, Python possède une
grande communauté. soutien d'une communauté est essentiel pour résoudre les problèmes, en particulier lors des premières étapes
de programmation. Ce sont les cinq
principales raisons pour
lesquelles nous avons choisi et appris Python. Si je t'ai convaincu, il est temps de commencer.
Merci de m'avoir regardée.
3. Cinq (5) Conseils pour les débutants pour apprendre la programmation python: Bienvenue à tout le monde. Dans cette vidéo, je vais vous donner cinq conseils pour débutants pour
apprendre la programmation Python. Vous allez voir comment coder chaque jour,
comment l'écrire peut
aider à faire des pauses interactives, à
parler et à
poser de bonnes questions. Commençons par
regarder le codage tous les jours. Il vaut souvent mieux
qu'un gros morceau par semaine. Si vous n'aviez qu'une
heure par semaine, en désespoir, vous feriez mieux de
passer dix minutes sur six jours de la semaine
et d'avoir un jour congé que de faire une heure
un jour de la semaine et d'
avoir six jours de congé. Laisser longtemps avant de
pratiquer une nouvelle compétence
peut signifier qu'elle sera perdue pour vous et que vous devrez
retrouver le même terrain
encore et encore. Alors que le couvrir tous les jours pendant une semaine vous
aidera à le conserver beaucoup mieux et que les écarts plus longs suite ne poseront pas
tellement de problèmes. Egalement réaliste
quant au temps que vous
avez pour cela,
tout le monde est différent. Certaines personnes peuvent passer beaucoup de temps et nous pourrons
faire plus de progrès qu'une personne qui n'a qu' une heure ou deux à perdre une semaine. Donc, être réaliste à ce sujet, rappelez-vous, il ne s'agit de vous comparer
à d'autres personnes. Il s'agit de vous comparer
à l'endroit où vous avez commencé. Commencez par résoudre de petits problèmes lorsque vous commencez à programmer, puis vous acquerrez des
compétences et apprendrez de
nouveaux domaines de Python que
vous ne connaissiez pas auparavant. Et cela peut vous donner une grande
confiance dans la capacité d'
aborder des problèmes plus difficiles plus loin. Écrivez-le. rédaction de notes vous
aide à conserver les informations mieux
que n'importe quelle autre méthode. Oui, les notes manuscrites vous aident
vraiment lorsque les informations vous
parcourent lorsque vous les avez lues, puis les réécrivez
dans vos propres mots, votre cerveau les prend selon une
méthode que vous comprenez, et c'est la partie la plus
importante de l'apprentissage. Il y aura différents domaines lesquels vous devez vous
concentrer, prendre des notes par rapport
à quelqu'un à côté de vous. La planification de programmes comportant des notes
écrites peut également aider à
clarifier la solution. Ici encore, j'ai découvert que l'
écriture à la main est beaucoup plus utile
et beaucoup plus immédiate que de le
faire sur ordinateur. Pour les problèmes complexes et
plus importants, qui nécessiteraient
beaucoup de documentation. Vous souhaitez le
faire en ligne selon
une méthode qui pourra être
mise à jour ultérieurement. Lorsque vous
planifiez cela initialement, rédiger le type de données et variables dont vous aurez
besoin peut être vraiment, vraiment important
et instructif. Il est souvent plus facile de créer des représentations
visuelles
lorsque vous travaillez avec du papier et du crayon. Et pour de nombreux problèmes, c'est un moyen utile
de les aborder. Allez interactif. Le shell Python
est un excellent moyen d'
examiner et de créer du
code instantanément. Il est facile et rapide de
développer du code dans le shell Python, mais vous pouvez également l'utiliser
pour découvrir et explorer
les méthodes disponibles. Ouvrez l'interpréteur de commandes Python et vous pouvez maintenant
l'utiliser en action. Prenez des pauses. Prendre des pauses est un
élément extrêmement important de l'apprentissage. L'une des techniques
les plus couramment étudiées par les personnes qui apprennent sur Internet est la technique Pomodoro. Maintenant, il
ne porte que
le nom du minuteur en forme de tomate utilisé par
la personne qui l'a inventé. Mais il s'agit simplement de
régler une minuterie de 25 minutes pour fonctionne, puis de prendre une pause de cinq minutes,
puis de répéter. Il y a beaucoup de preuves pour illustrer que notre cerveau n'
a qu' un
temps limité de Lauren et qu'il a besoin de pauses. Votre cerveau a besoin de temps pour recevoir des informations et doit
également se reposer. Je
vous suggère fortement de faire une vraie pause. Cela donnera à votre cerveau
une chance de se réinitialiser. Et vous constaterez souvent
que des idées
vous parviendront lorsque vous êtes
au repos. Le sommeil est également très important
pour la formation de la mémoire. De nombreuses recherches ont
montré qu'
une bonne nuit de sommeil
après une journée d'apprentissage aide
vraiment à cimenter ces informations
et à
les conserver dans une mémoire
à long terme. Votre cerveau va
travailler dessus et il sera rafraîchi
pendant cette pause. Quand vous y reviendrez, beaucoup seront le
moment où vous verrez quelque chose auquel vous n'aviez pas pensé
et où vous partirez. Posez de bonnes questions. À de nombreux moments de votre carrière de
programmation, vous devrez
demander de l'aide. Et souvent, cela peut prendre la
forme de poser des questions sur des sites
tels que Stack Overflow. Ce faisant, il est vraiment important de poser des questions de
la bonne façon pour que les gens
puissent vous aider sans dupliquer le type de tests
que vous avez déjà effectués, ce qui peut leur donner une bonne
idée. de ce que vous avez déjà fait et de ce que vous avez l'
intention de faire. Premièrement, le g du bien, donnez un contexte à ce que
vous essayez de faire. Décrire clairement le problème. Ici, à gauche, on
peut voir un mauvais exemple. Il dit simplement que je ne peux pas
imprimer correctement. Alors qu'à droite,
nous avons un bon exemple. J'essaie d'utiliser une chaîne f avec format et combinée avec variable pour donner six
chiffres au total et une décimale. Mais je ne trouve pas
la bonne syntaxe. Celui de gauche
peut aller de l'impression sur une imprimante à l'utilisation de
l'instruction d'impression. Alors que celui de
droite est vraiment clair. Nous savons exactement où nous en sommes
et quel est le problème. Décrivez ce que
vous avez déjà fait pour essayer de résoudre le problème. Encore une fois, vous voyez cela assez souvent. J'ai tout essayé sur la gauche. Ce n'est pas vraiment utile. Il est peu probable que vous ayez
essayé toutes les possibilités. Sur la droite, vous pouvez voir
que l'utilisateur a essayé les différentes
variantes, y compris un format de point de style étrange, mais rien n'a fonctionné pour eux. Ensuite, donner la meilleure idée de ce que pourrait être le problème. Cela aide la personne
qui vous aide non seulement à savoir ce que
vous pensez, mais aussi à savoir que vous
avez réfléchi par vous-même. Vous n'êtes pas seulement tombé
au premier obstacle et vous avez jeté le problème
à quelqu'un d'autre. À gauche, nous
avons un mauvais exemple. Je ne sais pas ce qui ne va pas. Et à droite, je peux faire fonctionner le formatage à l'aide d'un
ancien format de style, mais je ne vois pas où insérer la nouvelle variable dans un nouveau style. C'est clair et
concis et,
espérons-le, pointera tous
ceux qui essaient de
répondre à la question dans la bonne direction afin de trouver quelqu'un qui sait très bien
utiliser les chaînes de caractères. D signifie démo. La démonstration est ce qui se passe. Incluez le message
d'erreur de suivi du code ou une explication
des bonnes étapes que vous avez essayé d'exécuter
qui ont entraîné l'erreur. De cette façon, la
personne qui aide n' pas à essayer de
recréer le problème, y compris tout le code
pertinent est vraiment important. On voit souvent où les gens peuvent aider parce
qu'ils ne veulent pas
passer une demi-heure
à essayer de déterminer ce que
quelqu'un a fait. Ils veulent pouvoir
copier le code, essayer de l'exécuter eux-mêmes, ou peut-être simplement essayer de
regarder le code. Il sera en mesure de dire à la
bonne personne ce qui ne va pas. Ici, à gauche,
le mauvais exemple, aucun code. À droite. Un bon exemple. La variable a été définie. Ils utilisent une ancienne mise en forme de
style et cela dit que cela fonctionne, mais ce n'est pas une chaîne de caractères. Cela devrait donner une bonne
réponse assez rapidement. Très souvent, lorsque vous
rassemblez toutes les informations pour poser la
question à quelqu'un d'autre, la réponse devient évidente
pour vous parce que vous mettez toutes les informations d'une manière que
vous n'avez jamais vue auparavant, de nouvelles idées peuvent vous arriver. Par conséquent, vous
pouvez vous rendre compte qu' il y a
quelque chose que vous n'avez pas essayé ou qu'il y a peut-être quelque chose que vous
n'avez pas essayé tout de suite. Merci d'avoir regardé, et je vous
verrai dans la conférence
suivante.
4. INTRODUCTION - Télécharger et installer Python 3 (2024): Bonjour à tous, et bienvenue dans la section de configuration de Python. Je m'appelle Andreas et
je serai ton guide. Dans cette section,
vous allez apprendre comment télécharger et installer Python sur trois des systèmes
d'exploitation les plus populaires : Windows, macOS et Ubuntu Linux. Vous
apprendrez également à utiliser Idle, environnement intégré de développement
et d'apprentissage de
Python. Définir un Python est la première étape pour devenir
un programmeur Python. nombreux systèmes d'exploitation,
notamment macOS Python est préinstallé sur de nombreux systèmes d'exploitation,
notamment macOS
et Linux. La version de Python
fournie avec votre système d'exploitation
s'appelle System Python. Le système Python est utilisé par votre système d'exploitation et
est généralement obsolète. Il est essentiel que vous disposiez de
la version la plus récente de
Python afin de pouvoir suivre avec
succès tous les exemples de
ce cours. Important. N'essayez pas de désinstaller
le Python du système. Les trois systèmes d'exploitation abordés dans ce
cours font partie des systèmes
d'exploitation
les plus populaires pour les ordinateurs personnels. Mais si vous n'avez accès qu'
à quelque chose comme un Android. Commençons donc par configurer Python
sur votre ordinateur. Je te verrai dans la prochaine leçon.
5. Télécharger et installer Python 3 (Windows): Dans cette vidéo,
vous allez apprendre à configurer Python sous Windows. Vous apprendrez où
télécharger Python,
comment installer Python et comment ouvrir l'environnement intégré de
développement
et
d'apprentissage
également connu sous le environnement intégré de
développement
et
d'apprentissage nom d'Idle. Il existe deux manières de
télécharger Python sous Windows. L'une d'entre elles provient de la distribution officielle de
Python publiée sur le site Web python.org La seconde passe par
le Windows Appstore. La
version Windows App Store de Python est excellente pour les étudiants
et à des fins pédagogiques, mais elle présente certaines limites que la
distribution python.org n' Dans ce cours, vous allez télécharger la
distribution officielle de Python sur python.org C'est bon. Commençons par ouvrir votre navigateur
Internet préféré. Accédez ensuite à python.org. En haut du site Web, dans la barre de navigation principale, se
trouve le bouton Téléchargements. Si vous passez la souris dessus,
vous verrez un bouton permettant de télécharger la dernière version
de Python pour Windows Au moment de cet enregistrement, cette version est Python 3.12 0.5 Cliquez sur le bouton
pour télécharger Python. Lorsque Python a terminé
le téléchargement, vous pouvez cliquer sur le fichier
EXE en bas de
votre navigateur ou utiliser l' explorateur de
fichiers pour accéder au dossier Téléchargements afin de l'
ouvrir à partir de là. Sur le premier écran
du programme d'installation, vous pouvez voir que vous
installez Python 3.12 0.5 ou la version que
vous téléchargez Il existe un bouton Installer maintenant qui permet d'installer
Python ainsi que Idle PIP et la
documentation de Python Il existe un bouton
d'installation personnalisé. Vous pouvez choisir l'emplacement de l'installation et sélectionner ou
désélectionner différentes fonctionnalités Il existe une option permettant d'installer le lanceur pour tous les utilisateurs,
ce qui est recommandé Et nous allons suivre cette
section, ainsi qu'une option permettant d'ajouter
Python 3.12 0.5 à Path Parlons un peu de
ce que cela signifie. Avant de déterminer si vous devez ou non ajouter
Python à Path, parlons de ce qu'est le chemin. Le chemin est une
variable d'environnement sous Windows qui indique
à la ligne de commande où rechercher les fichiers et les dossiers. Maintenant, si vous ne savez pas ce qu' une variable d'environnement ou la ligne de commande, c'
est très bien. Le principal point à retenir
est que Path indique au système d'exploitation
où
rechercher les éléments lorsque vous
émettez des commandes L'ajout de Python à votre
chemin vous permet d'utiliser commande
Python dans un terminal
pour exécuter des programmes Python. Encore une fois, si cela n'a pas de
sens pour vous, c'est très bien. Vous devez donc ajouter
Python à Paths. Si vous n'avez installé qu'une seule version
de Python, vous pouvez ajouter
Python à Path en toute sécurité dans les deux cas. Si plusieurs versions
de Python doivent être installées
sur le même ordinateur, il est préférable de ne pas
ajouter Python à Path. Dans les deux cas, vous pouvez utiliser
le lanceur Python pour
Windows pour exécuter des programmes Python au lieu de la commande Python Dans ce cours, nous utiliserons
l' environnement intégré de développement
et d'apprentissage ou Idol au lieu de
la commande Python. Dans ce cours,
nous partons du principe que vous installez Python
pour la première fois et que nous n'avons qu'une seule version de Python installée
sur votre ordinateur. Même si nous n'utiliserons pas la commande Python
dans ce cours, il sera utile de la rendre disponible ultérieurement. Vous verrez donc Python
installé avec l'option Ajouter Python au
chemin sélectionnée. Revenons-en à
l'installation. Si vous installez Python
pour la première fois et que vous ne prévoyez d'installer qu'une seule
version de Python, sélectionnez
Ajouter Python 3.12 0.5 à PAT Cliquez ensuite sur Installer maintenant. Si vous devez autoriser votre
ordinateur à apporter des modifications à votre appareil, allez-y et faites-le. Cliquez ensuite. Sur la plupart des ordinateurs, l'installation de Python ne
prend que quelques minutes. Une fois l'installation de Python terminée, vous verrez un écran indiquant
que l'installation a réussi. Cet écran inclut des liens vers le didacticiel en ligne officiel et la documentation Python. Allez-y et cliquez sur le bouton
Fermer. C'est bon. Python est maintenant installé, mais comment y accéder ? Dans ce cours, nous utiliserons l' environnement intégré de développement
et d'apprentissage de
Python ou Idle pour interagir avec Python. Il existe deux manières d'ouvrir Idle. L'une se fait par le biais du menu Démarrer. L'autre passe par
la barre de recherche de Windows. Pour ouvrir Idle depuis
le menu Démarrer, cliquez sur l'
icône du menu Démarrer, puis faites défiler l'écran vers le bas. Ou cliquez sur toutes les applications jusqu'à ce que vous
trouviez le dossier Python 3.12 0.5 J'ai installé la
version Windows 11. À l'intérieur du dossier se trouve une application
appelée Idle. Cliquez dessus pour ouvrir Idle. Cela ouvre le shell Idle. En haut de la fenêtre, vous pouvez voir la version
de Python en cours d'exécution
ainsi que certaines informations sur
votre système d'exploitation. En dessous de ces informations se trouvent
trois crochets rouges. C'est ce que l'on appelle une invite. Chaque fois que vous voyez
cela, cela signifie que Python attend que vous lui
donniez des instructions. Maintenant, allez-y et fermez Idle. Pour ouvrir Idle depuis la barre de recherche
Windows, commencez par taper Idle
dans la barre de recherche. Dans la section de l'application, vous verrez une option
pour Idle qui indique Python 3.12 0.5 64 bits Il peut être indiqué 32 bits
si vous avez téléchargé une version 32 bits de
Python pour votre système. Cliquez dessus pour ouvrir
Idle. Alors voilà. Vous savez maintenant où
télécharger Python, comment l'installer
et comment ouvrir environnement intégré de développement
et d'apprentissage de
Python. Si vous souhaitez savoir comment
installer Python sur d'
autres systèmes d'exploitation
tels que macOS et Linux, n'hésitez pas à consulter les
deux leçons suivantes de ce cours.
6. Utiliser le Shell Python 2024: Bonjour, tout le monde. Voici Andreas, et c'est une
journée passionnante car nous
allons écrire notre première
commande en Python. Dans cette conférence, nous allons
apprendre à utiliser le programme Idle fourni avec notre interpréteur
Python Nous allons écrire notre code à
l'aide du programme Idle, alors lançons-le d'abord. Vous pouvez le rechercher en
tapant Idle dans le champ de recherche. Une fois qu'il est trouvé,
cliquez sur l'idole ou l'interface graphique Python pour le lancer. Le shell Python
apparaît sur notre écran. Un shell est un programme qui
vous permet de taper des instructions
sur l'ordinateur, peu comme le terminal
ou
l'invite de commande sur OSX et Windows
respectivement. Nous ne pouvons entrer qu'une seule
commande à la fois. Le shell attend une
commande de la part de l'utilisateur pour l' exécuter, puis renvoie
le résultat de l'exécution Ensuite, le shell
attend la commande suivante. Les lignes commencent par
trois de plus que les symboles. Faisons quelques exemples. Tapez cinq plus dix, puis entrez. Le shell revient
à la réponse 15. Tapez maintenant cinq supérieur à un. Vous demandez à la coque si
cinq est supérieur à un. Le shell répond « vrai ». Le shell est donc adapté pour exécuter une
commande à la fois. C'est un outil très pratique
pour envoyer des SMS à des commandes Python, en particulier lorsque nous commençons à utiliser le langage Cependant, si vous quittez le shell Python
et que vous le saisissez à nouveau, toutes les commandes que vous avez
saisies seront supprimées. De plus, vous ne pouvez pas utiliser le shell Python pour
créer un programme réel, mais si vous voulez écrire
un programme entier, la réponse est l'éditeur de fichiers. Pour coder un programme simple, vous devez écrire le
code dans un fichier texte et enregistrer avec l'extension point PY. Ce fichier est connu
sous le nom de script Python. Vous pouvez accéder à l'éditeur de
fichiers à partir de Fichier, puis à partir du nouveau fichier. Il est similaire à un éditeur de texte et vous permet de saisir des instructions
manuelles, enregistrer le fichier et d'
exécuter le programme. N'oubliez pas que la fenêtre shell
interactive sera toujours celle où l'invite «
trois
symboles supérieurs à un symbole » sera toujours affichée. Au lieu de cela, la fenêtre de l'éditeur de fichiers n'
affichera pas cette invite. Au cours de la prochaine conférence,
nous allons
en apprendre davantage sur votre environnement de
codage.
7. Préparer Python (résumé) 2024: Félicitations. Python est maintenant installé
sur votre ordinateur. Faisons une rapide récapitulation de
tout ce que vous avez appris. Dans cette section, vous avez
appris où
télécharger Python sous
Windows et macOS. Comment installer Python à
l'aide des installateurs
officiels sous Windows et macOS ou du
gestionnaire AppedPackage sous Ubuntu Linux Vous avez également
appris à ouvrir Idle, environnement intégré de développement
et d'apprentissage de
Python. Alors, où vas-tu aller
à partir d'ici ? Eh bien, vous êtes prêt à
commencer à coder en Python. Vous utiliserez Idle pour
interagir avec Python et pour écrire et exécuter des programmes
Python. Mais Idle n'est pas votre seule option. Vous voudrez peut-être envisager de configurer un autre éditeur. Pour vous aider,
dans la leçon suivante, je vais vous montrer un éditeur Python
alternatif, code
VS ou le code Visual Studio. C'est donc une excellente alternative
à l'original Python Idol. Je tiens à vous souhaiter bonne chance dans votre aventure avec
Python, et je vous verrai bientôt.
8. Éditeurs de code 2024: Quand il s'agit de
taper du code Python, deux options s'offrent à
vous. Vous pouvez utiliser un
éditeur de code ou un IDE
, abréviation de Integrated
Development Environment. Un IDE est essentiellement
un éditeur de code doté de fonctionnalités sophistiquées
telles que la complétion automatique, c'
est-à-dire lorsque vous tapez du code. Cette fonctionnalité vous permet de
compléter votre code, sorte que vous n'avez pas à taper
chaque caractère à la main. Il s'agit d'une fonctionnalité
qui améliore la productivité. Il vous offre également des
fonctionnalités supplémentaires telles que le débogage, qui consiste à rechercher et
corriger les bogues dans vos programmes, des
tests, etc. Tant pour les éditeurs de code que pour les IDE, il existe de nombreuses
options. Les éditeurs de
code les plus populaires sont VS code, Adam et Sublime. Vous pouvez utiliser l'
éditeur de code de votre choix. En ce qui concerne les IDE, encore une fois, il existe
tellement d'options. Le plus populaire est Pi harm. Dans ce cours, je vais utiliser la
distribution officielle de Python ou Idol, comme nous l'avons vu dans
les leçons précédentes. Mais dans certains exercices, je vais également
utiliser le code VS ou le code Visual Studio, car c'est mon éditeur de code préféré. Plus tard dans le cours,
je vous montrerai comment installer un plugin ou une extension qui convertira le code
VS en un puissant IDE. Avant d'aller plus loin, rendez-vous sur
code.visualstudio.com et téléchargez la dernière version
de VS
9. Écrire votre premier programme Python – Introduction 2024: Bonjour à tous, et
bienvenue dans cette nouvelle section. La première section
portait sur l' installation de
Python
sur votre ordinateur. Maintenant que vous l'
avez installé, il est temps de commencer à coder. Dans cette section, vous allez écrire
votre premier script Python. Vous apprendrez ce qui
se passe lorsque vous exécutez des scripts comportant une erreur et vous apprendrez à déclarer des variables et à
inspecter leur valeur. Vous apprendrez également beaucoup de choses
sur la façon de rédiger des commentaires. En cours de route, vous découvrirez également les différences
entre ce que l'
on appelle les fenêtres interactives et
les fenêtres de script
à l'intérieur d'Idol. Vous découvrirez la boucle d'impression Red
Evaluate, REPL. Non seulement vous
créerez des scripts, mais vous
apprendrez également à les exécuter. Vous découvrirez un opérateur
très important
appelé opérateur d'assignation. Quelles sont les règles de
création de noms de variables, et qu'est-ce qui est considéré comme
valide ou non valide ? Parallèlement à cela,
vous découvrirez quelques-unes
des normes
décrites dans le PEP 8 Il est donc temps pour
vous de
commencer à écrire votre
premier script Python.
10. Écrire notre premier programme Python 2024: OK, il est temps de
commencer à écrire
votre script Python. Vous allez
utiliser un programme fourni avec votre
installation de Python. Il s'appelle Idle,
qui signifie développement intégré
dans un environnement d'apprentissage. Il possède deux fenêtres principales, et vous passerez du
temps dans les deux. La première s'appelle la fenêtre
interactive, et je vais vous la partager
dans une seconde. Ensuite, la fenêtre de l'éditeur, dans
laquelle vous
pouvez écrire des scripts et des programmes que vous
enregistrerez et exécuterez ultérieurement. Vous pouvez saisir du code
à la fois dans la fenêtre interactive
et dans la fenêtre de l'éditeur. La différence entre
les deux fenêtres réside dans la façon dont elles exécutent le code. C'est bon. Jetons un coup d'
œil à la fenêtre interactive. Si vous n'
avez pas encore ouvert Idle, ouvrez-le. Vous le trouverez dans
le dossier dans lequel l'application
a été installée. Dans mon cas, je vais
choisir Python 3.12 et cliquer sur l'application Idle La fenêtre interactive Idls
contient le shell Python. Vous pouvez voir ce nom
ici, Idle Shell. Il s'agit d'une interface utilisateur texturée utilisée pour interagir avec le langage
Python Vous pouvez taper un peu
de code Python dans la fenêtre interactive et appuyer sur Entrée pour
voir immédiatement le résultat. D'où le nom interactif. Lorsque la fenêtre s'ouvre, elle affiche le même
texte au début. Le texte indique la version de Python
exécutée par Idle et certaines des commandes que vous pouvez utiliser pour obtenir aide ou afficher des informations
sur Python. Cet endroit, ici, s'
appelle l'invite, et c'est là que vous
allez pouvoir taper du code. Donc, juste en face de
cette invite du
curseur, tapez un
plus un, puis appuyez sur Entrée. Et vous pouvez voir qu'
il en produit deux. Python évalue l'expression de un plus un
et affiche deux, puis affiche
une autre invite juste en dessous Chaque fois que vous exécutez du code
dans une fenêtre interactive, une nouvelle invite apparaît juste en
dessous du résultat. Lorsque vous utilisez la fenêtre
interactive, celle-ci fonctionne comme une boucle et inclut ces trois étapes
différentes. Premièrement, Python lit le code que vous avez saisi
à l'invite. Encore une fois, le truc avec les trois différents est un peu
plus grand que des symboles. Deuxièmement, il évalue le code. Troisièmement, Python imprimera le résultat et attendra
d'autres entrées. C'est ce que l'on appelle la boucle d'impression
Red Evaluate. Nous l'avons généralement abrégé en REPL. REPL, les programmeurs Python l'appellent
généralement le
Python Shell sous le nom Python REPL ou
simplement repel OK, essayons quelque
chose d'un peu plus intéressant que de
simplement ajouter des chiffres. Le rite de passage pour
tout programmeur consiste à écrire le programme
qui affiche la phrase «
bonjour, monde entier » à l'écran. À l'invite, continuez
et tapez print, puis vous pouvez créer un
ensemble de parenthèses ici J'ouvre donc des parenthèses, et vous pouvez voir que cela me
donne quelques instructions
supplémentaires, ce
qui est plutôt sympa Et nous apprendrons tout cela au cours du cours. Dans ce cas, nous allons
imprimer du texte. Nous voulons donc bonjour à tout le monde. Et si j'appuie sur Entrée, vous pouvez voir qu'il
affiche Hello world. Ce bout de code que
vous avez saisi ici,
print, est une fonction Une fonction est un code qui exécute certaines tâches et qui peut être
invoqué par son nom. Le code ci-dessus invoque ou
appelle la fonction d'impression contenant le texte
Hello World et le produit Les parenthèses indiquent
à Python d'appeler la fonction d'impression. Si je tape simplement print tout seul, il ne saura pas comment
je veux l'appeler. Il va juste m'en parler. Cela me dit qu'il s'agit d'une fonction intégrée
nommée print. Pour appeler cette fonction, je dois mettre les parenthèses puis lui dire
quelque chose de valeur Comme vous le voyez, cela
m'incite à le mettre là-dedans. Et la dernière fois que nous avons tapé la même chose,
je vais le refaire. Et génial. Ces parenthèses entourent également tout ce qui est
envoyé dans la fonction, entre en tant qu'entrée Et les guillemets
indiquent que Hello world est vraiment du texte et non quelque
chose d'autre que nous
aimerions imprimer. À l'intérieur d'Idol, vous pouvez voir des reflets
intrigants
se produire avec différentes couleurs Avec la
configuration actuelle que j'ai, vous pouvez voir qu'une fonction
est différente de la sortie, et vous pouvez voir que
ce qui est entre
guillemets est différent
de, disons, ces nombres ici. Par défaut, les fonctions
sont surlignées en violet et le
texte en vert. Cette fenêtre interactive est
très utile pour essayer petits exemples de code et
explorer le langage Python, mais elle présente de grandes limites. Vous devez saisir le
code une ligne à la fois. Vous pouvez enregistrer le code Python dans
le fichier texte et exécuter tout ce code
afin d'exécuter un programme entier. C'est ce à quoi nous
allons passer en utilisant la fenêtre de l'éditeur. Vous allez écrire vos
propres fichiers Python l'aide de la fenêtre de l'éditeur Idols Vous pouvez ouvrir la fenêtre de l'
éditeur
en sélectionnant fichier et nouveau fichier dans le
menu en haut de la fenêtre interactive.
Laisse-moi te montrer ça. La
fenêtre interactive restera ouverte lorsque vous ouvrirez la fenêtre
de l'éditeur. Il affiche le résultat généré par le code
dans la fenêtre de l'éditeur. Vous devez donc disposer les deux fenêtres de manière à pouvoir les
voir toutes les deux en même temps. Dans la fenêtre de l'éditeur, saisissez le même
code que celui que vous utilisez pour imprimer Hello World dans la fenêtre
interactive. Notez que Idle met en évidence le
code saisi dans la fenêtre de l'éditeur comme il l'a fait dans la fenêtre
interactive Il n'est pas nécessaire d'ajouter l'invite telle qu'elle était dans la fenêtre
interactive. Ce n'est pas obligatoire. Avant de lancer le
programme, vous devez l'enregistrer. Sélectionnez donc Fichier et
Enregistrer dans le menu et
enregistrez le fichier sous le nom helloworld point PY Sur certains systèmes, il utilisera un répertoire par défaut dans lequel
Python est installé. Au même endroit qu'Idle. Assurez-vous de ne pas enregistrer vos fichiers dans ce répertoire. Enregistrez-les
plutôt sur votre bureau ou dans un dossier du répertoire personnel de
l'utilisateur. J'ai créé un dossier appelé
Python sur mon bureau, et je vais y
enregistrer le fichier. L'extension point PY indique que le fichier
contient du code Python. En fait, enregistrer votre fichier avec une autre extension supprimera le surlignage du
code. IDL ne met en évidence code
Python que lorsqu'il est
stocké dans un fichier PY à points Pour exécuter le programme,
vous pouvez sélectionner Exécuter dans le
menu déroulant et exécuter le module. Vous remarquerez peut-être également que certains raccourcis
clavier sont
surlignés ici. Dans ce cas, il s'agit de la touche de
fonction 5. Le programme va donc sortir dans la fenêtre
interactive. Vous verrez redémarrer
, puis le répertoire et le même nom
que le fichier en cours d'exécution
et sa sortie. Idle redémarre à chaque fois l'
interpréteur Python, qui est le
programme informatique qui exécute
réellement votre
code lorsque vous exécutez un fichier Cela garantit que les programmes sont exécutés de la même manière à chaque fois. Si vous souhaitez ouvrir un fichier, vous pouvez accéder à Fichier et ouvrir. Et dans mon cas, je rouvre
le fichier que nous venons d'enregistrer dans mon dossier Python
et helloworld Vous pouvez également ouvrir un fichier
à partir du gestionnaire de fichiers, tel que Windows Explorer ou Mac OS Finder, en cliquant dessus avec
le bouton
droit de la souris
et en disant « ouvrir avec ». C'est bon. Vous avez créé
votre premier programme. Ensuite, il est temps de
faire des erreurs.
11. Comprenons quelques erreurs 2024: OK, il est temps de
faire des erreurs. Il est vraiment difficile de ne pas
faire d'erreur
lors de la programmation. Et au cas où vous ne l'auriez pas encore
fait, je vais vous demander de vous entraîner à en créer
quelques-unes juste pour
avoir une
idée de ce qui se passe. Le premier type que vous allez
rencontrer s' appelle
une erreur de syntaxe. Et l'erreur de syntaxe
se produit lorsque vous écrivez du code qui n'est pas autorisé
dans le langage Python. La langue ne comprend pas
ce que vous essayez de faire. Je
vais vous demander de créer une erreur dans le code que
vous avez déjà écrit. C'est une pratique de créer
cette erreur de syntaxe. Je veux que vous rouvriez
votre fichier Hello Underscorworld
point py Et à la
fin, allez-y et supprimez le deuxième
guillemet. Cela commence donc par un
guillemet puis bonjour à tous, mais il n'y en a aucun qui
ferme la citation à cet endroit. Si vous l'enregistrez, puis que vous
exécutez ou appuyez sur la touche F cinq, vous obtenez quelque chose de nouveau
ici où il est indiqué qu' littéral de chaîne
indéterminé a
été détecté à la première ligne Selon la version
de Python dont vous disposez, ce message peut changer. Python 3.12 a ajouté de nombreuses autres
explications explicites des erreurs, ce qui est vraiment sympa Et vous en verrez d'autres
tout au long du cours au
fur et à mesure que nous poursuivrons. Mais ce que vous pourriez voir
dans une version antérieure de ce document est une déclaration
qui dit EOL, et EOL signifie end of line Dans ce cas, il a été reformaté et dit
quelque chose d'un peu plus gentil Alors, qu'est-ce qu'une chaîne littérale ? Eh bien, une chaîne littérale est
ce que vous avez créé ici. Mais dans ce cas, vous ne l'
avez pas fermé ou terminé avec les guillemets
supplémentaires. Pour créer une chaîne littérale, vous devez placer
le texte souhaité entre guillemets Il peut s'agir d'un guillemet
double ou d'un
guillemet simple, et vous y consacrerez beaucoup
de temps dans un prochain cours consacré aux
chaînes de caractères. Pour corriger cette erreur de syntaxe, vous devez ajouter cet
autre élément et l'enregistrer. Et puis il peut
fonctionner et imprimer. C'est donc considéré comme
une erreur de syntaxe. L'autre type d'erreur
que vous rencontrerez lors de la programmation s'appelle
une erreur d'exécution. Idle détecte les erreurs de syntaxe avant
même que le programme ne commence à s'exécuter. En revanche, les erreurs d'exécution ne se produisent que lorsqu'un
programme est en cours d'exécution. Lorsqu'une erreur se produit, Python arrête d'exécuter
le programme, puis il
affiche plusieurs lignes de texte, ce que l'on appelle
une trace, et il affiche un tas d'informations utiles
sur l'erreur. Ce qui est très
intéressant,
c' est qu'il vaut mieux les lire
de bas en haut. Je vais vous demander de
retourner dans votre fichier,
et cette fois, vous allez créer
une erreur d'exécution, puis vous pourrez voir la
différence entre les deux. Pour créer une
erreur d'exécution, essayez plutôt ceci. Supprimez les deux guillemets. Avez-vous remarqué que la couleur du
texte passe au noir lorsque vous supprimez
les guillemets ? Idle ne reconnaît plus
Hello World sous forme de texte. Donc, ce qui va se passer
ici, c'est que c'est un code valide. Il comprend sa syntaxe, mais quelque chose de différent
va se produire. Allez-y, enregistrez-le, et lorsque vous l'exécuterez,
vous verrez cela se produire. C'est ce qu'on appelle
une erreur d'exécution. Et encore une fois, pour lire
la trace, c'est
ce qui se passe ici. Il vaut mieux le lire
du bas vers le haut. Il indique donc tout de suite qu'il agit d'une erreur de nom. Il y a un nom
ou quelque chose que vous demandez
d'imprimer. Il s'appelle Hello,
et il n'est pas défini. Il ne sait pas, vous savez, ce qu'est un bonjour ou à quoi
il fait référence C'est valide en ce qui concerne
sa syntaxe, la façon dont il est écrit,
mais hello n'existe pas. Cela n'a donc pas encore été défini. Et c'est ce que
vous allez faire dans la leçon suivante, c'est
apprendre à définir des variables. Et si cela devait continuer, cela aurait en fait le
même problème avec le monde. Encore une fois, vous pouvez lire
du bas vers le haut. Il s'agit donc d'une erreur de nom. Le nom hello n'est pas défini, puis il vous montre l'
instruction où cela se produit. Et puis ça va un peu
plus loin ici. Il s'agit du fichier à partir duquel
il est en train de lire. Parfois, les projets Python
comportent plusieurs fichiers et le retraçage peut
mener à un autre fichier. Donc, dans ce cas, il est écrit « OK, où vous l'avez enregistré
dans le nom du fichier », et cela
vous indique en fait de quelle ligne il s'agit. Encore une fois, vous n'allez pas
avoir de
programmes aussi simples à venir. Il ne s'agit que d'une
seule ligne. Il est donc assez simple de savoir
où se situe le problème. Mais c'est ainsi que fonctionne le retraçage, et vous pouvez les pratiquer beaucoup plus au fur et à Comprenez-vous donc la
différence entre une erreur d'exécution et
une erreur de syntaxe ? Génial. Dans le cas
d'une erreur de syntaxe, il ne vous permettra même pas de l'exécuter
car cela ne
ressemble pas à un code Python normal. Il ne suit pas
la bonne syntaxe. Dans ce cas, il s'agit d'une erreur complètement différente où il a tout lu
, mais au moment de l'exécuter,
il n'a trouvé nulle part la définition de hello
. OK, il est temps de t'entraîner un
peu par toi-même. En guise de critique,
essayez d' écrire un programme qu'Idle ne lancera pas en raison d'
une erreur de syntaxe. Écrivez ensuite un autre
programme qui ne se bloque que lorsqu'il est en cours d'exécution en raison
d'une erreur d'exécution Dans
cette leçon, vous trouverez le fichier de
solutions dans vos ressources. OK. Ensuite, vous allez tout
apprendre sur la
création de variables.
12. Créer une variable 2024: Maintenant que vous avez vu
brièvement les variables dans la dernière leçon, il est temps d'
en parler plus en profondeur. Dans les variables ou les noms Python, il est possible de lui attribuer une
valeur, puis de l'utiliser pour y faire référence ultérieurement
dans votre code. Et l'idée vraiment
cruciale d' une variable est que vous pouvez
lui attribuer et lui donner une valeur. Mais si vous
souhaitez référencer cette valeur ultérieurement dans
le programme, vous pouvez appeler le nom
de la variable et la
réutiliser ou éventuellement
lui donner une valeur différente. Les variables sont vraiment
fondamentales pour la programmation, et ce pour deux raisons principales. Premièrement, il permet de garder accessibles les valeurs
que vous
essayez d'intégrer dans votre
programme. Par exemple, vous pouvez
attribuer le résultat d' opération ou d'une expression
fastidieuse à une variable afin que
votre programme n'
exécute pas l'opération chaque fois que vous devez utiliser le résultat. Il peut simplement accéder à la valeur
directement depuis la variable. L'autre raison est que
les variables peuvent vous donner du contexte. Lorsque vous avez le chiffre 20, cela peut signifier plusieurs choses
différentes. Cela peut signifier le nombre
d'élèves en classe. Il peut s'agir du nombre de fois où quelqu'un
a accédé un site Web ou s'est rendu
quelque part, etc. Le fait de donner à la valeur 20
un nom, comme un certain nombre d'étudiants, permet de clarifier la
signification de cette valeur. Dans cette leçon, vous allez
apprendre à utiliser des variables dans votre code, ainsi que certaines règles et
directives de style sous-jacentes. Pour y parvenir, cependant,
pour créer une variable, vous devez vous
renseigner sur ce l'
on appelle l'opérateur d'affectation. Commençons donc par le
deuxième opérateur de mots. Un opérateur est un symbole
tel que le plus ou le moins qui effectue une opération
sur une ou plusieurs valeurs. Vous en avez utilisé un plus tôt
sur deux plus deux, et il effectue l'
addition dans ce cas. S'il était égal à deux moins deux, il effectuerait une soustraction Dans le cas d'une affectation, les valeurs sont attribuées aux noms de
variables à l'aide d'un symbole spécial appelé
opérateur d'affectation, qui est un signe égal unique. Et cela peut être un
peu déroutant. Vous découvrirez comment
fonctionne
cet opérateur
d' assignation et comment il compare
pas nécessairement deux choses disant qu'elles sont
égales l'une à l'autre. Il s'agit en fait
de donner la valeur et de l'attribuer au nom de cette
variable L'opérateur prend la valeur
qui se trouve sur le côté droit de l'opérateur et
l'affecte au nom sur la gauche Laissez-moi y jeter un œil
dans la fenêtre interactive. Tapez ceci. Si vous
voulez créer une variable, son nom est salutation Pour lui attribuer une valeur, vous devez utiliser le signe égal,
l'opérateur d'affectation. Vous allez
lui donner la chaîne littérale de Hello world. Si vous deviez taper print, choisissez d'utiliser le nom de la
variable salutation comme valeur choisissez d'utiliser le nom de la
variable salutation Vous obtiendrez le même résultat
que si vous deviez
lui faire imprimer le littéral
lui-même, bonjour tout le monde Maintenant, si vous deviez taper la
salutation seule, vous verrez qu'elle
sera assignée à la chaîne
littérale hello world Et si vous faisiez
une faute de frappe lors de l'impression et que vous
choisissiez la salutation en
majuscules ? Ce code est à nouveau valide. Cela montre qu'en ce qui
concerne la syntaxe, cela fonctionne. Mais lorsque j'appuie sur Entrée, vous pouvez voir que j'ai une erreur
d'exécution ou une erreur de nom. Le nom de salutation n'
est pas défini. Et puis, encore une fois, c'est un avantage de
Python qui vous donne
en fait
une petite meilleure idée du contexte de
ce qui se passe. Et il est écrit :
Vouliez-vous dire salutation ? Parce qu'il y a une
variable nommée salutation ici, ce qui est vraiment sympa Il s'agit d'une mise à jour. Il se peut que cela ne soit pas le
cas dans une version antérieure
de Python. Oh, oui. La case que vous utilisez dans le nom
d'une variable est importante et elle est
complètement différente. Vous avez peut-être appris dans
d'autres contextes de programmation que les majuscules
n'avaient peut-être pas d'importance, mais dans le cas de
Python, c'est Il existe maintenant des règles relatives à la validité des variables et des
noms dans Python. Encore une fois, pour éviter
des erreurs de syntaxe. Les noms de variables peuvent contenir des lettres majuscules et minuscules N'importe lequel d'entre eux est bon. Il peut inclure des chiffres. Il peut inclure des soulignements. Et la seule astuce, cependant, c'est que cela ne peut pas
commencer par un chiffre, ne
peut pas commencer par un chiffre. Permettez-moi donc de vous donner
quelques exemples. Un nom Python valide
peut donc être une chaîne un
ou un trait de soulignement A un S quatre, ou une liste de
soulignements de villes Certaines des choses
qui ne
seraient pas valides commenceraient
par un chiffre. Donc cinq câbles ou 65 tours. Alors gardez cela à l'esprit. Vous ne pouvez pas commencer par un chiffre, vous pouvez commencer par un chiffre. OK ? Génial. Outre les
caractères alphabétiques dont nous venons de parler et les
chiffres du trait de soulignement, les noms de variables
Python peuvent
contenir des caractères Unicode Unicode, si vous
ne le connaissez pas,
est un standard pour
représenter numériquement des caractères, et il est utilisé dans
la plupart des systèmes d'écriture du monde Permettez-moi donc de vous donner quelques
exemples de choses que
vous avez peut-être vues. Ainsi, des lettres décorées en
français, en espagnol ou en allemand, où vous avez comme E avec un accent dessus
ou avec un umlat, vous savez, différentes choses de ce
genre qui sont décorées Vous pouvez utiliser ces
caractères dans les symboles chinois, japonais ou arabes, mais tous les
systèmes sur lesquels vous exécutez
votre code ne peuvent pas afficher
ces caractères. Il faut donc faire attention,
et il serait peut-être préférable d'utiliser ceux
que nous avons spécifiés
un peu plus tôt. Vous allez en apprendre
beaucoup plus sur Unicode dans une section bien ultérieure, mais j'inclurai également quelques ressources si vous
voulez aller de l'avant. Il est difficile de choisir
un bon nom pour une variable. Il existe quelques mèmes qui montrent quelqu'un qui
réfléchit vraiment sérieusement comment trouver un nom Et il y a certaines directives que vous voudrez peut-être suivre. La première chose que
je veux partager avec vous est qu'il peut être bien
mieux de garder les choses descriptives que de
les garder très brèves. Il est assez
difficile de connaître votre intention
quant à une variable nommée S difficile de connaître votre intention
quant à , surtout s'il s'
agit de secondes. Cela pourrait être beaucoup plus
utile ou encore plus explicite et descriptif
: quelques secondes par heure. Cela peut vous
sembler beaucoup de choses à taper. Ce que vous apprendrez, c'est
que lorsque vous
travaillez avec un éditeur, il existe de nombreux outils qui peuvent vous aider à compléter les noms des éléments afin
que vous n'ayez pas à soucier de garder
les choses très serrées et courtes. Il peut être beaucoup plus utile
pour vous d'avoir à l'avenir un nom descriptif qu'un
simple nom court. La bonne règle
est de limiter le nom de la variable à trois
ou quatre mots au maximum. D'accord. J'ai donc dit que vous pouviez utiliser des lettres minuscules
ou majuscules Eh bien, où devriez-vous les utiliser ? L'étui que vous devez utiliser peut varier en fonction de ce que
vous souhaitez faire, mais il existe certaines directives. Parlons des différentes
manières de le faire. L'un des termes
utilisés est la combinaison de majuscules, où vous commencez par,
disons, des lettres minuscules, puis
chaque mot que vous ajoutez à l'intérieur
du nom de cette variable, vous le mettez en majuscule pour
la première lettre de celui-ci Voici donc quelques exemples. Ainsi, un certain nombre d'
étudiants peuvent être étudiants en capital nul ou une liste de
noms de majuscules, etc. C'est ce qu'on appelle un cas mixte. L'autre méthode
consiste à utiliser des traits de soulignement, en gardant tout en
minuscules, puis en utilisant un trait de soulignement
entre chacun d' C'est ce que l'on appelle
aussi affaire Snake. Voici à quoi
ressembleraient ces variables en minuscules
ou en minuscules avec des soulignements En Python, il est plus courant d'
écrire les noms de variables
dans ce style. Il n'est pas interdit
d'utiliser des majuscules et minuscules, mais c'est généralement
plus dans le style de Python que de le
faire. En fait, il y a
tout un sujet
à ce sujet, appelé PEP 8 PEP 8 est largement considéré comme le guide de style officiel
pour écrire en Python, comment les choses sont nommées, comment les choses doivent être formatées,
comment les choses doivent ressembler Et vous pouvez en apprendre beaucoup
plus
à ce sujet en consultant ce site web, pepight.org Quelqu'un a créé
ce site pour vous donner un aperçu de toutes les fonctionnalités d'une
manière bien formatée Il y a plus d'informations. Je vais inclure un lien
dans la description. En suivant les normes décrites et la PEP 8, vous garantissez que votre code Python est lisible pour la plupart des programmeurs
Python Il ressemblera au style des autres
utilisateurs de Python En ce qui concerne le nom PEP, il signifie Python
Enhancement Protocol Un PEP est un document de conception. Il est utilisé par la communauté
Python pour proposer de nouvelles fonctionnalités ou
des modifications du langage. Lorsque vous travaillez avec des variables, il est agréable de
pouvoir inspecter les valeurs, et vous pouvez le faire dans
la fenêtre interactive. Pour vérifier la valeur qu'une
variable contient actuellement, vous pouvez taper le
nom de la variable elle-même à l'invite. Le simple fait de taper le nom
à l'invite
affichera souvent quelque chose de
différent de ce qui est affiché par rapport
à l'impression. Vous pouvez également en
savoir plus sur le type de variable en saisissant le nom de la
variable dans type. Laissez-moi vous montrer à
quoi ils ressemblent. Supposons que vous ayez créé
une variable de X et que X se
voit attribuer la valeur de deux. Si je tape X et que j'
inspecte la variable, vous pouvez voir que sa valeur est deux. Et si je devais imprimer, j'obtiendrais le même résultat. Maintenant, cela pourrait sembler un peu
différent si je devais dire, assignez Y à la valeur
de la chaîne littérale deux Il s'agit donc d'un texte plutôt que d'
une valeur numérique réelle. Donc, dans ce cas, si je tape Y, vous verrez qu'il
produit quelque chose légèrement différent par rapport
à ce que je devrais imprimer. Cela peut donc être un
peu déroutant. Et ce que vous allez apprendre, c'est que ce
sont des types différents, et qu'ils sont interprétés
différemment dans Python. Et c'est un vaste sujet
que vous
aborderez dans des sections bien
ultérieures. Une chose que vous pouvez vérifier,
c'est que vous pouvez dire « tapez ». Vous pouvez voir ici qu'il
demandera l'objet ou le nom, puis qu'il reviendra. C'est ce que la flèche
indique : le type de l'objet. Et ce n'est qu'un aperçu. Essayez-le donc avec X. Il est dit que c'est
une classe d'entiers. Maintenant, par rapport au type de Y. Y
est la classe d'une chaîne, et ils sont représentés
différemment lorsque vous entrez
simplement le
nom de la variable Et gardez à l'esprit qu'
une inspection variable comme
celle-ci ne fonctionne que dans cette fenêtre interactive
à l'intérieur d'un REPL. Essayez par exemple d'exécuter le programme suivant
depuis la fenêtre de l'éditeur. Donc, disons que
nous commençons par définir salutation et que
cela signifie bonjour tout le monde Et puis, sur la ligne suivante, tapez
simplement « salutation ». Qu'est-ce que cela va produire
lorsque vous lancerez ce programme ? Comme vous pouvez le voir quand il l'a exécuté, il n'a rien produit. Ce type d'inspection d' une variable ne fonctionne ici que
dans la fenêtre interactive. À titre de résumé, voici quelques exercices que vous pouvez effectuer à l'aide
de la fenêtre interactive. Affichez du texte à l'aide de l'impression. Ensuite, à l'aide de la fenêtre
interactive, assignez une chaîne
littérale à une variable Imprimez ensuite le contenu de la variable à l'aide
de la fonction d'impression. Répétez ces deux premiers exercices en utilisant
maintenant la fenêtre de l'éditeur avec un fichier. Vous trouverez le fichier de
solution dans la leçon, à l'intérieur de vos
ressources. C'est bon. Ensuite, comment
pouvez-vous laisser notes à l'intérieur de votre code ?
Merci d'avoir regardé.
13. Ajouter des commentaires 2024: Dans cette leçon,
vous allez
apprendre à prendre des notes
utiles. C'est ce qu'on appelle des commentaires. Les programmeurs
lisent parfois du code qu'ils ont écrit il y a quelque temps et
se demandent à quoi cela sert Lorsque vous n'avez pas
regardé un code depuis longtemps, il peut être difficile de se rappeler pourquoi vous l'avez écrit
comme vous l'avez écrit. Pour éviter ce problème, vous pouvez laisser des commentaires
dans votre code. Les commentaires sont des lignes de texte qui n'affectent pas le fonctionnement du programme. Ils documentent ce que fait le
code et pourquoi vous, le programmeur, avez pris
certaines décisions. Ouvrons un fichier précédent,
bonjour tout le monde, et
modifions le code. Tout s'est terminé dans la première
ligne du code. La salutation est synonyme
de bonjour à tout le monde. Imprimer le message de salutation. Pour commencer un commentaire, vous
utilisez le symbole de hachage, parfois appelé
signe numérique C'est ce que j'aime
appeler ça. Il est aussi parfois appelé
le signe de la livre aux États-Unis. Il se peut que le Royaume-Uni ne soit pas d'accord avec cela. Le nom technique
est un octothorp. Vous en avez peut-être entendu parler. Commencez par ce symbole de hachage, puis tout ce que
vous écrirez ensuite sera ignoré
lors de l'exécution du programme Donc, si je sauvegarde
puis que j'exécute ce code, vous pouvez voir
qu'il s'exécute normalement. Cela n'a rien changé à la façon dont ce code
particulier fonctionne. Vous
pouvez commenter votre code de deux manières. Le premier
commence par un symbole de hachage sur une nouvelle ligne et s'
appelle un commentaire de bloc. L'autre style est appelé commentaire
intégré. Il continue sur
la même ligne avec un symbole de hachage juste
après le code Vous pouvez toujours utiliser le signe
dièse, le symbole de hachage
à l'intérieur d'une chaîne Par exemple, Python ne
confondra pas ce qui suit
avec une chaîne. Permettez-moi de revenir à la fenêtre
interactive. Si je devais imprimer une
chaîne indiquant le numéro un, cela ne poserait aucun
problème. Il va quand même être imprimé car il fait
partie d'une chaîne. En général, c'est une bonne idée de faire en sorte que vos commentaires soient aussi
courts que possible. Mais parfois, vous
devez écrire
plus que ce qui convient raisonnablement
sur une seule ligne. Dans ce cas, vous pouvez
continuer votre commentaire sur une nouvelle ligne et
le commencer par un symbole dièse Vous pouvez également commenter
des lignes de votre code. Pour ce faire, vous devez placer ce signe
de hachage au début
d'une ligne de code Il s'agit d'un moyen non destructif de
tester le comportement de votre programme sans qu'il exécute des
lignes de code spécifiques. Et voici quelques
recommandations façon dont vous devez
formater vos commentaires. Encore une fois,
conformément à la PEP 8, les commentaires doivent toujours être
rédigés en phrases complètes Ils doivent comporter un
seul espace entre le symbole de hachage et le
premier mot du commentaire Les commentaires intégrés doivent
commencer par deux espaces après votre code PEP 8 recommande également que vos commentaires soient
utilisés avec parcimonie Les commentaires qui décrivent réellement ce qui est déjà évident ne sont pas nécessaires et peuvent être une grosse bête noire pour de
nombreux programmeurs Il est préférable d'
utiliser les commentaires pour clarifier code qui peut être
difficile à comprendre ou pour expliquer pourquoi
quelque chose est codé d'
une certaine manière . Merci de
m'avoir regardée.
14. Interagir avec IDLE 2024: Tout au long de ce cours, nous vous
ferons participer à un grand nombre de ces exercices de
codage interactifs. L'idée est que vous n'êtes pas simplement assis là à me
regarder parler, mais
que vous mettez en pratique
tout ce que vous
apprenez. De cette façon, il
devient réellement le vôtre. Ces exercices de codage sont
excellents car nous pouvons vous donner instructions et vous montrer ce qui doit se passer si vous
écrivez le bon code, ce qu'il doit faire et ce que vous serez capable de
faire avec votre code, ainsi que de le voir s'
exécuter dans la console. C'est grâce à un grand nombre de ces exercices que
vous
pourrez monter de niveau et que
vous deviendrez un meilleur codeur. Donc, pour vous assurer que vous
pouvez interagir avec Idol, essayez les étapes suivantes
sur votre ordinateur. Mettez la vidéo en pause maintenant et
terminez ce défi. C'est bon. Comment vous êtes-vous entendu ? J'espère vraiment que
tu as bien essayé. Parce que c'est dans ces
moments-là que vous
allez apprendre à coder. Bien entendu, c'est
le tout début. Maintenant, il s'agit d'un
exercice très simple conçu pour assurer que vous pouvez localiser le logiciel inactif
sur votre programme, démarrer en mode inactif, puis faire
quelque chose de très simple dessus. Il vous suffit donc de saisir une déclaration
d'impression. Tout d'abord, nous allons
localiser le mode inactif sur votre système. Je vais donc cliquer ici
pour rechercher Idle. C'est ici. Vous pouvez également
cliquer sur le bouton étoile. Localisez le dossier Python. Ensuite, vous verrez un élément
inactif dans ce groupe. Il suffit donc de cliquer dessus. Et cela devrait permettre à l'idole de
fonctionner sur notre système. A Idol s'exécute dans cette fenêtre du shell
Python. Ici, l'interpréteur du
mode interactif est en cours d'exécution, et nous avons l'invite, les trois signes supérieurs à. C'est l'invite
qui attend nous saisissions une instruction Python, puis elle
exécutera cette instruction. L'exercice vous indique donc
de taper une instruction d'impression. Allons-y et tapons-le. Imprimer. Ensuite, nous avons
une parenthèse ouvrante, puis nous tapons les
caractères que nous voulons imprimer entre guillemets C'est un test d'idole. Ensuite, nous mettons un guillemet
fermant et une parenthèse fermante Maintenant, je vais
appuyer sur la touche Entrée, et nous devrions voir le
résultat de cette déclaration. Ainsi, lorsque j'appuie sur la touche Entrée, l'interpréteur Python a
exécuté cette instruction, et nous voyons ici le résultat. Donc, si vous avez
tout saisi correctement, votre écran devrait
ressembler à ceci Il est possible que vous ayez
fait une faute de frappe. Par exemple, une erreur courante consiste à omettre les
guillemets. Donc, si vous avez fait
quelque chose comme ça, laissez-moi simplement faire
cette erreur exprès Vous pouvez donc voir que
j'ai tapé la déclaration, mais j'ai omis les
guillemets Et dans ce cas, je reçois un message d'erreur m'
indiquant que j'ai une erreur de syntaxe, une syntaxe non valide. Donc, si vous dites
quelque chose comme ça, examinez la façon dont l'énoncé
apparaît dans votre manuel et assurez-vous de le taper exactement comme il apparaît Maintenant, une autre
erreur courante consiste à omettre le nombre correct de
parenthèses, par exemple Ici, je tape correctement l'
instruction d'impression, sauf que je n'ai pas saisi
la parenthèse fermante Maintenant, si j'appuie sur la touche Entrée, vous remarquerez que je ne
reçois aucun message d'erreur, mais que l'interpréteur Python attend que je
termine l'instruction. Le curseur passe
simplement à la ligne suivante, et chaque fois que j'
appuie sur la touche Entrée, il passe simplement
à la ligne suivante, mais cela ne
me donne aucun résultat. Il attend que je tape
la parenthèse fermante, puis il me donne le résultat Donc, si vous observez ce comportement, cela indique probablement que vous avez
oublié une parenthèse Vous vous
habituerez à toutes ces choses en
travaillant de plus en plus dans un
environnement inactif. Maintenant, lorsque vous avez
terminé avec Idol, vous pouvez accéder au menu Fichier
et sélectionner Exit, ou vous pouvez simplement taper Control
plus Q avec un clavier, et cela le fermera. Merci d'avoir regardé.
15. Comment trouver de l'aide 20224: Yo. Quoi de neuf, tout le monde. Dans cette conférence, nous allons expliquer
comment trouver de l'aide
lorsque vous êtes bloqué. Vous découvrirez également les
meilleures pages Web et ressources pour les
questions et réponses sur Python. Commençons donc. Lorsque vous apprenez
à programmer à un moment donné, vous serez bloqué. Ceci est tout à fait
normal pour les débutants et
les utilisateurs expérimentés en programmation. Lorsque vous êtes bloqué et avant pouvoir obtenir de l'aide
de quelqu'un d'autre,
vous devriez
d'abord évaluer votre situation. Je veux dire, pour vous
remettre en question, sur ce que vous essayez de
faire et sur les résultats que vous
avez obtenus. Résoudre des problèmes de programmation
n'est pas
aussi difficile que vous le pensez. Faisons un exemple.
Tapez A plus B. Puis appuyez sur Entrée. Une
flèche apparaît en rouge. Python imprime un retraçage lorsqu'une exception est
déclenchée dans votre code Un suivi est un
rapport contenant les appels de fonction effectués dans
votre code à un moment précis. Pas de soucis. J'ai une section entière expliquant
les erreurs et comment les gérer. Il n'est pas nécessaire de comprendre ce que signifie le
message d'erreur pour le moment, mais je vais vous donner une
brève explication. Il s'agit d'une erreur de nom,
l'un des types les plus courants
d'erreurs Python. Une erreur de nom signifie
que vous avez essayé d'
utiliser une variable qui
n'existe pas encore. Une erreur de nom est générée
lorsque vous essayez
d'utiliser un
nom de variable ou de fonction non valide. En Python, le code s'exécute
de haut en bas. Cela signifie que
vous ne pouvez pas déclarer une variable après avoir
essayé de l'utiliser dans votre code. Python ne saurait pas ce que vous
voulez que la variable fasse. Dans notre exemple, nous
n'avons pas déclaré de variable appelée A ni de
variable appelée B. Pour résoudre ce problème,
nous devons déclarer A et B avant de
les utiliser dans notre code. Il existe deux principaux
types d'erreurs. Une erreur de syntaxe
signifie essentiellement que vous avez commis une erreur de
ponctuation. Il s'agit des erreurs les plus
courantes. Habituez-vous à lire ce que
vous avez tapé de très près et le
comparer très soigneusement à ce que vous auriez dû taper Des erreurs de logique se produisent lorsque
vous avez mal compris ce que vous essayez de faire ou ce que
vous avez demandé à Python de faire Ces erreurs peuvent être difficiles à détecter et plus difficiles
à détecter. Le moyen le plus simple
d'obtenir de l'aide est copier le message d'erreur
dans la recherche Google, et vous devriez voir
des tonnes de liens expliquant ce que
signifie le message d'erreur et ses causes. Vous pouvez également essayer de demander aux
utilisateurs directement dans un formulaire Web tel que
Stack Overflow Voici l'adresse du site Web. Stack Overflow est l'un des de
questions-réponses les plus populaires sites
de
questions-réponses les plus populaires pour les programmeurs Il est très fiable
car les utilisateurs peuvent voter pour les réponses
qu'ils trouvent les plus utiles. Les meilleures réponses sont donc généralement les premières que vous trouverez. Une autre façon de trouver de
l'aide est consulter la
documentation officielle de Python. Voici l'adresse du site Web. Il est utile et contient
une grande quantité de documentation. Enfin, pythontutor.com
est une excellente page Web. Il dispose d'un outil pour écrire ou coller programme
Python et visualiser ce que
fait l'ordinateur étape par étape lorsqu'il exécute
ces programmes
16. Écrire votre premier programme Python – Résumé: Dans cette leçon, je vais
résumer la section et partager quelques ressources supplémentaires pour que vous puissiez continuer à apprendre. Tout au long de cette
section, plusieurs
nouveaux concepts vous ont été présentés. Vous apprendrez comment les variables donnent des noms aux valeurs
de votre code. Vous apprenez à utiliser
l'opérateur d'affectation pour attribuer des valeurs
aux variables. Découvrez les erreurs de syntaxe
et la façon dont elles se produisent lorsque vous écrivez du code non autorisé dans le langage
Python. Vous avez également découvert erreurs
d'exécution et la façon dont elles se produisent pendant l'exécution d'un
programme. Les erreurs d'exécution
vous permettent également de retrouver informations
utiles
sur l'erreur est préférable de les lire
de bas en haut. Comment les commentaires sont
des lignes de code qui ne sont pas exécutées et qui
servent principalement de documentation. Pour tester vos connaissances, il existe un quiz que vous pouvez
consulter dans cette section. Félicitations pour la rédaction de
votre premier programme, et j'espère vous voir
bientôt dans la section suivante.
17. Cordes et méthodes de cordes – INTRODUCTION 2024: Bonjour à tous, et bienvenue sur les chaînes et les méthodes de chaîne. Les programmeurs Python
traitent du texte au quotidien, qu'il
s'agisse de l'afficher sur une page Web ou dans une interface utilisateur
graphique, ou même d'accepter une entrée saisie par un utilisateur
dans votre application Il existe même des segments
entiers de la science
des données qui traitent extraction d'informations
à partir de textes, tels que l'analyse des sentiments collections de texte en
Python sont appelées chaînes, et il existe des
fonctions spéciales appelées méthodes de
chaîne utilisées pour
manipuler des chaînes, comme le changement d'une chaîne
de majuscules en minuscules, suppression d'espaces blancs ou remplacement de parties de la
chaîne par un texte différent Dans cette section, vous allez
apprendre à manipuler des chaînes à
l'
aide de méthodes de chaîne Vous travaillerez avec les données saisies par les utilisateurs. Vous apprendrez à
gérer des chaînes de
nombres et à transformer des nombres en chaînes, à formater des chaînes
pour l'impression. En cours de route, vous
découvrirez les chaînes F, chaînes
multilignes et comment indexer et découper des chaînes Qu'est-ce que l'
immuabilité des chaînes et comment découvrir
d'autres
méthodes à l'aide d'Idle vous-même ? Bien, il est temps de découvrir ce qu'
est une ficelle.
18. Qu'est-ce qu'une chaîne 2024: Bonjour à tous.
C'est Andreas, et je
vous souhaite la bienvenue dans cette nouvelle section. Dans les conférences suivantes, vous découvrirez les
différents types de données que vous pouvez utiliser dans
vos programmes Python. Nous avons beaucoup à faire, alors
lancez votre shell Python, et c'est parti. Une chaîne est une série de
caractères, un texte si vous préférez. Tout ce qui
est entre guillemets est considéré comme une chaîne. En Python, vous pouvez utiliser des guillemets
simples ou doubles
autour de vos chaînes. Par exemple, si je tape Python entre guillemets doubles et
Python entre guillemets simples, le résultat n'est pas le même. Il est essentiel de
comprendre ce que nous
faisons lorsque nous utilisons des
guillemets et quand nous ne le faisons pas. Si je saisis des ventes égales
à 1 000 entre guillemets, ventes sont une chaîne et non un chiffre. Mais si je tape des ventes égales
à 1 000 sans guillemets, les ventes sont un entier. Mais comment utiliser un
guillemet dans une chaîne ? Tapez et appuyez sur Entrée. Cette syntaxe n'est pas valide, comme vous le voyez, il existe
des solutions pour cela. Une solution consiste à commencer par chaîne
de caractères et des
guillemets doubles comme celui-ci. Comme la chaîne
commence par un guillemet double, Python sait que les guillemets
simples font partie de la chaîne et ne
marquent pas la fin de la chaîne. Mais si vous devez utiliser à fois des guillemets simples et des guillemets
doubles dans la chaîne, vous devez utiliser
un caractère d'échappement ou des séquences d'échappement. Un caractère d'échappement
se compose d'une barre oblique inverse suivie du caractère que vous souhaitez
ajouter à la chaîne Le caractère d'échappement
pour les guillemets simples est donc le suivant. Tapons la chaîne
ci-dessus en utilisant
maintenant le caractère d'échappement et
en évitant les guillemets doubles. Je suis super. Il existe une autre utilisation
des caractères d'échappement
, à savoir les
significations spéciales telles que les nouvelles lignes, et nous le verrons en action ensuite. Ici, D est
défini avec un texte. Il s'agit de la première ligne
suivie d'une barre oblique inverse N, ce qui signifie que nous
voulons dire une nouvelle Continuons à
taper. C'est la deuxième ligne. Et les citations se
terminent à la fin. Nous avons donc ici le caractère N de la
barre oblique inverse, qui signifie une nouvelle ligne Si nous utilisons print D, vous verrez qu'il s'agit de la première ligne, et sur une ligne séparée, il
s'agit de la ligne deux. Maintenant, c'est quelque chose
que nous utilisons beaucoup, surtout si nous travaillons
avec des fichiers texte, et vous
constaterez souvent que vous devez insérer ou supprimer une nouvelle ligne
de caractères dans les textes. Il est également possible de créer des
onglets avec une barre oblique inversée T. Vous pouvez donc voir ici variables définies avec
certains caractères de tabulation Et encore une fois, en imprimant ceci. Ce sont les onglets qui ont été insérés entre les mots. Il est essentiel de connaître
les différents
caractères d' échappement que vous pouvez insérer dans le texte. Vous pouvez voir une sélection de caractères d' échappement tels que des guillemets simples,
des guillemets
doubles, une nouvelle ligne avec N, un retour en
chariot avec R, une tabulation
avec T, et la possibilité de
définir des caractères à l' aide de valeurs octales ou C'est bon.
Parlons des chaînes brutes. Dans une chaîne brute, les caractères de
séquence d'échappement tels que ceux que vous avez vus auparavant
ne sont pas interprétés. Nous allons voir comment
définir un caractère brut. Définissons une variable appelée A en utilisant le nouveau caractère de ligne. Pour créer une chaîne brute, une chaîne est préfixée
par un R, comme indiqué ici Sinon, le contexte
est exactement le même. L'impression
affiche la chaîne brute, ce qui
signifie que le nouveau caractère de
ligne n'est pas interprété par print
à sa gauche intact. Cela est utile dans
les applications où les caractères de la séquence d'échappement ne doivent pas être
interprétés normalement, comme les expressions régulières. Parfois, vous devez
insérer une chaîne multiligne. Une chaîne multiligne
commence et se termine
par trois guillemets simples
ou trois guillemets doubles Tous les guillemets, onglets ou lignes d'
actualités entre
les guillemets triples sont
considérés comme faisant partie de la chaîne. Tapons ce qui suit. Le résultat apparaît sur la coque. De plus, une chaîne multiligne
est souvent utilisée pour les commentaires. Génial. J'espère que vous avez compris ce que sont les chaînes et comment vous pouvez les
créer et les utiliser. N'oubliez pas que les
chaînes sont l'un des types de données fondamentaux en Python. Merci d'avoir regardé.
19. Qu'est-ce qu'une corde (exercice) 2024: Bienvenue, tout le monde,
au premier exercice
de cette section. Nos cours d'exercices
sont entièrement axés sur l'entraînement. Vous vous entraînerez au
processus d'écriture de code en résolvant des exercices soigneusement
sélectionnés. Vous vous entraînerez également à lire code des
autres et communiquer votre processus de
pensée. faisant tout cela, vous mettrez pratique les concepts
que vous avez
appris dans le cours précédent
et vous aiderez à les appliquer. Dans les prochaines leçons
d'exercices, je vais vous présenter les tâches. Donnez-vous l'occasion
de les résoudre vous-même, puis de vous montrer étape par étape
comment j'ai résolu chacun d'eux. Suivez trois
étapes pour chaque tâche, découvrez l'exercice, codez votre propre solution, puis comparez
votre solution et le processus qui
vous a permis d'atteindre la mienne. Lorsque je vous explique une tâche, je vous explique ce que je fais et pourquoi je le fais
ainsi. Cela vous donnera l'
occasion de comparer non seulement nos solutions finales, mais également la manière dont nous y sommes parvenus. Idéalement, cela peut vous aider à mieux
comprendre les processus permettant de passer d'
une description de tâche à une solution
fonctionnelle dans le code. OK, ça suffit de parler. Voici votre premier
exercice. Qu'est-ce qu'une chaîne ? une question très philosophique,
mais nous allons l'aborder de manière un peu
plus pratique. Votre tâche va
consister à imprimer quatre chaînes individuelles répondant
à certaines conditions. La première est
qu'il doit y avoir guillemets
doubles
à l'intérieur de la chaîne. Le second doit avoir
une apostrophe à l'intérieur Le troisième doit comporter
plusieurs lignes avec des espaces
blancs préservés, et le quatrième doit
être codé sur plusieurs lignes, mais il n'est ensuite imprimé
que sur une seule ligne. Ce sont différentes manières
de construire des chaînes, et c'est juste une façon de vous
rappeler comment vous pouvez créer des chaînes qui remplissent
certaines conditions. Allez-y. Faites-le maintenant, et une fois que vous aurez terminé
votre
solution, passez à la leçon
suivante où je
vais également résoudre les quatre
tâches, puis vous pourrez comparer
avec ma solution.
20. Qu'est-ce qu'une solution de chaîne 2024: Je suis ici dans le Idle Shell
interactif. Je vais aller de l'avant et
prendre
des notes rapides des différentes tâches que
je dois effectuer ici. Il y avait quatre tâches. J'aime toujours commencer par prendre des notes sur ce que
je suis censé faire, qui m'aide à m'organiser et à me rappeler en quoi consiste réellement la
tâche. La première consistait donc à imprimer une chaîne avec des guillemets
doubles. Je veux donc des
guillemets dans la chaîne. C'est la première tâche. Ensuite, le second devait avoir une apostrophe dans La troisième était d'
avoir une chaîne multiligne qui soit également imprimée
sur plusieurs lignes Et le quatrième était d'
écrire une chaîne sur plusieurs lignes, mais imprimée sur une seule ligne. J'ai donc pris quelques
brèves notes pour me
rappeler les tâches à accomplir
et je vais m'y mettre. La première consiste à imprimer des guillemets
doubles dans la chaîne, et je peux le faire en utilisant guillemets simples
pour délimiter la chaîne Et puis je peux utiliser des
guillemets doubles à l'intérieur. J'ouvre une chaîne en mettant
un simple guillemet. Alors je peux écrire
quelque chose ici. Je dirais donc qu'il y a des
guillemets dans cette chaîne. Et j'ai entouré les mots entre guillemets
doubles avec les guillemets
réels. Et ça devrait bien s'imprimer car je ne mélange pas
les guillemets. J'utilise des
guillemets simples pour délimiter ma chaîne. Et puis les
guillemets doubles à l'intérieur. Ils ne sont pas considérés
comme des délimiteurs de chaînes, mais ce ne sont que les guillemets
doubles du caractère Alors maintenant j'appuie sur Entrée, et mon appel d'impression s'exécute, et j'obtiens en
sortie la chaîne Génial. La seconde, une apostrophe dans Faites un autre appel d'impression, et maintenant je vais utiliser des guillemets
doubles pour délimiter la chaîne Je l'ouvre donc avec
un double guillemet. Alors je pourrai écrire quelque chose. Je dirais que cette chaîne
a une apostrophe,
et j'utilise une
apostrophe et j'utilise une
apostrophe Cette chaîne
a donc une apostrophe. Ce n'est pas une leçon d'anglais, et je ne serais pas la meilleure
personne pour l'enseigner de toute façon. Mais j'ai un
simple guillemet ou une apostrophe dans Et maintenant, j'appuie sur Entrée, et cela s'exécutera
et fonctionnera correctement. Le troisième exercice consistait à écrire une chaîne de plusieurs lignes qui s'
imprime également sur plusieurs lignes. Je peux donc le faire en utilisant des guillemets
triples. Ainsi, par exemple, guillemets
doubles ou les guillemets simples
triples fonctionnent de la même manière. Et maintenant je peux dire que cette chaîne a été écrite sur plusieurs lignes. Eh bien, pas encore.
Permettez-moi d'appuyer sur Entrée. Ensuite, je continue avec
la chaîne et je dis qu' elle s'affiche sur
plusieurs lignes. Et je dois fermer la ficelle. Je vais donc le fermer à nouveau avec des guillemets
triples. Un, deux, trois, puis
fermez également les parenthèses
de la fonction d'impression Et maintenant je suis prêt à appuyer sur
Entrée, et cela s'exécute. Et comme vous pouvez le voir, le
nouveau personnage de ligne. Donc, à la touche Entrée que
j'ai appuyée ici, ce nouveau caractère de ligne fait
également partie de la chaîne. La sortie l'inclut donc,
et c' est pourquoi elle s'
affiche sur deux lignes. Enfin, la dernière tâche, écrivez une chaîne multiligne qui s'
imprime sur une seule ligne, et vous pouvez le faire en évitant
le nouveau caractère de ligne Maintenant, je vais juste utiliser
un guillemet double, et je dirais que cette chaîne d'une
ligne a été écrite. Ensuite, j'utiliserai le caractère de
barre oblique inverse,
qui Il s'agit d'un
caractère spécial qui échappe au caractère suivant,
qui dans ce cas sera une
nouvelle ligne car après avoir mis la
barre oblique inverse, j'appuierai sur Entrée et je continuerai à
taper sur la Mais Python considère que cela fait toujours partie de
la ligne précédente. Continuez donc à écrire mes chaînes, en
disant en utilisant plusieurs lignes. Puis fermez la chaîne. Avec une chaîne comme
celle-ci délimitée par
un seul guillemet étalement d'une chaîne sur
plusieurs lignes, comme je le fais ici, ne fonctionne que lorsque vous utilisez
la barre oblique inversée Sinon, Python
provoquerait une erreur de syntaxe, et maintenant appuyez sur Entrée. Et comme vous pouvez le voir,
il s'affiche sur une
seule ligne car j' échappe au nouveau
caractère de ligne que j'ai utilisé ici. C'est bon. C'était donc un bref récapitulatif des
différentes manières de mélanger et de
faire correspondre les
guillemets lorsque vous mélanger et de
faire correspondre écrivez
vos littéraux de chaîne
21. Manipuler les cordes avec les méthodes de cordes 2024: Les cordes sont fournies
avec des fonctions spéciales. Elles sont appelées
méthodes de chaînes que vous pouvez utiliser pour travailler avec des chaînes
et les manipuler. nombreuses méthodes de
chaînes de caractères sont Comme vous le verrez, de nombreuses méthodes de
chaînes de caractères sont
disponibles. Tout d'abord, vous pouvez vous concentrer sur une poignée de produits couramment utilisés. Dans cette leçon, vous allez
apprendre comment convertir une chaîne en majuscules
ou en minuscules, comment supprimer les
espaces blancs d'une chaîne et comment déterminer si une chaîne commence ou se termine OK, il est temps d'apprendre
votre première méthode. Le premier va
travailler sur la conversion de la
majuscule de la chaîne. Cette méthode est inférieure d'un point. Il convertira la chaîne
en toutes lettres minuscules, en prenant toutes les majuscules et
en les transformant en minuscules Cela ressemble à quelque chose comme ça. Si vous ajoutez la chaîne
d'Albert Einstein puis que vous ajoutez un point en
bas comme méthode, tous les caractères
minuscules seront renvoyés Le point indique à Python que ce qui suit est le nom d'une méthode, et dans ce cas,
la méthode inférieure. Vous entendrez souvent
parler de cela dans les méthodes utilisant des chaînes de caractères en utilisant un point au début de leur nom, par
exemple, point en bas ou, comme vous l'apprendrez ici dans
une seconde, point en haut. Cela permet de
différencier un peu plus facilement les fonctions qui sont méthodes de
chaîne des fonctions
intégrées impression ou la saisie que
vous avez apprises plus tôt. Les méthodes
fonctionneront sur une chaîne seule
en ajoutant
le point et la valeur inférieure. N'oubliez pas d'appeler la
méthode entre parenthèses. Ils fonctionnent également si vous les avez
affectés à une variable. Donc, dans ce cas,
tapons name et mettons le .in et voulons renvoyer la version
minuscule du OK. Maintenant que vous avez
joué avec le point inférieur, la prochaine étape que vous allez
apprendre est le point supérieur. point upper convertit donc la chaîne de toutes les lettres
majuscules Donc, si vous prenez le
même nom de variable et que vous appliquez la méthode du point supérieur, vous verrez qu'elle renvoie
toutes les majuscules. Donc, encore une
comparaison entre les méthodes et les fonctions
que vous avez vues précédemment. Les méthodes de type chaîne commencent par un point au début
de leur nom, et c'est ainsi que vous
les désignerez avec le point initial. Donc, point en bas ou point en haut. Il sera ainsi beaucoup
plus facile de différencier fonctions qui sont des méthodes de
chaîne fonctions
intégrées telles que
print ou n. Lorsque vous les
comparez indépendamment différents résultats
de ces fonctions, la distinction
importante réside dans la manière dont elles sont utilisées. Ces fonctions intégrées sont
simplement appelées d'elles-mêmes. Donc, si vous voulez trouver la
longueur d'une chaîne de nom, vous appelez Ln et vous y mettez le
nom. Ou si vous voulez un nom d'impression, vous pouvez simplement faire la même
chose , au lieu de les
utiliser en majuscules et en minuscules, en
conjonction avec la chaîne. Ils n'existent pas indépendamment. espace blanc est un
caractère imprimé
sous forme d'espace vide. Cela inclut des
éléments tels que les espaces, les tabulations et même les flux de ligne, qui sont des
caractères spéciaux qui déplacent le résultat vers une nouvelle ligne. Il est parfois nécessaire de supprimer les espaces
blancs au
début ou à la fin d'une chaîne. Cela est particulièrement
utile lorsque vous travaillez avec des chaînes
provenant d'entrées utilisateur
, saisies par
quelqu'un, qui peuvent parfois inclure des espaces
supplémentaires par
accident Vous
pouvez utiliser trois
méthodes de chaîne pour supprimer cet espace
blanc d'une chaîne. bande Dot R supprime
les derniers espaces situés sur le côté
droit de la chaîne bande de points supprime
les espaces précédents du côté gauche
de la chaîne. Et le Dot strip supprime les espaces
blancs des côtés
gauche et droit, sorte que tout ce qui se trouve au
début ou à la fin de la chaîne
sera supprimé. Fait intéressant, cela ne
supprime pas les espaces au milieu. Essayons-en une partie
dans la fenêtre interactive. Tout d'abord, nous devons créer
des espaces blancs. Je vais donc créer un nouveau nom, mettre quelques
espaces et un onglet, et je vais réinscrire mon
propre nom. Tu peux utiliser ton propre nom. Dans ce cas, je vais ajouter quelques espaces et
un onglet,
puis une barre oblique dans
laquelle se trouve un flux de ligne En fait, je vais ajouter deux de ces fils de ligne avec
quelques espaces entre les deux. Il y a donc beaucoup d'espaces blancs
différents. En fait, si vous essayez
d'imprimer avec le nom, vous verrez tous les espaces blancs, y compris les fils de
ligne supplémentaires, les deux. OK ? Alors, que se passe-t-il
si vous utilisez une bande point R ? Il a supprimé tous les espaces
du côté droit, y compris les fils de ligne. Encore une fois, le nom est toujours le même. Donc, si je fais un nom et une bande de points, cela supprimera les
espaces blancs sur le devant Et si nous utilisons une bande de points, cela supprime les
espaces des deux côtés, tous les espaces blancs. Qu'il s'agisse d'onglets, d'espaces
ou de flux de lignes. Lorsque vous travaillez avec du texte, vous devez
parfois
déterminer si une chaîne donnée commence ou se
termine par un certain caractère. Vous pouvez utiliser deux méthodes de chaînes
pour résoudre ce problème. Le premier est le point commençant par, et l'autre, le point se termine par. Essayons-le dans la fenêtre
interactive. Disons que nous avons une
chaîne bioélectrique. Nous allons créer une
variable appelée puissance et capitaliser bioélectrique Si vous utilisez la méthode starts
by, et dans ce cas, vous devez le faire, vous pouvez voir qu'elle commence à demander le préfixe que vous
souhaitez utiliser Et si je mettais ma biographie en minuscules ? Est-ce que ça va marcher ?
Cela renvoie faux. Vous avez peut-être compris pourquoi car cela commence par un B. Le fait que cela commence par méthode distingue en fait
les majuscules et
minuscules. Pour que cela soit vrai, faudrait
taper
la même chose, mais commencer par un Bo majuscule, qui renverrait vrai. Et de même, si vous
vouliez en essayer un autre qui se
termine par , dans ce cas, disons : est-ce qu'il se termine par l'électrique ?
Tu deviendrais vrai. Cela fait également la distinction majuscules/majuscules. Les
valeurs vraies et fausses ne sont pas des chaînes de caractères. Il existe un type spécial de
données appelé valeur booléenne. Vous en apprendrez plus sur les
valeurs de Boleing dans une leçon ultérieure. Désormais, les chaînes sont immuables. La plupart des méthodes de chaîne modifient une
chaîne telle que upper et lower, mais elles renvoient en fait
des copies de la chaîne d'origine
avec ces modifications. Donc, si vous ne faites pas attention, se peut
que vous ne le reconnaissiez et que cela introduise des
bogues subtils dans votre programme. Essaie celui-ci.
Alors, cette fois, donnez un nom à Wells Virginia. OK. Encore une fois, si vous tapez le nom
et placez le point de méthode en haut, vous obtiendrez tout en majuscules Mais vous avez peut-être remarqué que j'ai montré un peu plus tôt l'original n'
est pas modifié. Maintenant, pour qu'il change
le nom de la variable, vous devez le réattribuer Cela ressemblerait donc à ceci. Le nom est égal au nom supérieur. Maintenant, le nom a été changé. Cela remplacera la chaîne
d'origine que vous avez attribuée au nom
en la réaffectant Vous avez peut-être remarqué
qu'il existe de nombreuses méthodes associées aux chaînes. Les méthodes que je vais montrer dans cette leçon sont à
peine superficielles. Idle peut vous aider à trouver
ces nouvelles méthodes de chaînes de caractères. Laissez-moi vous montrer comment vous
pouvez en découvrir certains. Revenons à notre exemple
électrique. Si vous commencez par un
nom de variable, puis que vous ajoutez le point, une petite boîte
apparaîtra et commencera à vous
montrer certaines
des différentes variables disponibles. Si vous tapez une lettre, vous en recevrez
également certaines. Cela permettra d'affiner les résultats. En fait, si je commence
à épeler « upper », vous le verrez surligné ici. Vous pouvez terminer cette opération
en appuyant sur la touche Tab, puis vous pouvez terminer
en appelant la méthode. C'est une bonne façon de
découvrir d'autres méthodes
disponibles. OK. Maintenant que vous vous êtes
entraîné un peu en essayant de trouver certaines de
ces méthodes supplémentaires, voici un bref aperçu. Avec IDL, vous pouvez
taper le nom d' une variable
affectée à une chaîne, puis ajouter un point,
souvent prononcé sous forme de point,
puis attendre En tapant une lettre, vous
affinerez certains
résultats et appuyez sur Tab pour renseigner automatiquement le nom de
cette méthode si vous avez
commencé à le nommer. Et une remarque, cela
fonctionne même avec les noms de variables. Essayez de taper les premières lettres électriques et
d'appuyer sur Tab. Si vous n'avez défini
aucun autre nom qui partage ces
deux premières lettres, Idle complète le
nom Electric pour vous. L'onglet est donc une belle sorte de saisie semi-automatique que vous
pouvez utiliser dans Idol OK. Il est temps de revoir
ce que vous avez appris. C'est l'heure de l'entraînement. Exercice 1. Ecrivez un programme qui convertit les chaînes suivantes
en minuscules Imprimez ensuite chaque chaîne en
minuscules sur
une ligne séparée. Exercice 2. Essayez de répéter le premier exercice, mais convertissez chaque chaîne en majuscules plutôt qu'en minuscules Troisième exercice : écrivez un programme qui supprime les espaces
blancs dans les chaînes
suivantes. Imprimez ensuite les chaînes en supprimant tous les espaces
blancs. Exercice 4. Écrivez un programme qui affiche les
résultats des démarrages
par B sur chacune des
chaînes suivantes. Exercice 5. En utilisant les quatre mêmes
chaînes que celles de l'exercice 4, écrivez un programme qui utilise des méthodes de
chaîne pour
modifier chaque chaîne afin que la valeur commençant par B
renvoie la valeur vraie pour toutes les chaînes. Encore une fois, écrivez un programme qui utilise d'autres méthodes de
chaîne pour modifier les chaînes de sorte que
commencer par B renvoie la valeur true
pour toutes. Vous trouverez des solutions
à ces exercices et au code dans les
fichiers de ressources de cette leçon. C'est bon. Ensuite, comment indexer et
découper des chaînes . Merci d'avoir regardé.
22. Changer le cas (exercice) 2024: Voici votre prochain exercice. Il s'agit d'un changement de dossier. Dans cet exercice, votre tâche
consiste à modifier la
majuscule des chaînes. Expérimentez et
entraînez-vous un peu avec les différentes méthodes de chaînes de caractères
que vous pouvez utiliser, en
changeant les majuscules et minuscules dans les chaînes. Et la tâche consiste à
écrire un programme qui convertit d'abord les
chaînes suivantes en minuscules. Et puis vous avez
quatre cordes ici. Le premier concerne les animaux. Le second est le blaireau. Le troisième est Honey Space B, et le quatrième est
Honey Space Badger Et après les avoir tous
convertis en minuscules, vous
devez les convertir en chaînes et
en majuscules Et vous devez imprimer chacune des chaînes sur
une ligne séparée. Donc, le résultat de la résolution de cette tâche sera
essentiellement de nombreuses lignes d'appels d' impression où vous y
appliquerez des méthodes de chaîne. Essayez-le
, puis passez à la leçon suivante et comparez
votre solution à la mienne.
23. Changer le cas (Solution) 2024: La tâche consiste à
créer quatre chaînes, les
convertir toutes en minuscules, puis à les convertir
toutes en majuscules, chacune sur une ligne distincte Je vais
commencer par définir les chaînes et
les affecter à des variables La première chaîne était composée d'animaux
dans le coffret titre. La deuxième corde était Badger. Enfilez trois abeilles mellifères. Et enfilez quatre blaireaux, les plus dangereux de tous. C'est bon. Et maintenant je vais
écrire des appels pour imprimer. Imprimer, ouvrir les parenthèses,
enfiler un point plus bas. Fermez-le, entrez. Et je reçois des animaux en guise de résultat. Imprimez la chaîne deux points plus bas. C'est donc un peu un
exercice de dactylographie, comme vous pouvez le constater, car vous
refaites en fait la même chose
pour chacune des cordes Plus tard dans le cours, vous apprendrez également à le
faire de manière un peu plus automatisée afin de ne pas
avoir à taper autant. Mais pour l'instant, cela ne fait pas de
mal de faire un peu d'exercice de dactylographie et de s'entraîner à utiliser ces méthodes de chaîne et à les appliquer à une chaîne, c'est-à-dire en
écrivant d'abord la chaîne, puis un point, puis
la méthode des chaînes. Et vous utilisez ces
parenthèses ici, dans ce cas, elles sont
vides pour appeler cette méthode C'est donc similaire à
la fonction d'impression, comme vous pouvez le voir ici, où vous avez
également besoin de parenthèses Génial. Nous les avons
tous convertis en minuscules Comme vous pouvez le constater, le résultat
est en minuscules. Et maintenant, nous voulons faire de même, mais les convertir en majuscules Nous allons donc dire PrintString
un point plus haut. Entrez. Et vous pouvez voir que les animaux sont
renvoyés en majuscules Continuons l'exercice de
dactylographie. PrintString en haut à deux points. Prince String Three, pas plus haut. Et enfin, enfilez
quatre points en haut. Sympa. Et c'est la
fin de l'exercice.
24. Supprimer Whitespace (exercice) 2024: Dans cet exercice,
votre tâche consiste à écrire un programme qui supprime les espaces
blancs dans
les chaînes suivantes. Imprimez ensuite les chaînes
en supprimant les espaces blancs. La première corde est le filet mignon. Je suppose que ce sont
deux aliments, mais il semblerait que la personne qui a écrit le menu ait eu du mal à mettre un peu trop espaces
blancs à différents endroits. J'invente donc
l'histoire autour la tâche selon laquelle vous êtes
le programmeur
du restaurant et que
vous êtes censé
nettoyer le menu en ligne,
quelque chose comme ça. Vous voyez, le premier verre a un
espace blanc sur la gauche. Le second comporte des espaces
blancs à droite, et le troisième des espaces blancs
à gauche et à droite C'est donc un hamburger au fromage
avec un petit pain blanc. Une chose vous sera cependant
utile avant
de commencer cette tâche supposons que j'ai saisi cinq espaces au début de
chacun de :
supposons que j'ai saisi
cinq espaces au début de
chacun de
ces mots, car
cela me
facilitera la tâche plutôt que de
taper ces espaces blancs, même s'il n'a pas d'
importance Allons supprimer
quelques espaces blancs.
25. Supprimer Whitespace (Solution) 2024: La tâche consiste donc à supprimer l'espace blanc et à
nettoyer le menu. Tapons ces trois chaînes. Maintenant, j'ai accès à ces
trois chaînes 1, 2 et 3. Et vous pouvez voir qu'ils ont cet espace blanc dont
vous devriez vous débarrasser. Maintenant, la méthode string
pour ce faire est le point strip. Vous pouvez donc dire, par exemple, une chaîne de trois points, et cela supprimera
les espaces blancs au début
comme à la fin. qui signifie que vous pouvez utiliser une bande pour chacune
de ces chaînes, et elle fera ce qu'on
vous demande de faire. Mais Python a deux
autres méthodes spécifiques ici où vous pouvez simplement supprimer de
l'espace du côté droit
ou du côté gauche, que j'appliquerai pour
celles d'ici. Chaîne 2, je peux
utiliser une bande point R. Il se retire simplement
du côté droit, mais pas du côté gauche. Pour la première chaîne, je
peux dire point strip. Ce qui va supprimer espaces
blancs du côté gauche, mais ne rien faire du
côté droit. Vous pouvez soit utiliser une bande pour toutes,
et cela fonctionnera, soit utiliser la bande L et la bande
R, plus
spécifiques , pour la chaîne 1 ou la
chaîne 2 respectivement.
26. Indexation des chaînes 2024: Souvent, dans les langages de programmation, les éléments
individuels d'un ensemble
ordonné de données
sont accessibles directement à l'aide d'un index
numérique ou d'une valeur clé. Ce processus fait
référence à l'indexation. Les chaînes sont
des séquences ordonnées de données de caractères et les
caractères individuels d'une chaîne sont directement
accessibles à
l'aide d'un index numérique L'indexation des chaînes en
Python est basée sur zéro. Ainsi, le tout premier caractère la chaîne
aurait un indice zéro, le suivant
serait un et ainsi de suite. L'indice du dernier caractère sera la longueur de
la chaîne moins un. Regardons un exemple. Donc, pour la chaîne apple, le premier index, l'indice
zéro, aura la lettre A, et la dernière lettre,
qui est l'indice quatre, est E. Essayons cela
de manière interactive Voici une chaîne A
qui serait une pomme. Pour accéder au premier
élément de ma chaîne, j'utilise des crochets. Dans ce cas, avec un index zéro, il extraira
la première lettre de ma chaîne, et ainsi de suite. L'index 1 sera donc
le deuxième caractère, P, et le dernier caractère
E sera l'index quatre. Une autre façon d'y
parvenir serait d'utiliser la longueur de la
fonction len intégrée. Ainsi, la longueur de la chaîne A moins un obtiendra également le
dernier caractère. Si je passe à un index dont dépasse la longueur
de la chaîne, j'obtiens une erreur d'index, indice de
chaîne hors de portée. L'indexation des chaînes peut également être spécifique avec des nombres négatifs. L'indexation négative
est également disponible. Dans ce cas, il faut revenir en arrière. Moins un
viendra à la fin, donc E sera moins un, et moins cinq
sera A, votre première lettre. Laisse-moi essayer. Ainsi, A , moins un entre
crochets fournira la dernière
lettre et ainsi de suite. Encore une fois, vous pouvez utiliser la fonction
n comme ceci. Ce sera ta première lettre. Avec Index, vous pouvez accéder à
des caractères individuels, et vous pouvez également en
saisir des plages. C'est ce qu'on appelle le string slicing et est la prochaine étape.
Merci de m'avoir regardée.
27. Tranchage de chaînes 2024: Python permet également une forme de syntaxe d' indexation qui extrait les
sous-chaînes d'une C'est ce qu'on appelle le string slicing. La syntaxe que vous utilisez est très similaire à celle de l'indexation. Au lieu de mettre une seule valeur entre
crochets,
vous en mettez deux avec deux
points entre les deux. Ainsi, dans cet exemple,
D est une chaîne, et M et N sont deux valeurs
qui renvoient une partie de D, commençant par la position M et jusqu'à
la position N. Définissons la
chaîne D pour l'avocat. Si vous sélectionnez l'index un plus deux, mais pas
quatre, qu'obtenez-vous ? COV. Encore une fois, zéro est A, un est V ,
deux est O, trois est C et quatre est A également, mais sans compter quatre. Alors, que se passe-t-il si vous omettez
le premier N ou le dernier index ? Si vous omettez le premier index, dans ce cas, A
, deux points, puis N, il commencera à être découpé
au début de dans ce cas, A
, deux points, puis N,
il commencera à être découpé
au début de
la chaîne et remontera à la valeur d'indice
non calculée N. L'omission du dernier index
n'étendra pas cette tranche du premier index M jusqu'à la En omettant les deux
index, la chaîne d'
origine sera renvoyée dans son intégralité Ce n'est pas une copie. Il s'agit d'une référence
à la chaîne d'origine. Regardons-les en pratique. Tapez D, deux points deux, et il renverra AV. Jusqu'à cinq, nous retournerons A VOCA. Jusqu'à la fin,
vous pouvez le faire en tapant. Une autre façon de le faire
serait de saisir la valeur de votre index de départ, puis d'utiliser la fonction de longueur
comme index final. Si vous essayez les chaînes
sans valeurs, cela recommencera du
début à la fin. Il s'agit d'une référence à
la chaîne d'origine. L'indexation négative fonctionne également. Vous pouvez également combiner des indices
positifs et négatifs Je vais commencer par un
indice négatif cinq et passer à un indice négatif
un. Qu'est-ce que tu obtiens ? Vous obtenez l'OCAD. Lorsque
vous effectuez un découpage, vous pouvez spécifier une chaîne
dans une chaîne de tranches Il s'agit d'ajouter deux points
supplémentaires et un troisième index
indique la foulée C'est ce qu'on appelle aussi l'étape. Donc, dans ce cas, si notre tranche devait commencer par le début,
puis être suivie
de la deuxième étape, elle commencerait par
le tout premier élément, zéro et la lettre A, puis sauterait
deux étapes pour saisir la lettre O, puis passer à l'
étape suivante pour saisir l'index quatre, puis passer à la fin. Et si nous tapions deux
points à la deuxième étape ? Il saisira ces
lettres AO AO. Vous pouvez également utiliser une foulée
négative. C'est tout pour aujourd'hui.
J'espère que vous comprenez ce qu'est le tranchage de ficelles.
Merci d'avoir regardé.
28. EXERCICE : Tranchage de chaînes: Cet exercice consiste à
découper une chaîne, et votre tâche consiste à imprimer
la chaîne en utilisant la notation par tranche pour spécifier la plage de caractères correcte
dans la caisse de chaînes Vous commencez donc par
la caisse à cordes, puis vous coupez
cette ficelle pour n'en
retirer que la
partie qui indique « à ». Rata ta, allons-y.
29. SOLUTION : Tranchage de chaînes: D'accord, j'ai ouvert
mon Python idle. Ma tâche est de trancher
la caisse pour obtenir un rat. Je vais donc commencer par attribuer la chaîne crate à une variable Donc, je vais juste
dire « mot » dans ce cas. OK, nous avons ici une caisse, puis je vais utiliser notation par
tranches pour
en extraire la partie rat. Et pour utiliser la notation par tranches, vous devez utiliser des crochets. À l'intérieur des crochets, vous devez mettre les
index que vous souhaitez utiliser L'indexation des chaînes
commence par zéro. Donc C est à l'indice zéro, puis j'ai R
à l'indice un. Je peux donc commencer par un. Et puis dans ce cas, je veux obtenir tout ce
qui commence par un et va jusqu'à la lettre T, qui est dans l'index trois. C'est ce qu'on appelle également
l'indice d'arrêt. Je peux donc simplement le faire en y
mettant deux points. Je veux mettre un
gros avertissement ici. Vous devez en spécifier un plus le dernier caractère
que vous souhaitez obtenir. Je veux donc passer à quatre, qui est l'indice de E, qui signifie que
je vais
tout obtenir jusqu'à E. Donc, le
mot un, deux points
et tout obtenir jusqu'à E. Donc quatre
devrait me donner la chaîne que je
recherche, à savoir Rat. Donc, en tapant le mot
un, deux points, quatre, je devrais obtenir
juste la chaîne Rat. Et confirmons en
appuyant sur Entrée. C'est ici. J'ai tranché un rat dans une
cage. Voilà. Cependant, si vous avez une
chaîne plus longue et que
vous voulez que tout aille jusqu'
au dernier caractère, mais pas au caractère final, il
peut être difficile de compter ainsi. Au lieu de cela, vous
pouvez revenir en arrière. Et vous pouvez également compter les indices
commençant par un signe négatif. Donc, le premier sera moins un, puis T
sera moins deux, et cetera Je peux donc plutôt
spécifier
des mots commençant par un puis allant jusqu'
à moins un, ce qui revient à dire un à quatre. C'est donc une autre
façon de devenir un rat. Et maintenant, j'ai trouvé deux moyens de m'
en sortir sans le personnage
final E.
30. Corde: Quelques opérateurs
peuvent être utilisés sur des opérandes
numériques qui peuvent également être
appliqués aux chaînes Dans ce cas, l'opérateur qui ressemble à un
signe plus est considéré l'opérateur de concaténation et
l'opérateur de
signe de multiplication
qui, dans les chaînes, crée
plusieurs copies d' Donc, pour commencer, l'
opérateur plus concatène les chaînes. Elle renvoie une chaîne
composée
des opérandes réunis. Je vais d'abord définir quelques chaînes de caractères. Un équivalent à Apple. Le prochain
objectif de chaîne que nous allons créer est B égal à banana. Et enfin, C est égal à la cerise. Alors, que se passe-t-il si j'
utilise le signe plus, l'opérateur de concaténation,
A plus B Combinons les trois éléments. Il concaténera les trois. Nous pouvons également concaténer chaînes dans des
fonctions d'impression comme celle-ci M. C'est donc l'opérateur de
concaténation. Examinons l'opérateur de
multiplication, qui est un astérisque, qui crée plusieurs
copies d'une chaîne pour renvoyer une chaîne composée de copies
concaténées d'une Laisse-moi te montrer à
quoi ça ressemble. Je vais créer un objet, D, qui est un entier
égal à cinq. Que se passe-t-il si vous
multipliez A, multipliez D ? L'opérateur réplique donc l'objet chaîne cinq fois et les concatène ensemble Le multiplicateur
doit donc être un entier. Vous ne pouvez pas multiplier par un nombre
flottant, par exemple. Et s'il s'agit d'un nombre négatif ? Cela renverra
une chaîne vide.
31. EXERCICE : conception des cordes: Voici votre deuxième leçon d'exercice
sur la concaténation. Créez deux chaînes,
concaténez-les et imprimez la Et puis il y a la
question. Pouvez-vous également ajouter un espace entre eux
en utilisant uniquement la concaténation ? Choisissez donc deux mots que vous avez toujours
voulu associer. Je vais choisir les
mots chauve-souris et homme. Accédez à votre
éditeur Python et concrétisez-le. Ensuite, passez à
la leçon suivante et
regardez-moi le faire.
32. SOLUTION : conception des cordes: La tâche consistait à créer deux chaînes et à
les attribuer à des variables. Concaténez-les sans espace
et concaténez-les avec de l'espace et concaténez-les avec de Commençons par créer deux variables qui
pointent vers des chaînes. Je vais commencer par le trait de
soulignement à gauche, vers
lequel je pointerai
une chaîne appelée ainsi Ensuite, je vais faire un autre trait de soulignement d'une seule
chaîne, à droite. C'est ce que je vais montrer, mec. Et maintenant, je peux utiliser un appel à imprimer pour assembler
les deux. J'ouvrirai donc les parenthèses après avoir écrit print,
puis je taperai String underscore left plus
string underscore Fermez les parenthèses.
Comme vous pouvez le voir ici, j'utilise l'opérateur plus,
qui, si vous l'utilisez
avec des chaînes, concatène ensemble Donc, ça va littéralement lier batte et homme ensemble sans
aucun espace entre les deux. J'appuie sur Enter pour confirmer, et on obtient la corde
Batman. Maintenant, la dernière tâche était de les
concaténer avec un espace. Je vais donc simplement copier mon
appel pour l'imprimer et
passer au milieu de celui-ci à
côté de l'opérateur Plus. Et ici, je vais ajouter une
autre chaîne, un caractère
d'espace Je m'ouvre donc aux guillemets, mets un espace, puis je ferme à nouveau
les guillemets. C'est une chaîne parfaitement valide. Il s'agit simplement d'une chaîne
composée d'un seul caractère, qui est un espace dans ce cas. Encore une fois, j'utilise les opérateurs plus gauche et à droite pour assembler ces
trois chaînes. Maintenant, dans iBressenter, je vais me procurer un
Batman à cordes tout-en-un, et c'est l'exercice
33. Formatage des chaînes: Je vais maintenant vous montrer comment formater des
chaînes à l'aide de l'opérateur de
pourcentage. C'est ce qu'on appelle également
le
formatage des chaînes de pourcentage ou le style C. La syntaxe d'utilisation de l' opérateur de
pourcentage
est la suivante. syntaxe comporte trois parties : la chaîne entre guillemets, l'
opérateur de pourcentage et les valeurs ou variables à insérer dans une chaîne séparées par des virgules Le premier tampon consiste à écrire la chaîne à mettre en
forme entre guillemets Ensuite, nous écrivons
le symbole du pourcentage. Enfin, nous écrivons les variables ou les valeurs entre
crochets. Le format du pourcentage est utilisé
pour représenter une chaîne, Andreas dans ce cas. Alors que le format du pourcentage D
représente un entier, 75 kilogrammes dans ce cas. Python Prince, je m'
appelle Andreas et mon poids est de 75 kg. Vous pouvez télécharger un PDF
que j'ai créé, qui est une liste d'ensembles
complets de symboles pouvant être utilisés
ainsi que des pourcentages. Vous pouvez le trouver dans
vos fichiers de ressources. Au lieu d'utiliser l'
opérateur de pourcentage pour formater les chaînes, Python nous fournit également
une méthode de formatage pour
formater les chaînes. La syntaxe est un format de chaîne par points, des valeurs ou des variables
à
insérer dans une chaîne
séparées par des virgules Lorsque nous utilisons la méthode de formatage, nous n'utilisons pas le pourcentage S ou le pourcentage D comme espaces réservés Nous utilisons plutôt des
crochets comme celui-ci. abord, nous écrivons la position des
paramètres à utiliser à l'intérieur des crochets, suivie de deux points,
et après les deux points, nous écrivons le format sans espaces entre crochets
. Lorsque nous écrivons zéro point S, nous demandons à l'
interpréteur de remplacer zéro point S par un
paramètre en position zéro qu'il s'agit d'une chaîne
car le formateur est S. Lorsque nous écrivons deux points D, nous nous référons au paramètre en position un, qui
est le nombre entier Le symbole du format est D. Notez que les positions commencent
toujours à zéro. Le résultat est le même que ci-dessus. Si vous ne souhaitez pas formater la chaîne, vous
pouvez simplement écrire. R L'interpréteur
remplacera les crochets en
fonction de l'ordre des
paramètres fournis Nous avons abordé les principes de base des méthodes de formatage de
chaînes, que nous
apprendrons
plus en détail dans la prochaine leçon . Merci
d'avoir regardé.
34. F-Strings : une syntaxe améliorée de formatage des chaînes: Très bien,
parlons des cordes en fa. Alors pourquoi utiliser
trois chaînes F en Python ? Ils sont plus lisibles.
Ils sont plus concis, moins sujets aux erreurs et plus rapides. Mais je vais commencer par le formatage des chaînes à
l'ancienne,
le formatage en pourcentage,
le format en points de chaîne. Permettez-moi de
commencer par quelques exemples. Ouvrez le Python Shell. Configurons une variable
et donnons-lui un nom. Par exemple, Alan. Utilisez cette variable dans une chaîne. En utilisant le pourcentage a dans votre
chaîne et à la fin de celle-ci. Le pourcentage puis le
nom de la variable, Enter. Supposons que nous ayons une
autre variable. Nous avons maintenant deux variables. Nous aimerions ajouter quelque chose à notre chaîne. Il en va de même pour le nom. Ensuite, nous saisissons l'âge, le pourcentage et S. Donc, dans ce cas, nous avons deux variables
que nous allons intégrer. Pour ce faire, tapez le pourcentage, puis le nom,
l'âge entre parenthèses Et si vous avez
beaucoup plus de variables ? Configurons quelques variables. Mettre tout cela dans
une seule chaîne, ça commence à devenir un peu compliqué. Nous devrons compter
le
pourcentage S pour nous
assurer qu'
ils sont dans le bon ordre N de ceux
que vous remplacez. À la fin, nous devons
mettre toutes les variables entre
parenthèses C'est bon. Ça a l'air correct. Appuyez sur Entrée. Heureusement, il existe de meilleurs moyens de le faire. Parlons du format
string dot. Nous pouvons placer des espaces réservés dans
notre chaîne entre crochets. Et à la toute
fin de la chaîne, nous dirions format point, puis nous pourrions mettre des
arguments dans le nom et l'âge. Nous pouvons également référencer les
variables dans leur index. Disons que c'est l'indice 1
et celui-ci est l'indice zéro. Et nous inversons le nom et l'âge de la
commande. Nous obtenons donc le même résultat. Parlons maintenant d'une
nouvelle méthode améliorée pour formater les chaînes en
Python, les chaînes F. Les chaînes F sont également connues sous le nom chaînes littérales
formatées et créées dans la version Python 3.6 Ils ont une syntaxe simple. Ils sont évalués au moment de l'exécution et formatés à
l'aide du protocole de formatage Permettez-moi de vous donner quelques exemples. Configurons trois variables. Nom, âge et profession pour
construire une ficelle à l'intérieur de
nos crochets bouclés Nous mettons nos expressions. Et si vous le souhaitez, vous pouvez utiliser F au début
de votre chaîne. Joli et simple. Maintenant que je vous ai montré la syntaxe
simple des chaînes F, parlons des expressions
arbitraires. Vous pouvez faire une simple masse
à l'intérieur de crochets bouclés. Vous pouvez également faire quelque chose
comme ça. Je peux aussi appeler
des fonctions et des méthodes, mais ce sont des concepts
qui le feront plus tard. Maintenant, nous pouvons également créer des chaînes
multilignes. Il s'agit d'un message
multiligne ici. À quoi
ressemble ce message ? Tapez un message. N'oubliez pas que
vous devez mettre le F sur chacune d'
entre elles pour entrer chacune de ces expressions dans la
chaîne. Qu'en est-il de la vitesse ? Les chaînes F sont plus rapides que formatage en pourcentage
et le format à points STR. Je vais donc
vous faire passer en revue tout ce que vous avez abordé
et appris dans cette leçon. Nous avons commencé avec le format de chaîne le
plus ancien, le formatage de chaîne en pourcentage,
également appelé style C. Ensuite, nous avons commencé à
parler de la méthode du format string
point, qui a débuté à partir de la version
2.6 de Python. Enfin, nous avons abordé la nouvelle méthode de
formatage des chaînes, la chaîne F, qui a débuté à
partir de la version 3.6 de Python. C'est tout pour aujourd'hui. Merci donc encore de
m'avoir rejoint dans cette leçon. Et j'espère que vous pouvez maintenant voir à
quel point les chaînes F peuvent être plus concises, lisibles, pratiques et
rapides.
35. EXERCICE : rationaliser vos impressions: Dans cet exercice, vous
allez rationaliser vos impressions. Comme vous l'avez déjà vu, le simple fait les
concaténer peut
devenir un Voici donc
un exercice dans lequel vous pouvez essayer trois
types différents d'affichage de la même chaîne en utilisant
différentes manières d'
assembler la
concaténation de chaînes, le format de points de
chaîne et
également en utilisant une La tâche consiste à créer un objet flottant nommé weight
avec une valeur de 0,2, puis à créer un objet chaîne nommé animal avec la valeur Anim, puis à utiliser ces objets pour imprimer
la chaîne suivante Donc, d'abord, en utilisant uniquement la
concaténation, la chaîne devrait indiquer que 0,2 kilogramme est le
poids d' Ensuite, vous devez afficher
la même chaîne en utilisant la méthode du format par points et des supports
vides entre
crochets Enfin, je fais également la
même chose en utilisant une chaîne F. Allez-y, relevez ce
défi vous-même, puis je vous verrai
dans la prochaine leçon.
36. SOLUTION : rationaliser vos impressions: Me revoilà dans le shell
interactif, et la tâche était de commencer
par définir deux variables. L'un était un poids égal
à 0,2 virgule flottante. Et puis l'animal était la ficelle qui devait pointer
vers la ficelle Nim Bien, commençons par la concaténation. Je vais l'imprimer même
si ici dans la console, nous obtiendrions également un résultat
s'il ne l'imprimait pas. Mais restons-en
là. Et là encore, je vais devoir convertir
le premier chaîne car il s'
agit actuellement d'un float. Si j'essaie d'ajouter un float et une chaîne à l'aide de
l'opérateur plus, cela me donnera une erreur
comme vous l'avez vu plus tôt. Je vais donc dire le poids de la chaîne, le
convertir
explicitement en chaîne, puis plus. Ouvrez les guillemets et tapez. kilogramme d'espace est à nouveau le poids de l'espace, encore une fois entre
guillemets. Ensuite, je vais le concaténer à nouveau avec
animal. Il est donc dit que 0,2 kilogramme
est le poids d'un NM. Et puis je pense qu'il devrait y avoir un point à la fin pour en
faire une phrase appropriée. Si j'appuie sur Entrée ici, vous pouvez voir qu'il est indiqué 0,2 kilogramme est le
poids du NM. C'est donc une solution qui fonctionne en utilisant uniquement strnkencnation
et Nous allons maintenant essayer d'utiliser la méthode du format point
sur la chaîne. Encore une fois, j'ouvre
la fonction d'impression. Et maintenant, je peux utiliser les
bretelles bouclées comme espace réservé. C'est un endroit où je
veux insérer quelque chose. Dans un premier temps, je
veux insérer le poids. Puis vient la partie
centrale de la ficelle. kilogramme est le poids du, et maintenant je vais utiliser
une autre paire de bretelles
bouclées où je
vais insérer l'animal Cela devrait indiquer Nim, et ensuite je pourrai y mettre
un point Et maintenant, c'est en quelque sorte mon
modèle de chaîne dans lequel je veux insérer
ces deux variables que je dois trouver plus tôt. Et je peux le faire en
utilisant le format point. Donc, sur cette ficelle, kilogramme correspond au
poids des bretelles bouclées J'appelle le format point. Je vais maintenant transmettre
les deux variables que je souhaite insérer dans
les deux espaces réservés ici Dans le premier, je veux
insérer le poids, puis l'animal. Et il va prendre
le premier argument et l'insérer dans
le premier espace réservé , puis le deuxième argument et insérer dans le
deuxième espace réservé Donc, si je ferme maintenant les parenthèses pour l'
appel d'impression puis que j'appuie sur Entrée, vous pouvez voir que j'obtiens le
même résultat qu'avant C'est ainsi que vous pouvez le faire en utilisant la méthode du format point. Vous pouvez voir que cela le
rend
déjà plus lisible que la
simple concaténation de chaînes, et cela vous évite d'avoir à effectuer une
conversion de type
explicite sur des
objets qui ne sont pas Et maintenant, à mon avis, chaîne F sera
encore un peu plus lisible
. Encore une fois, j'
ouvre un appel pour imprimer. Et ici, je vais commencer par
taper F, puis
ouvrir la chaîne en
faisant simplement deux guillemets. Et j'utiliserai à nouveau l'espace réservé aux bretelles
bouclées. Mais maintenant, au lieu de
le laisser vide, je vais saisir directement le nom de la
variable. Je vais donc dire poids, puis la partie centrale
du kilogramme de corde
est le poids du. Ouvrez une autre paire
de bretelles bouclées et insérez l'animal directement
dans les bretelles, puis un point à la fin. Et c'est tout ce que vous
devez faire pour la corde F. Si j'appuie sur Entrée maintenant, vous pouvez le voir à nouveau, vous obtenez le même résultat que
dans les deux autres variantes. Il existe donc trois
manières différentes d'assembler cette chaîne finale qui fournit les informations
contenant à la fois une chaîne,
la chaîne NEM, ainsi que la représentation sous forme de chaîne
d'un nombre à
virgule flottante Très bien, c'est
comme ça que tu peux le faire. Dites-moi quel
est votre préféré.
37. Interagir avec l'entrée utilisateur(): Pour être utile, le
programme
doit généralement communiquer
avec le monde extérieur
en obtenant les données d'entrée de l'utilisateur et en affichant les
résultats à l'utilisateur. Ce didacticiel vous présentera les entrées et sorties en Python. saisie peut provenir directement de
l'utilisateur via le clavier ou d'une source externe
telle qu'un fichier ou une base de données. La sortie peut être affichée directement sur
la console ou sur l'IDE à l'écran via une interface utilisateur
graphique ou à nouveau sur une source externe. Les programmes ont souvent besoin
d'obtenir des données de l'utilisateur, généralement par le biais
d'une saisie au clavier. Le moyen le plus simple
d'y parvenir en Python est d'utiliser la saisie. La saisie est une excellente
fonction en Python et est souvent
utilisée en programmation. Il met votre programme en pause et attend que l'utilisateur
saisisse du texte Une fois que Python reçoit
l'entrée de l'utilisateur, il la stocke dans une variable. Donnons quelques exemples. Tapez. Une fois que l'utilisateur appuie sur
la touche Entrée, tous les caractères sont lus
et renvoyés sous forme de chaîne. Notez que la nouvelle ligne
générée lorsque l'utilisateur appuie sur la touche Entrée n'est pas incluse dans
la chaîne de retour. Si vous incluez l'argument prompt
facultatif, input l'affiche sous forme d'invite à l'utilisateur avant de
suspendre la saisie rouge La fonction d'entrée
ne prend qu'un seul argument. Les instructions que vous
souhaitez afficher à l'utilisateur. Ensuite, l'utilisateur voit le message demandant quel est votre nom et attend
pendant qu'il saisit
sa réponse et continue après avoir appuyé sur Entrée La réponse est stockée
dans le message variable. Ensuite, le message affiche
la saisie de l'utilisateur. il est préférable d'ajouter un espace à la fin de vos instructions après notre exemple, il est préférable d'ajouter un espace à
la fin de vos instructions après
le point
d'interrogation pour séparer l'invite de la réponse de
l'utilisateur De plus, j'utilise
des guillemets doubles parce que
je les ai déjà cités
dans le texte. Essayons maintenant
quelque chose de différent. Nous voulons écrire une invite
de plus d'une ligne. La première diapositive enregistre
la première partie
du message avec la
variable prompt. Sur la deuxième ligne, l'opérateur ajoute la chaîne enregistrée dans une invite et ajoute la
nouvelle chaîne à la fin. La barre oblique inverse N change de ligne. L'invite est ensuite stockée
dans un nom de variable et transmise
à la fonction d'entrée. Enfin, nous imprimons le texte en haut, le nom de la variable
et la phrase « Je m'appelle robot ». Si vous regardez attentivement
la ligne de code, l'erreur de syntaxe est
due aux guillemets. J'ai ouvert avec des guillemets doubles
et fermé avec des guillemets simples. Laisse-moi régler ça. Génial. L'entrée
renvoie toujours une chaîne. Si vous voulez un type numérique, vous
devez
convertir la chaîne dans le type approprié
à l'aide des fonctions
intégrées NT, float ou complex Cette ligne convertit N en
entier pour que l'
instruction d'impression réussisse. Je pense que vous êtes prêt à explorer vous-même les commentaires des utilisateurs
un peu plus en profondeur. Voici quelques
exercices de révision pour vous. Essayez d'écrire un programme
qui prend
les informations de l'utilisateur et les
affiche ensuite, peu comme
vous l'avez déjà fait, mais modifiez-le un peu. Essayez d'écrire un programme
qui prend les données saisies par l'utilisateur, puis
les affiche en minuscules Essayez d'écrire un programme
qui prend
les données saisies par l'utilisateur, puis affiche
le nombre de caractères, en
comptant
les caractères de l'entrée saisie Comme toujours, vous
trouverez les solutions à ces exercices et le code dans les fichiers
de ressources de cette leçon. C'est bon. Ensuite, vous allez commencer à travailler
avec des chaînes et des nombres.
38. EXERCICE : interagir avec les entrées de l'utilisateur: Dans cet exercice,
vous vous aventurez dans le monde de l'interaction
avec vos utilisateurs Et dans ce cas,
vous devez écrire un programme qui prend les
entrées de l'utilisateur, puis les affiche en retour,
mais les
convertit d' abord en minuscules Donc, si l'utilisateur écrit bonjour en majuscules ou en majuscules, il devrait toujours le récupérer en minuscules, peu importe ce qu'il y tape Ensuite, il y a une
petite tâche supplémentaire dans laquelle vous pouvez également afficher le nombre de caractères saisis par l'utilisateur. OK. Réfléchis à ça. Prenez un moment, écrivez-le dans votre éditeur ou dans le REPL, puis passez à la leçon suivante et
comparez-le à ma solution
39. SOLUTION : interagir avec les entrées de l'utilisateur: Pour résoudre cet exercice, vous allez devoir utiliser la fonction d'entrée en Python pour collecter les entrées de l'utilisateur
, puis certaines
méthodes de chaîne pour les convertir. Et puis il y a aussi
une fonction appelée n qui peut vous aider à obtenir
la longueur des chaînes. Je pourrais le faire
ici dans Idle maintenant, et je vais probablement
expérimenter un peu. Mais j'ai également ouvert un fichier dans lequel je vais
écrire le code afin pouvoir l'exécuter plusieurs fois plus facilement sans avoir à le
taper à chaque fois. Cela me donne également l'
occasion de tester et de voir si
mon script fonctionne, pas seulement pour une entrée, mais pour les
différentes entrées répétées. Je vais donc écrire
le code dans le script, mais vous pouvez également l'écrire
via REPL si vous le souhaitez Ce sont les trois tâches
que mon script doit effectuer. Je vais
commencer par le numéro un, où je vais utiliser la saisie avec
une petite invite ici. L'invite va
dire « tapez quelque chose ». Et j'ajoute cet espace ici
pour le mettre en forme un peu mieux. Ensuite, je dois
en recueillir le résultat. Donc, si je lance simplement une
entrée comme ça, essayons
ici dans le REPL. Je vais recevoir le message qui
dit de taper quelque chose. Et je peux dire bonjour, et on me le rendra. Mais dans mon script, je ne le collectionne
nulle part pour le
moment , ni même ici
dans le shell Idol. Je ne le collectionnais nulle part, donc je dois l'attribuer à une variable dont je peux ensuite
faire quelque chose, comme le mettre en minuscules,
l'afficher et obtenir sa
longueur, Donc, de retour dans mon éditeur sur
la première ligne, je vais dire que les entrées de soulignement de
l'utilisateur sont
égales au retour de l'
entrée d'appel et peu importe ce que
l'utilisateur y tape Ensuite, je veux le convertir en minuscules et l'afficher.
Commençons donc par ceci. J'utiliserai la
fonction d'impression en tapant print, ouvrant les parenthèses,
puis en insérant le point de soulignement de l'utilisateur plus
bas s'agit donc simplement de la méthode
de la chaîne par points que
vous avez déjà utilisée plusieurs fois
et que vous avez montrée à
nouveau à l'utilisateur à l'aide de
la fonction d'impression. Je vais tester ce script
en l'exécutant en mode inactif. Vous pouvez appuyer sur la touche F5 pour l'exécuter , l'
enregistrer et l'exécuter.
C'est ce que nous allons faire. Nous pouvons voir ici que je
suis invité à taper quelque chose. Je vais réessayer de
dire bonjour en majuscules, vous pouvez voir que
mon script fonctionne. Je reçois la même chaîne, mais en minuscules, un autre avantage d'avoir
un script ici est que je peux simplement le réexécuter sans avoir besoin de
taper autre chose Je reçois une autre invite et
je peux essayer les cas mixtes. Bonjour Et encore une fois, je
le reçois juste en minuscules Cela fonctionne donc. Je vais maintenant résoudre la
tâche de la troisième ligne, imprimant également
la longueur de l'entrée. Pour cela, je peux simplement
utiliser la fonction len. La fonction len fonctionne en prenant une
collection, par exemple une chaîne, puis en renvoyant simplement le nombre d'
éléments de cette collection. Donc, si je mets une chaîne
ici et que je dis
bonjour, j'en reçois cinq
, soit le nombre
de caractères. Un, deux, trois, quatre, cinq. C'est donc exactement ce que je veux. Et pour en revenir à mon script, je vais dire imprimer. Ouvrez les parenthèses, puis je dirai Len parce que c'est ce que
je veux imprimer. N comme argument, je vais transmettre l'entrée de l'utilisateur. Notez que l'
entrée utilisateur que je
transmets ici est en fait
celle d'origine. Ce n'est donc pas une minuscule, mais cela n'a pas d'importance
car le point inférieur ne changera pas
le nombre de caractères Il ne s'agit vraiment que de
le mettre en minuscules. Ainsi, la version en minuscules et
la
version saisie en majuscules par l'utilisateur auront le même
nombre de caractères Maintenant, je vais tester à nouveau le
script en l'exécutant. Enregistrez et exécutez. Tapez quelque chose. Je sais déjà que
Hello en a cinq, donc nous allons utiliser cela et un
type de bonjour mixte. Appuyez sur Entrée. Et en sortie, je reçois la version minuscule de cette chaîne et le nombre de
caractères de cette Génial. Cela résout
les trois problèmes ici.
40. Travailler avec des chaînes et des nombres: Maintenant que vous avez un peu travaillé
avec les entrées utilisateur, parlons de l'utilisation
des chaînes et des nombres. Lorsque vous obtenez une entrée utilisateur à l'aide de la fonction de
saisie intégrée, le résultat est toujours une chaîne. Il existe de nombreuses autres
situations dans lesquelles entrée est donnée à un
programme sous forme de chaîne. Parfois, ces chaînes
contiennent des nombres, et ils doivent être
intégrés aux calculs. Dans cette leçon,
vous allez apprendre à gérer des chaînes de nombres. Vous découvrirez également comment les opérations
arithmétiques fonctionnent sur chaînes et comment elles
aboutissent souvent à des résultats surprenants Ensuite, vous apprendrez à convertir entre chaînes
et types de nombres. Commençons par la fenêtre
interactive. Essaie ça. Je vais vous demander de
créer une variable appelée Num. Ensuite, je vais lui attribuer la chaîne
contenant le chiffre deux. Voici donc Num avec une chaîne
littérale contenant deux. Et si vous utilisiez l'
opération plus et que vous disiez num plus num ? Qu'est-ce que ça fait ? Vous
avez peut-être déjà pensé que cela va les
concaténer ensemble. Cela n'est pas égal à quatre, mais à deux et deux, soit 22. Eh bien, la chaîne
22, pas le chiffre. Si vous avez pris NUM et
que vous utilisez l'astérisque, qui est l'opérateur de
multiplication, et que vous dites : OK,
multipliez cela par cinq Eh bien, cela devrait être
égal à dix, non ? Eh bien, dans ce cas, cela
va créer une
chaîne avec le chiffre deux
répété cinq fois. Vous obtenez donc une chaîne
de cinq deux, concaténant En utilisant les chaînes avec des opérateurs
arithmétiques, vous pouvez
maintenant voir
qu'il se comporte un peu différemment de ce que
vous auriez pu penser L'opérateur plus peut caténer deux chaînes comme
vous l'avez déjà fait, et l'astérisque ou l'opérateur de
multiplication par étoiles crée plusieurs
copies d' Et peu importe que
le nombre soit droite ou à gauche de l'
expression. Supposons que vous ayez été engourdi sept fois, il considère toujours NUM comme une chaîne, et sept sera juste le nombre de
fois que le nombre situé
à l'intérieur de Num,
la chaîne, sera
concaténé En fait, vous le faites avec
d'autres choses, non ? Tu pourrais dire bonjour cinq fois. Une chose que vous pouvez faire est de
dire que vous avez multiplié la chaîne de 12 par la
chaîne de trois. Ensuite, nous
vous indiquerons une erreur de type. Vous ne pouvez pas multiplier ces deux ensemble car
cela indique que vous ne
pouvez pas multiplier une
séquence de type chaîne. La séquence dont il est
question est donc la
chaîne un, deux, qui est une séquence
de deux caractères, puis on essaie de la
multiplier par trois, qui est une chaîne non entière. Cela ne fonctionne donc pas. Cela génère
une erreur de type. Et de même, et si vous
preniez la chaîne de trois et que vous essayiez de
l'ajouter seule au chiffre trois ? Donne un autre type
d'erreur de type. Il indique que vous ne pouvez
concaténer qu'une chaîne, pas un entier à une chaîne Si un objet situé
de part et d'autre du signe plus est une chaîne, Python essaie d'effectuer une concaténation de
chaînes Il ne fonctionnera en plus que si les deux
objets sont des nombres. Vous devez d'abord
convertir cette chaîne trois en un nombre avant de
pouvoir l'ajouter à trois. Voyons comment procéder. Alors, que faites-vous de toutes ces chaînes que vous
préférez être des nombres ? Vous allez utiliser certaines fonctions
intégrées pour cela. La fonction INT
convertit les objets en nombres
entiers ou est
également connue sous le nom de nombres entiers Parfois, vous
voudrez que les objets soient
transformés en nombres comportant réellement des
virgules décimales Dans ce cas, vous devez
utiliser la fonction flottante intégrée. Essayons-les.
Pour tester cela, retournez dans Idle, et vous
allez créer un nouveau fichier. Vous pouvez utiliser le menu
déroulant Fichier et Nouveau ou vous pouvez utiliser
le raccourci clavier Command plus N ou Control plus N sous Windows
pour ouvrir une fenêtre d'édition. Ici, dans la fenêtre d'édition, nous créons un objet Num. Et il acceptera la
saisie d'un utilisateur. Et voici le message. Vous dites d'entrer un
chiffre à doubler. Fermez ça. La fonction de saisie intégrée
va donc le demander, puis
la valeur saisie sera affectée
à la variable NUM. Ensuite, pour créer un NUM doublé, vous direz que NUM est
multiplié par deux. Ensuite, la sortie d'impression. Génial. Allez-y, sauvegardez ça. Je l'appellerai pi à double point
ou à double point. Et encore une fois,
il suffit de l'enregistrer sur mon bureau. Dans ce cas, si vous appuyez sur
F cinq pour le faire passer ici, cela vous demande de doubler un
chiffre. Et je répondrai : Oh, six, s'il te plaît. Oh, tu vois mon erreur ? J'ai créé une variable avec
le mauvais nom ici. Je n'ai pas réutilisé le nom
correct, je dois
donc le changer ici ou là. Je vais donc le modifier ici ou le changer là et enregistrer. Donc, un petit
problème d'erreur de nom. C'est bon. Maintenant que je l'ai enregistré,
nous pouvons le réexécuter. OK. Cette fois,
je peux taper six. Au lieu de six
fois deux sur 12, j'en obtiens 66. Donc six et six parce que c'est
le cas pour deux cordes. Nous devons donc trouver
comment changer cela. Ouvrez une nouvelle fenêtre de coque ici pour nettoyer un peu
les choses. Tu peux continuer dans le tien. Je veux juste ne pas
trop taper en bas. Alors, comment pouvez-vous travailler avec cela ? Eh bien, nous avons eu affaire
au numéro six tout à l'heure. Ce que vous pouvez faire, encore une fois, au lieu de simplement travailler avec
le chiffre six en
tant que chaîne, c'est convertir une chaîne comme six
en un entier. Et vous pouvez voir que INT
convertira cela en une valeur
numérique réelle de six ici. Il n'est pas entouré de
guillemets comme s'il s'agissait
d'une chaîne littérale INT signifie entier et convertit les objets en nombres entiers, tandis que float
va le
convertir en un nombre avec
un point décimal Donc, si je devais utiliser float
pour six, vous verrez 6.0. OK, alors que devons-nous faire ? Eh bien, ce que nous pouvons
faire, c'est le convertir ici et dire INT pour le nombre. Il s'agit là d'une solution. Essayons-le. Je
viens donc de le sauvegarder à nouveau. Si j'appuie sur F cinq pour l'exécuter, oh, cette fois,
disons 12. Génial. Là, 12 multiplié
par deux est 24. Mais si je voulais taper, je ne sais pas, 2,5. Eh bien, alors il
faudrait qu'il soit à flot. Et ce ne serait pas mal si
c'était 12 points, oh. Alors peut-être que ce serait plus sûr en fonction de ce que
nous voulons taper. Il est un peu plus flexible
d'utiliser le flotteur à la place. Je vais donc le faire, et exécutons-le après avoir sauvegardé. Maintenant, si je devais, comme
je l'ai dit, taper 2.5, oups. J'ai oublié de remplacer l'
INT par float ici. Avez-vous remarqué mon erreur ? Oui. Maintenant, exécutons
à nouveau dans le type 2.5. Je dirais 5.0. Ou même si je le
réexécutais et que je
tapais 12 points oh ou
même 12 tout seul, il reviendrait sous forme de virgule
flottante. Pourquoi avons-nous utilisé float
au lieu de INT ? Si vous donnez à la fonction
INT intégrée quelque chose
qui n'est pas en base dix, comme si vous deviez dire 2,5, elle se met un peu en colère. Il indique que c'est un littéral
non valide pour INT avec cette
exigence de base dix Donc, même si vous avez dit 12 points, oh, vous obtenez le même type d'erreur. Le float vous donne donc
beaucoup plus de flexibilité, en fonction de la chaîne que
vous y insérez. Parfois, vous devez convertir
un nombre en chaîne de caractères. Pour faire l'inverse, il existe également une fonction. Permettez-moi de vous donner un exemple. Disons que nous allons refaire
une concaténation. Supposons que nous ayons une variable
appelée le nombre de pommes, et qu'elle est actuellement de quatre. Tu as très faim et tu dis : je vais manger. Concaténez ensuite le nombre de pommes à une autre chaîne
contenant des pommes Imprimez-le automatiquement et insérez le numéro. Eh bien, vous ne pouvez
concaténer qu'une chaîne, pas un entier à une La variable num
apples étant un nombre, Python ne peut pas la concaténer avec
l'autre chaîne Vous devez convertir l'entier Num
apple en chaîne, et c'est là que nous utilisons
la fonction STR intégrée. Tout comme INT et float, il existe une fonction intégrée STR qui renvoie une
version chaîne d'un objet. Et ici, vous pouvez
ajouter la fonction
STR intégrée qui prend un objet et
le place dans une chaîne. Génial. Voyons si cela fonctionne. Ouais. Cela fonctionne très bien. Ce qui est plutôt cool, c'est que la fonction STR
intégrée peut gérer des expressions
arithmétiques directement à l'intérieur de celle-ci Supposons donc que vous ayez eu un
total de quatre pommes. Et voici le nombre que vous en avez mangé jusqu'
à présent, soit deux. Nous avons donc attribué deux variables, total de pommes au nombre entier
quatre et le nombre total de pommes consommées
au nombre entier deux. Et vous voulez créer
une chaîne indiquant que seul l'espace peut se caténer Et cette fois, vous êtes
en train de convertir en chaîne. Et vous allez
dire le nombre total de pommes moins le nombre de pommes
consommées et le concaténer pour
indiquer le nombre
de pommes restantes I Donc, il peut faire cette soustraction
juste à l'intérieur Examinons quelques exercices
supplémentaires que vous pourrez pratiquer avec ceux-ci. Exercice 1. Créez une chaîne
contenant un entier, puis convertissez cette chaîne en un entier réel à
l'aide de la fonction INT intégrée. Testez votre nouvel
objet sous forme de nombre en le multipliant par un autre nombre et en
affichant le résultat Exercice 2. Réessayez l'exercice
précédent, mais utilisez un nombre à virgule flottante et la fonction flottante intégrée. Exercice 3. Essayez de créer un objet chaîne
et un objet entier. Affichez-les ensuite
côte à côte avec une seule impression à l'aide
de la fonction chaîne. Exercice 4. OK. Dans celui-ci, vous
allez utiliser la saisie deux fois pour obtenir deux
nombres différents d'un utilisateur, puis multiplier les nombres ensemble et afficher le résultat. L'impression doit ressembler
à ceci. Vous trouverez les solutions
à ces exercices ainsi que le code dans les
fichiers de ressources de cette leçon. Ensuite, vous
allez apprendre
à rationaliser votre fonction
d'impression.
41. EXERCICE : travailler avec des cordes et des nombres: Et vous allez continuer avec d'
autres exercices de saisie. Celui-ci s'appelle Travailler
avec des chaînes et des nombres. Écrivez un programme qui utilise deux fois la fonction de
saisie pour obtenir
deux nombres de l'utilisateur, multiplie les nombres ensemble
et affiche le résultat Si l'utilisateur entre deux et quatre, par
exemple, la nouvelle entrée doit imprimer le texte suivant. Le produit de deux et
quatre est huit points zéro. Ce que vous pouvez voir ici,
c'est que le résultat doit être affiché sous forme de nombre à virgule
flottante. N'oubliez pas que
la fonction d'entrée
crée toujours une chaîne dans laquelle vous pouvez convertir certaines chaînes en nombres
réels à l'aide des fonctions int
et float, et que vous pouvez
convertir des nombres en
chaînes à l'aide de la fonction de
chaîne STR. Vous devrez donc recueillir les entrées de l'utilisateur,
puis saisir la conversion,
puis faire puis saisir la conversion,
puis quelques calculs mathématiques et les afficher
à nouveau à l'utilisateur. Essayez-le vous-même,
puis si vous le souhaitez, vous pourrez regarder la leçon suivante
où je vais résoudre la tâche.
42. SOLUTION : travailler avec des cordes et des nombres: J'ai ouvert un
nouveau fichier et j' ai pris quelques notes
pour les instructions. Je veux obtenir deux
nombres de l'utilisateur, les
multiplier, puis
afficher le résultat. C'est ce que je veux
faire dans cette multiplication. Il y a en fait
une autre étape là-dedans. Je vais également vouloir les
convertir en nombres. Je peux donc le faire à un moment donné, mais je dois le faire
avant de les multiplier. Et c'est parce que vous ne pouvez pas réellement multiplier deux
chaînes ensemble. Ça va juste
être une erreur. Je passe donc au REPL
juste pour vous montrer ça. Si j'ai deux chaînes et que j'
essaie de les multiplier ensemble, je vais obtenir une erreur de type indiquant
que Python ne peut pas multiplier séquences par un
entier de type chaîne. C'est un message bien
descriptif qui me dit simplement
que cela ne fonctionne pas. Mais si vous
collectez les entrées de l'utilisateur, il
s'agira toujours d'une chaîne, même si l'utilisateur saisit un
nombre. Essaie ça aussi. Je vais donc attribuer la valeur de
retour de l'entrée à A. Je vais juste donner
une invite vide ici. Et donc l'invite, elle m'invite maintenant
à saisir quelque chose Si j'en saisis quatre. Je pense donc que
je saisis un chiffre. Ce que j'obtiens en conséquence
est toujours une chaîne. Comme vous pouvez le voir,
il s'agit d'une classe STR. Ça ressemble à ça. Donc, si
vous collectez les entrées des utilisateurs, elles
arriveront toujours sous forme de chaîne. Et puis si vous essayez de multiplier deux chaînes ensemble, vous allez
rencontrer une erreur. Mais il y a un petit
côté amusant. Si vous aviez un autre
programme qui avait un entier fixe avec lequel vous
multipliez l'entrée utilisateur, disons que si vous n'
effectuez pas de conversion de type ici, vous pourriez obtenir une sortie à
laquelle vous ne vous attendez peut-être pas Nous avons un, qui
pointe vers quatre, non ? Et supposons que le
programme multiplie les entrées d'un utilisateur par 20, n'est-ce pas ? Dans ce cas
, vous obtenez donc une concaténation de chaînes. Python concatène la chaîne
d'entrée 20 fois. Vous obtenez donc 20 quatre
en sortie, ce qui serait un résultat
de
calcul étrange faites quatre fois 20. Pour éviter cela, vous
devez donc le convertir explicitement. Vous pourriez, par exemple, convertir A en un entier,
puis effectuer la multiplication, et cela fonctionne, n'est-ce pas ? Cela fonctionne correctement, et les
mathématiques reprennent tout leur sens. C'est juste pour garder
à l'esprit que vous devrez convertir
ces nombres. Commençons donc par recueillir les deux
numéros auprès de l'utilisateur. Revenons à notre éditeur
et passons à la deuxième ligne. La lettre A est saisie. Ouvrez maintenant les parenthèses entre
guillemets et tapez. Entrez un chiffre. Demandez-leur de le
rendre un peu plus lisible, puis
recommencez la même chose pour un autre numéro. Je dirais que B est une entrée. Tapez ensuite, entrez un autre numéro. Ensuite, je veux les convertir en
nombres pour pouvoir les multiplier. Je vais le faire en une seule étape. Je vais donc les convertir en flottants
car dans la sortie, je veux avoir des flottants agit donc de
convertir explicitement A et B en nombres à virgule flottante, puis de les affecter à une
variable appelée produit Ici, je fais la
conversion et la multiplication en une seule étape. Enfin, je dois
afficher le résultat. Je vais le faire simplement
en utilisant la concaténation de chaînes, qui, comme vous le verrez,
va devenir assez longue Vous avez probablement
déjà trouvé une meilleure façon de le faire. Mais pour l'instant,
restons-en à concaténation de
chaînes,
car je veux
également vous montrer quelque chose de similaire à multiplication qui ne
fonctionne pas avec Vous ne pouvez pas effectuer de concaténation si les deux ne sont pas des chaînes. Donc, pour pouvoir
afficher ce message,
le produit d'ici, le produit d'ici, vous pouvez simplement utiliser la
variable que j'ai collectée car A
est une chaîne, n'est-ce pas ? Je le convertit simplement par multiplication en un nombre à virgule
flottante. A pointe donc toujours vers la chaîne
d'origine saisie. Je peux donc dire que le
produit de A et B est Et maintenant, si j'ajoute simplement le produit
ici sans aucune conversion, je rencontrerais à nouveau une erreur. Essayons-le sur la console. Donc, ici, j'essaie de concaténer une chaîne et un nombre à virgule
flottante C'est donc marqué ici. Je vais dire, A, c'est ma chaîne plus un nombre à virgule
flottante, 0,2. Et vous pouvez voir
que Python génère à nouveau une erreur de type où
il vous indique qu'il
ne peut concaténer que des chaînes chaînes et non un
float en Ainsi, pour pouvoir mettre produit dans la chaîne que
vous concaténez ici, vous devez le
convertir explicitement en chaîne en utilisant la fonction STR et en passant le
produit comme argument Avec ça, ça va marcher. Et vous pouvez également continuer à
ajouter une autre chaîne, qui dans ce cas, n'est qu'un point. C'est bon. C'est donc une très,
très longue méthode pour
assembler ce message, utilisant simplement la concaténation de
chaînes Mais essayons-le
et voyons si cela fonctionne. Je le sauvegarde et je le gère. Entrez le chiffre deux, entrez
un autre chiffre quatre, et le produit de
deux et quatre est 8,0. J'obtiens donc le résultat
attendu. Le résultat de la saisie ressemble à un nombre à
virgule flottante. Mais ici, dans l'appel d'impression, vous le convertissez
en chaîne avant concaténer
avec les autres parties de la chaîne que
vous Si vous avez utilisé le format point ou une chaîne F pour
le message final, c'est également une excellente solution. Donc, si vous êtes coincé avec la
concaténation de chaînes jusqu'à présent, vous aurez l'occasion d'
essayer quelque chose de nouveau.
43. Méthodes de formatage Print(): Bonjour à tous, et
bienvenue dans le cours. Dans cette leçon, je vais consacrer un peu plus de temps à la mise
en forme des chaînes de caractères afin que vous puissiez créer des messages
plus complexes dans le cadre de votre fonction d'impression. Tout d'abord, vous pouvez concentrer deux chaînes pour en
créer une troisième. Hello plus world
donnerait lieu à une troisième chaîne
appelée Hello World. Il faut être un peu
prudent en Python. Cela ne modifie pas réellement
la chaîne. Cela crée une troisième chaîne
toute neuve. Cela peut rendre
la manipulation des chaînes un peu gourmande en mémoire
et ralentir les performances. Au fil des ans, Python a ajouté plusieurs méthodes de
manipulation des chaînes Le premier est similaire au C, supportant la notation en
pourcentage a. Le second comporte des espaces
réservés entre crochets, et le troisième, assez
récent, est une chaîne en F. Nous avons déjà discuté de
ces trois méthodes lorsque nous avons découvert les chaînes de caractères. Je vais maintenant vous montrer comment intégrer ces méthodes de formatage
dans la fonction d'impression En général, il est recommandé d' utiliser la chaîne F
autant que possible, mais il existe encore
quelques cas où style
C peut être plus important. Je vais vous montrer comment utiliser ces deux éléments dans le terminal dès maintenant. Je vais commencer par
créer quelques variables ici. Prénom Âge du nom de famille. Et le premier
exemple de formatage est le pourcentage S. Le pourcentage indiqué dans cette chaîne est
un espace réservé pour l'endroit
où le contenu
va être injecté Le pourcentage à la fin de la
chaîne indique ce qu'il faut injecter. Dans ce cas, la valeur des
noms de famille est
insérée dans la chaîne. Vous pouvez mettre plusieurs
pourcentages dans un format. Pour
ce faire, vous devez passer un turple à la chaîne au
lieu d'une valeur unique Notez que si vous souhaitez
utiliser le nom de famille deux fois, vous devez utiliser le 2% S, un pour chaque instance du nom de famille et
la variable deux fois à l'intérieur des tuples pourcentage S indique que vous
allez y mettre une chaîne. pourcentage D indique que vous
allez saisir
un entier. pourcentage F est pour les flotteurs. Tapez. Le chiffre a été coupé à 3,14. Pourquoi est-ce le cas ? Expliquons ici. Le premier chiffre est le nombre minimum
total de chiffres que la
chaîne doit contenir. Le nombre qui suit est le nombre décimal. Cela signifie combien de nombres afficher après la virgule décimale ? C'est pourquoi le résultat est 3,14. Donc, si je devais
le remplacer par trois, cela indiquerait 142. Si j'en fais un grand
nombre, par exemple
huit, il remplira le reste de ces
nombres par des zéros Changeons maintenant
le premier chiffre. Disons 20 et
lançons le programme. Remarquez comment nous remplissons un
tas d'espaces blancs. Maintenant, rappelons-nous comment
convertir en chaîne de caractères. Nous pouvons également utiliser un signe de
pourcentage R, qui fait la même chose
avec le signe de pourcentage S. Prenons un autre exemple en utilisant
plusieurs signes de pourcentage. Python les prendra dans l'ordre. Le premier côté en pourcentage sera attribué
au premier élément, et le deuxième signe de pourcentage sera attribué
au deuxième élément. Bien, nous allons maintenant faire le
même exemple en utilisant le deuxième type de méthode de formatage. Et je vais utiliser des crochets
ici et mettre un niveau de
variable arbitraire Par exemple, X se ferme
avec des guillemets
puis un point et appelle la méthode de
format sur cette chaîne. Ensuite, la variable X et
mon nom sous forme de chaîne. Sympa. Modifions ce code en ajoutant la phrase suivante
et une deuxième étiquette de variable. Pourquoi, par exemple ? Python 3 a introduit le
concept d'une chaîne F. Le F devant la chaîne indique qu'il s'agit
d'une chaîne de mise en forme. Maintenant, les crochets indiquent
où placer l'injection. C'est le même que dans
le premier exemple. Je trouve ce mécanisme
beaucoup plus facile à lire, surtout si vous
avez plusieurs variables. Les chaînes de format
permettent le calcul. Ils prennent également en charge le formatage. Ouvrons une nouvelle fenêtre shell, importons le premier module math, qui donne accès aux fonctions
mathématiques. À l'intérieur des crochets, vous placez deux points, indiquant
votre mécanisme de formatage Oups, j'ai oublié de définir
la variable âge. Le 0,2 F est similaire
au 0,2 F ci-dessus, ce qui nous donne l'âge d'Alan
Turing multiplié par Pi à deux chiffres significatifs. Génial. Assurez-vous de prendre votre temps et de regarder attentivement
la conférence. Si vous avez des questions, n'
hésitez pas à les poster sur le forum de questions-réponses.
Merci d'avoir regardé.
44. Trouver une corde dans une corde: Maintenant que vous avez découvert
comment
rationaliser vos impressions à l'
aide de chaînes F, il ne reste plus qu'à trouver une
chaîne dans une chaîne. L'une des méthodes de
chaînes les plus utiles est find. Comme son nom l'indique, cette méthode permet de trouver l'emplacement d'une chaîne
dans une autre chaîne, communément appelée
sous-chaîne. Pour utiliser find, vous devez le placer à
la fin d'une
variable ou d'une chaîne littérale en saisissant la
chaîne que vous souhaitez rechercher entre
parenthèses La valeur renvoyée par
Find est un indice de la première occurrence de
la chaîne que vous lui transmettez. Jetons un coup d'œil à cela
dans la fenêtre interactive. Commençons par une phrase. La phrase variable
va donc être affectée
à la chaîne littérale L'alarme incendie continue de sonner. Si vous deviez utiliser
la méthode fine au lieu des crochets, vous choisirez la sous-chaîne que vous
recherchez dans la chaîne Donc, dans ce cas,
nous allons dire, recherchez le feu. Tapons. Phrase à rechercher, feu entre guillemets,
fermer les parenthèses Il renverra l'indice de la première occurrence de la
sous-chaîne à l'intérieur de la chaîne Dans ce cas, il s'agit
du quatrième point d'indice. Voici donc zéro, un,
deux, trois, quatre. Je sais que c'est la cinquième
position, mais encore une fois, partant de zéro, zéro ,
un, deux, trois, quatre. C'est là que tout commence. Génial. Et si la sous-chaîne n'existe pas dans la chaîne ? Tapons la phrase point
find dans un mot aléatoire. Vous obtiendrez un retour
négatif, ce qui signifie qu'il ne l'a pas trouvé. Donc, attention, n'oubliez pas qu'il faut que
le boîtier corresponde. Donc, si je lui donne un F pour le feu, il renverra moins un. Essayons un autre exemple. Je vais appeler ça une nouvelle phrase. Et cela équivaudra à mettre une ficelle
dans la tienne. Dans ce cas particulier, lorsque vous dites
« nouvelle phrase introuvable », qu'obtiendrez-vous si
vous tapez une chaîne de caractères ? Donc, dans ce cas, ce n'est que
la première occurrence. Il n'a pas renvoyé
le second. Cela renvoie uniquement l'index
de la première occurrence, commençant par le
début de la chaîne. Et notez que si vous aviez une chaîne, disons un numéro de téléphone. Si vous essayez de
trouver le chiffre quatre, comme dans ce cas, un entier, cela vous
donne une erreur. Dans les commentaires, il est dit qu'il s'agit d'une erreur de type. La valeur doit être une chaîne non un
entier à rechercher. Il faudrait donc
trouver une chaîne littérale de quatre et elle se trouve juste
là au tout
début de l'indice zéro Parfois, vous
souhaiterez peut-être remplacer toutes les occurrences d' une chaîne particulière
au sein d'une chaîne. Comme find renvoie l'index de la première occurrence
d'une sous-chaîne, vous ne pouvez pas facilement l'utiliser pour
effectuer cette opération Mais les chaînes ont une méthode de
remplacement qui remplace chaque instance d' une sous-chaîne par une autre chaîne Tout comme cette méthode find, vous ajoutez replace à la fin d'
une variable ou d' une chaîne littérale Dans ce cas, cependant, vous devez mettre
deux chaînes entre parenthèses et les
séparer par une virgule première serait la sous-chaîne
que vous souhaitez trouver, et la seconde est une
chaîne par laquelle vous souhaitez remplacer les
courants Ido de la sous-chaîne. Essayons-le dans la fenêtre interactive. Ainsi, tout comme find, vous balisez la méthode replace à la fin de la variable
ou de la chaîne littérale Essayons ça. Disons que nous avions une
variable appelée Mon histoire. OK. Et dans ce cas, vous vouliez remplacer
en utilisant dot replace. Et vous pouvez voir ici qu'il est
écrit « mettez l'ancienne », c'est-à-dire que la sous-chaîne
que vous
recherchiez doit être remplacée
par la nouvelle chaîne Je vais donc dire de rechercher la vérité
et de la remplacer par des mensonges. Maintenant, n'est-ce pas cool ? Maintenant, ce qui est arrivé
à mon histoire elle-même, vous vous souvenez peut-être que les
chaînes sont des objets immuables et que le remplacement ne modifiera pas
la variable my story Et l'utilisation de la méthode replace ne modifie pas la
chaîne de mon histoire. Si vous tapez immédiatement mon histoire dans la fenêtre
interactive, vous verrez que si vous souhaitez modifier la valeur de
la chaîne my story, vous devez la réattribuer Donc, encore une fois, pour faire un petit rappel à ce
sujet, vous diriez j'aimerais
attribuer mon histoire,
dans ce cas, à cette remplaçante Donc, vous diriez : disons que nous
voulons faire la même chose, échanger la vérité contre des mensonges. Alors maintenant, qu'y a-t-il dans mon histoire ? Vous verrez ici qu'il a
été modifié et réaffecté. Replace remplacera
chaque instance de la sous-chaîne par
le texte de remplacement Et si vous aviez une autre
chaîne
assignée à certains éléments ? Voici donc le texte, et vous vouliez une nouvelle
version du texte. Et tu voulais faire
quelques remplacements. Supposons que vous vouliez
remplacer une partie par tout, mais que vous
vouliez aussi remplacer
des choses par des choses. Eh bien, il faudrait
les faire un par un. Donc, le nouveau texte dit
tout, et vous pourriez dire,
OK, eh bien, nouveau texte. Je veux aussi faire un nouveau texte, ne pas remplacer les trucs du coma. Maintenant, tu as accompli les deux. La méthode de remplacement remplace chaque instance d'une sous-chaîne
particulière par un texte de remplacement Maintenant, si vous souhaitez remplacer plusieurs
sous-chaînes différentes dans une chaîne, vous
devez utiliser
replace plusieurs fois. Il est temps de
vous lancer le défi avec nouveaux
exercices de révision. Exercice 1. Sur une ligne de code, affichez le résultat
de la tentative de recherche de
la sous-chaîne A minuscule
dans la chaîne de trois A. Notez que le résultat doit
être négatif Exercice 2, remplacez
chaque occurrence du caractère S par X. Dans cette chaîne, quelqu'un
a dit quelque chose à John. Troisième exercice : écrivez un programme qui accepte les
entrées par l'utilisateur , puis
affiche le résultat de la
tentative de recherche d'une
lettre particulière dans cette entrée. Vous trouverez les solutions
à ces exercices et le code dans les
fichiers de ressources de cette leçon. Merci d'avoir regardé.
45. EXERCICE : trouver une lettre dans une chaîne: Votre prochain exercice s'appelle
trouver une lettre dans une chaîne. Ici, vous devez écrire
un programme qui accepte entrées
utilisateur avec la
fonction de saisie et affiche le résultat de la tentative de
recherche d'une lettre particulière dans cette chaîne d'entrée à
l'aide de la fonction point find. Quelle lettre n'est pas définie ici. Il semble donc que ce sera une autre entrée, probablement de la part de l'utilisateur, ou peut-être que ce n'est tout simplement pas une
très bonne description. Quoi qu'il en soit, je vais donc ajouter cette description selon laquelle l'
utilisateur devrait pouvoir
saisir à la fois le mot
ou la phrase
, puis la lettre à
rechercher dans cette phrase. OK, essayez-le, puis
passez à la leçon suivante.
46. SOLUTION : trouver une lettre dans une chaîne: La tâche parlait donc de l'
écriture d'un programme, ce qui indique généralement que vous devez utiliser
un script pour cela. Encore une fois, j'ai
ouvert un nouveau script
, puis je l'ai transformé en notes courtes. Je souhaite recueillir des informations, puis afficher les résultats de la
recherche d'une lettre. Commençons par
recueillir les données, puis
les enregistrer quelque part. Donc, mon texte va
être saisi, entrez une lettre. Ensuite, je souhaite afficher résultat de la
recherche d'une lettre dans ce texte. Je veux donc dire point de texte Find. Et puis une lettre. Qu'est-ce
que cette lettre ? Je ne sais pas Je pourrais simplement rechercher une lettre codée en dur, par
exemple X ici, puis en imprimer
le résultat. Essayons ça. Je vais le sauvegarder et le lancer. Je peux maintenant saisir un texte. Je vais sauver Virginia et j'en aurai moins un parce qu'
il n'y a pas de X en Virginie. Maintenant, si je réexécute le
script et que j'
essaie avec un texte contenant un X, par
exemple Xavier,
alors j'obtiens zéro. Il trouve donc X
en première position. Cela fonctionne donc avec X, mais je ne pense pas que ce soit génial. S'il cherche toujours X, c'est peut-être un peu ennuyeux. Je vais donc modifier cela
pour permettre à l'utilisateur de saisir également le
caractère à rechercher. Je vais donc créer une autre variable que j'appellerai caractère. Et ce sera un autre
appel à la saisie. Ensuite, je vais dire « Entrez
le caractère » à rechercher. Enfin, je dois également remplacer l'argument du texte
fin par un caractère. Ce qui signifie alors que ce sera le cas
quelle que soit la saisie par l'utilisateur. Techniquement, cette saisie utilisateur peut comporter plus
d'un caractère. recherche par points fonctionne avec des sous-chaînes Vous pouvez
donc saisir
plusieurs caractères sous forme de sous-chaîne à rechercher Si Python trouve la sous-chaîne, il renvoie l'index du début
de l'
endroit où la sous-chaîne
apparaît pour la première fois dans la Mais pour cet exercice, vous n'avez pas à vous
soucier de tout cela. Vous supposerez que vos
utilisateurs sont de bons citoyens et suivrez les instructions pour
ne saisir qu'un seul caractère. Refaisons-le. Entrez un texte. Maintenant, je peux dire Samantha
et rechercher A. Et puis vous pouvez voir qu'il trouve à la première position de l'
index Donc, à la deuxième position, qui est la position de l'indice. Et faisons-le encore une fois. Vérifiez si cela
fonctionne toujours comme prévu. Si je dis Samantha et que je
cherche X, j'obtiens moins un. Et encore un test. Si je tape Samantha
et que je recherche T, vous pouvez voir que j'en obtiens cinq, qui est la position d'index
du premier T que Python
trouve dans la chaîne d'entrée C'est bon. Donc ça marche. Nettoyons le script, supprimons les commentaires, et nous avons
terminé cet exercice.
47. Cordes et méthodes de cordes (RÉSUMÉ): Bienvenue, tout le monde. Dans cette section,
vous allez apprendre à
manipuler des chaînes à l'
aide de méthodes de chaîne. Vous apprenez à utiliser les entrées
utilisateur et à gérer des
chaînes de chiffres. Parallèlement à cela, vous avez
appris plusieurs façons de formater des
chaînes pour l'impression. Nous avons également abordé le fractionnement, concaténation et la jonction de chaînes En cours de route, vous avez
également découvert chaînes
F, les chaînes multilignes, comment indexer et découper des chaînes, comment les chaînes sont immuables, et vous avez également appris à découvrir d'autres
méthodes en utilisant le mode inactif Dans la section suivante,
nous allons nous
entraîner à travailler avec des
chaînes et des méthodes de chaînes. faisant tout cela, vous mettrez en pratique
les concepts que vous avez appris dans la section
et vous aiderez à les appliquer. Je tiens à vous remercier et à vous féliciter d'
avoir rempli cette section.
48. PROJET : Créer un programme d'impression de reçus: Bienvenue dans votre premier projet. Nous allons créer un programme d'impression de
reçus très basique. de la semaine, comme nous l'avons
appris sur les variables, les opérateurs de
manipulation de chaînes
utiliseront ces compétences
pour créer ce programme. Il est toujours bon d'imaginer un dessin de ce que vous
essayez de construire. Pour les projets plus importants,
vous devez créer un organigramme ou sorte de document de conception
qui vous permettra de rester sur la bonne voie. De cette façon, vous ne vous éloignez pas
du résultat escompté. Pour nous, nous allons créer un petit programme
d'impression de reçus avec les concepts que nous avons appris, dans lesquels le résultat
ressemblera à ce qui suit. Commençons donc. Chaque fois que
vous commencez un projet, vous devez toujours savoir par
où commencer. Quelle que soit la taille
du projet, il existe certaines dépendances. Comme pour construire une
maison, vous devez avoir une fondation avant
de pouvoir y installer un toit. Commençons par définir
les variables
avec lesquelles nous travaillerons tout au long de ce programme. R Il est bon d'
implémenter de bonnes techniques de codage lors de l'écriture d'un programme Python. Cette technique introduite
dans son bloc est la possibilité de déclarer plusieurs variables sur la même ligne. Pour ce faire, nous séparons les noms des variables et
leurs valeurs associées par. En regardant les
deux premières variables déclarées, la valeur des oranges
sera enregistrée avec le nom de variable P,
un trait de soulignement et la valeur 5,90 Cela sera enregistré
dans le
nom de variable P one underscore price Plutôt que d'écrire six lignes, nous avons déjà réduit notre
programme de moitié. Moins nous utilisons de lignes, mieux c'
est la plupart du temps. Définissons ensuite les
variables que nous
utiliserons pour l'entreprise en haut du reçu. Par exemple, nous avons laissé le nom de l'entreprise en
minuscules afin que vous puissiez utiliser une
méthode de manipulation du streaming pour résoudre ce problème Enfin, déclarons
le message qui
sera envoyé à l'utilisateur au
bas du reçu. Comme nous pouvons
le voir dans le design que nous avons élaboré au
début du projet, nous devrons tracer une
bordure en haut et en bas. Commençons par une bordure supérieure. Tout ce que nous essayons de faire, c'est
d'imprimer 50 étoiles d'affilée pour Tom Border au lieu de
faire 50 déclarations imprimées. Nous pouvons simplement multiplier la chaîne par le
nombre que nous voulons. Nous avons déjà défini
nos variables dans l'entreprise à l'aide des lignes
précédentes, alors affichons-les. Les caractères d'échappement sont lus dans le caractère de
barre oblique inverse qui le définit Tout ce qui vient après
cette barre oblique inverse est ce que l'ordinateur
interprétera Dans les trois premières instructions
d'impression, nous utiliserons la barre oblique inverse
T pour l'indentation des onglets Lorsque nous utilisons les deux
caractères qui s'échappent d'affilée pour nous
centrer dans notre sortie, allons
maintenant créer un diviseur Comme nous avons
imprimé notre bordure supérieure, nous allons multiplier le symbole
égal par 50 pour créer la
même ligne de largeur. Cela donnera l'apparence
de sections distinctes. Nous voulons maintenant créer
un en-tête avant répertorier le nom et le prix de chaque
produit. Cela peut être fait simplement en utilisant nos caractères d'échappement
pour l'indentation En raison de la taille des
noms des en-têtes, nous ne voulons utiliser qu'un seul
onglet avant chaque en-tête. Nous pouvons maintenant continuer et afficher une ligne pour les informations de chaque
produit. OK. OK. Nous utilisons styles
similaires dans les relevés
imprimés
précédents afin de centrer le titre, le
prix et les en-têtes
respectifs de
chaque produit prix et les en-têtes
respectifs Essayez de ne pas vous laisser embrouiller par tous les symboles de
la chaîne d'impression, car vous pouvez simplement
les décomposer en un onglet, puis la première variable étant formatée dans la chaîne, suivie de deux onglets, puis du signe $1
pour que le prix ressemble à une
devise, puis la seconde variable
formatant la chaîne Ceci complète la
section réservée à nos articles, alors ajoutons un autre séparateur de
section Comme dans la
section des produits. Nous voulons créer un en-tête
pour notre total, mais nous voulons également le centrer sous la colonne des prix, comme dans la section des produits. Pour ce faire, nous avons
besoin de trois onglets. Maintenant que
notre en-tête total aligné sur la
colonne des prix des produits, nous pouvons importer notre total
sur la ligne suivante. Toutefois, avant de pouvoir
imprimer un total, nous devons d'abord le
calculer, c'
est-à-dire la somme de
tous nos produits. Définissons une variable appelée total, puis
nous l'imprimerons. Encore une fois, nous avons ajouté
trois onglets plus signe de
1$ pour que la
valeur totale apparaisse sous forme de devise. Ajoutons maintenant une bordure de section. Y. Pour afficher le dernier message de
remerciement, notre design est légèrement
plus
espacé que n'importe quelle autre section Nous devrons
donc ajouter quelques nouvelles lignes pour lui
donner un espace supplémentaire Notre message est désormais centré
et nous sommes prêts à passer à autre chose. Pour terminer le programme
d'impression simple, nous devons ajouter une
bordure inférieure pour des raisons esthétiques. Lancez le programme. Notez que le prix de notre troisième produit, l'huile
d'olive, est centré sur celui
des deux autres produits. Supprimons donc un onglet. Lancez à nouveau le programme. Et ça marche très bien.
Félicitations. Aussi simple que cela puisse être,
il s'agit d'une étape importante. Essayez d'interrompre le programme. J'encourage toujours
les étudiants à essayer et à abandonner les programmes, car cela vous
apprendra à y remédier. Maintenant, j'ai une question
difficile à poser. Dans le cadre du projet, nous avons
fini par créer des bordures au-dessus et en dessous des
informations imprimées. Essayez maintenant d'ajouter une bordure en étoile sur les côtés également
sur les bordures latérales. La solution se trouve toujours
dans les fichiers de ressources. Si vous avez des questions ou des suggestions sur la façon
d'améliorer le programme, hésitez pas à me le faire savoir.
Merci d'avoir regardé.
49. Numéros et mathématiques (aperçu): Les ordinateurs utilisent
des chiffres pour représenter toutes sortes d'
informations telles que du texte, des images, de la musique et même des vidéos comme celle que vous êtes
en train de regarder. Pratiquement tout est un chiffre du point de vue de l'
ordinateur. Pour cette raison, les nombres et la capacité à les
manipuler jouent un rôle important dans tous les langages de programmation,
y compris Python. C'est peut-être aussi pour cela que
certains débutants pensent qu'ils ont besoin de solides
compétences mathématiques pour devenir programmeurs Cependant, c'est une idée fausse
courante. En réalité, vos connaissances en mathématiques
au
primaire devraient être largement
suffisantes pour commencer à coder. Le niveau réel de familiarité
mathématique dépendra de
votre rôle spécifique dans l'application que
vous créez Par exemple, vous étiez moins
susceptible d'avoir besoin de connaissances algèbre
linéaire ou en statistiques en
tant que développeur Web qu'
en tant que data scientist Dans ce cours, vous aurez un aperçu des types
numériques en Python, de la
création d'entiers, de nombres flottants et de nombres
complexes, ainsi que de l'exécution
d'opérations arithmétiques Découvrez l'erreur de représentation en
virgule flottante, travaillez avec les fonctions mathématiques
et les méthodes numériques, formatez et affichez
les nombres sous forme de chaînes. Bien, il est temps pour
vous de commencer par avoir un aperçu
des types numériques
disponibles en Python
50. Types numériques en Python: Dans cette leçon, vous allez
avoir une vue
d'ensemble des
types numériques disponibles en Python Python possède trois
types numériques intégrés à la syntaxe, ce qui signifie que vous pouvez commencer à les
utiliser immédiatement
lorsque vous les exécutez en mode inactif Les trois types numériques natifs
de Python sont entiers ou des
nombres entiers tels que moins trois, zéro ou 42 Python les appelle « It » en abrégé. Ensuite, il y a les nombres à
virgule flottante, qui peuvent avoir une partie
fractionnaire, comme moins 2,32
ou 3,14, Ils sont connus sous le nom de flotteurs, et vous apprendrez pourquoi ils
sont appelés ainsi Enfin, il existe des nombres
complexes composés de parties réelles
et imaginaires. Ils sont légèrement plus avancés et rarement utilisés dans la pratique. Vous aborderez donc
les nombres complexes dans une leçon ultérieure. Le type de données correspondant
en Python est appelé complexe. Il convient de mentionner que les trois types numériques
intégrés à Python sont signés, ce qui signifie qu'ils peuvent stocker valeurs
positives et
négatives avec le zéro neutre De plus,
les nombres entiers n'ont
pas valeur maximale ou minimale, qui est uniquement limitée par la mémoire disponible
sur votre ordinateur En revanche, les nombres à
virgule flottante et leurs
cousins des nombres complexes ont une plage de valeurs
et une précision fixes. Néanmoins, ils sont suffisamment
grands pour s'
adapter à la plupart des cas d'utilisation
réels. À proprement parler, Python possède
encore un autre type numérique, qui est le type spécial
de type de données entier Il est appelé booléen
ou bool en abrégé et ne peut stocker qu'une des
deux valeurs, vraie Ces valeurs peuvent être représentées
par un et zéro, respectivement. Cependant, vous ne devriez pas
vraiment considérer les booléens
comme des nombres, car ils sont
utilisés dans un but différent, ce que vous découvrirez dans un cours vidéo distinct
sur la logique conditionnelle Dans la plupart des applications, vous utiliserez entiers et des nombres à
virgule flottante exclusivement des nombres
entiers et des nombres à
virgule flottante, car ils couvrent le plus large éventail de problèmes tout en étant
les plus efficaces Une exception notable concerne toutefois les opérations financières
sur des valeurs fractionnaires, qui nécessitent une précision exacte, en particulier lorsque vous travaillez avec grandes et de petites quantités en
même temps Étant donné que les nombres à virgule flottante
ont une précision limitée, leur
utilisation pour représenter des montants en
devises entraînerait inévitablement des erreurs d'arrondissement
importantes Vous ne devez jamais utiliser flottants pour représenter des données
financières dans des applications
réelles,
sauf si cela ne vous
dérange pas de perdre des informations
sur l'argent de votre client Un schéma courant pour représenter
des montants d'argent consiste à
les stocker sous forme d'entiers en termes
de plus petite unité monétaire, telle que les cents, puis à les
reconvertir en dollars Cependant, cette approche
ne fonctionnera pas avec
plusieurs devises qui
peuvent utiliser des unités différentes. Par exemple, 1 dollar vaut
exactement 100 cents, tandis qu'un bitcoin peut être subdivisé en
presque n'importe quelle fraction Pour résoudre le
problème des flottants, Python fournit quelques types numériques
supplémentaires biais de ces modules de
bibliothèque standard
, que vous
découvrirez ultérieurement Vous n'aurez pas besoin de ces types
numériques supplémentaires pendant ce cours, mais cela vaut la peine de les
connaître. Le premier est appelé
décimal car il
stocke les nombres en interne en utilisant le système de position
décimale
au lieu du système binaire,
comme la plupart des autres types numériques En dehors de cela, il se comporte principalement comme un nombre à virgule
flottante Contrairement à un nombre à
virgule flottante, il possède une position arbitraire
mais finie, dont la valeur par défaut est de
28 décimales Vous devez donc décider l'avance du nombre de chiffres que
vous souhaitez conserver De plus, bien qu'un
nombre décimal fonctionne avec des nombres entiers, vous ne pouvez pas le mélanger facilement avec des nombres à virgule
flottante Si c'est une exigence, vous pouvez utiliser
un autre type
numérique fourni avec Python
appelé fraction Il représente un nombre
rationnel ou un quotient de deux
entiers, par exemple un tiers Les fractions ont une précision
infinie, ce qui vous permet de représenter des
nombres exactement, même s'ils ont une expansion
décimale ou binaire récurrente expansion
décimale ou binaire sans perte d'
informations due à Maintenant que vous avez une
idée générale des
types numériques en Python, il est temps d'examiner de
plus près les entiers
51. Entiers: Dans cette leçon, vous allez
approfondir l'un des
types numériques les plus courants en programmation, le type de données entier, que Python appelle Int Si vous souhaitez suivre une session d'
interpréteur Python
interactive,
alors lancez-vous dans session d'
interpréteur Python
interactive, le mode inactif
dès maintenant. Un entier est un nombre entier
sans décimale. Le moyen le plus rapide de créer un entier en Python
est de créer un littéral entier composé de chiffres qui apparaissent
littéralement dans votre Par exemple, si vous tapez 42 et
idle, vous créez un entier. Vous pouvez vérifier le type
d'un tel littéral, que Python appelle
It car les entiers
sont des nombres entiers Ils ne sont pas livrés avec
une fraction. Ainsi, dès que vous incluez le point décimal
dans votre littéral, vous ne créez plus de nombre entier Même si la partie fractionnaire de votre littéral est égale à zéro, comme dans cet exemple, le résultat sera un nombre à virgule flottante, que vous découvrirez
dans la leçon suivante D'autre part,
un littéral entier peut inclure le signe moins Cela crée un nombre
entier négatif. De plus, vous pouvez délimiter des
groupes de plusieurs
chiffres en plaçant un seul trait de soulignement n' importe où dans votre littéral
pour en faire un grand nombre, un peu plus facile Cela ne fait aucune différence pour Python que vous
utilisiez les traits de
soulignement ou non, mais écrire un
nombre avec eux est sans doute plus
lisible pour les humains Jusqu'à présent, vous n'avez
vu que des littéraux décimaux composés des
dix chiffres habituels de zéro à neuf Cependant, il peut arriver que
vous souhaitiez exprimer un nombre en utilisant un système numérique
différent. Parce que les ordinateurs utilisent binaires et parfois quelques
autres systèmes numériques, Python vous permet de créer des entiers
en utilisant ces alternatives En préfixant votre
entier littéral avec l'une des rares bases du système
prises en charge, vous pouvez modifier le nombre de
chiffres que vous souhaitez utiliser Par exemple, le nombre 42
peut être exprimé comme un, zéro, un, zéro, un, zéro dans le système binaire. Pour indiquer à Python d'interpréter un littéral
tel que des chiffres ou des bits
binaires, vous pouvez utiliser le préfixe zéro B. Remarquez comment idle vous présente à nouveau
le nombre dans le système
décimal C'est le même nombre représenté
uniquement de
deux manières différentes. De même, vous pouvez
exprimer le nombre 42 dans le système hexadécimal en utilisant le préfixe zéro x
suivi des chiffres deux A. Disposez d'un maximum de 16 chiffres dans le système
hexadécimal Les dix chiffres habituels de 0 à 9 plus six lettres latines de A à F. Les lettres peuvent être en
majuscules ou en minuscules Le dernier
système numérique supporté par les littéraux
Python
est le système octal,
qui comporte huit chiffres les littéraux
Python
est le système octal, qui comporte huit Vous pouvez activer un
littéral octal avec le préfixe 00. Encore une fois, vous obtenez une représentation
décimale de l'entier créé Il est juste de dire que vous
aurez rarement besoin d'utiliser des littéraux
entiers autres que
le nombre décimal par défaut Néanmoins, ils peuvent
parfois être utiles. Il est préférable d'utiliser des nombres entiers littéraux lorsque vous connaissez vos nombres dès le départ et que vous souhaitez les
intégrer dans votre code sous une forme
littérale Cependant, les nombres sont souvent fournis sous forme de
chaînes par les utilisateurs qui les ont
tapés sur leur clavier une leçon précédente, vous vous souvenez peut-être que vous
pouvez convertir
une chaîne en entier en appelant la Dans une leçon précédente,
vous vous souvenez peut-être que vous
pouvez convertir
une chaîne en entier en appelant la
fonction
intégrée en Python. Notez les guillemets autour de 42, qui définissent une chaîne littérale Vous obtenez en retour
la valeur entière correspondante indiquée sans les guillemets Encore une fois, vous pouvez
vérifier le type de la valeur de retour qui
se trouve être int. Par défaut, la fonction int
suppose que vous
fournirez une chaîne composée de chiffres
décimaux allant de zéro à neuf Si vous souhaitez choisir une base différente pour
le système numérique, vous pouvez de manière optimale transmettre un deuxième argument à la
fonction après une virgule Dans ce cas, vous créez un nombre entier 42 à partir d'une chaîne de
chiffres binaires 101010 La valeur maximale de la base
prise en charge par Python est 36. Il convient de noter que le service
informatique accepte une valeur de n'importe quel type de données, et
pas seulement des chaînes. Par exemple, vous pouvez transmettre un nombre à virgule flottante
afin de tronquer sa partie fractionnaire Comme vous pouvez le constater, la
fonction int permet de
convertir des valeurs d'autres types de
données en nombres entiers, ce qui peut être nécessaire pour effectuer certains calculs sur des nombres
plutôt que sur des chaînes Lorsque vous appelez Int sans passer de valeur
en argument, vous renvoyez toujours
zéro comme résultat. La troisième méthode pour créer des
entiers en Python consiste à utiliser des
expressions telles que des expressions arithmétiques
ou des appels de fonction Vous en apprendrez davantage à ce
sujet à l'avenir. En attendant, les littéraux
entiers devraient être totalement
suffisants. C'est bon. Vous savez maintenant comment
créer des nombres entiers en Python à l'aide de littéraux entiers, que vous pouvez représenter avec
différents systèmes numériques,
notamment les systèmes décimal, binaire, hexadécimal et Dans ce cas, ce sont toutes des représentations
différentes de la même valeur. Vous connaissez également
la fonction in, qui renvoie zéro lorsque vous l'appelez sans
aucun argument. Sinon, il convertira le type de données
que vous fournissez, tel qu'une chaîne littérale nombre entier correspondant Lorsque vous appelez la fonction
in avec un
nombre à virgule flottante comme argument, elle tronque
sa partie fractionnaire
et renvoie uniquement la
partie entière sous forme d' Enfin, la fonction in peut éventuellement prendre
un autre argument, qui est la base du système utilisé pour interpréter une
chaîne de chiffres, telle que 10, un, 010 dans la base donnée. Ensuite, vous allez explorer les nombres à virgule
flottante, le deuxième
type de nombres le plus important, et Python. Mais avant cela, j'ai un exercice sur les nombres entiers dans la
leçon suivante Au cours de
ces exercices, vous approfondirez vos connaissances et consoliderez votre compréhension
du langage Python Non seulement vous gagnerez
en confiance en vos capacités de programmation,
mais vous améliorerez en confiance en vos capacités de programmation, également vos compétences en résolution de
problèmes.
52. EXERCICE : définir les littéraux entiers: Cet exercice testera
votre capacité à définir des entiers en Python en utilisant
leur forme littérale Il serait utile de se rappeler
ce que sont les littéraux entiers. Comme vous le
savez déjà, un entier est un nombre entier
sans décimale Par exemple, un est un
entier, mais pas 1,0. Vous pouvez créer un entier en
saisissant le nombre souhaité. Par exemple,
ce qui suit affecte le nombre entier 25 à
la variable num. Lorsque vous créez un
entier comme celui-ci, la valeur 25 est appelée littéral
entier car le nombre entier est
littéralement saisi dans le code C'est bon. Voici les
instructions pour cet exercice. Vous devez écrire un
programme qui crée deux variables, numéro
un et numéro deux. un et le numéro deux
doivent tous deux se voir attribuer le
littéral entier de 25 millions, l'un écrit avec des traits de soulignement
et l'autre sans Imprimez ensuite le chiffre un et le
numéro deux sur deux lignes distinctes. Je vais vous laisser y réfléchir
par vous-même avant de passer
à la leçon suivante où nous allons résoudre cet
exercice ensemble.
53. SOLUTION : définir des littéraux entiers: J'ai déjà ouvert Idol dans
le mode interactif par défaut
, comme en témoigne l'invite composée de trois crochets
à angle droit. Il s'agit du shell Python, que vous pouvez utiliser
comme terrain de jeu pour tester rapidement des idées en exécutant des extraits de code courts
avant de les enregistrer dans un fichier. Je vais ancrer cette fenêtre sur le côté gauche de l'
écran afin d'
avoir un espace sur la
droite où je peux ouvrir autre fenêtre avec un
fichier vide prêt à être modifié. J'aime avoir un écran partagé
avec tout ce dont j'ai besoin sur un seul espace de travail comme celui-ci pour
éviter de perdre le focus ou passer d'un programme à l'
autre. Vous remarquerez également
que j'utilise de nombreux raccourcis
clavier pour accélérer un peu
les choses. Bien que vos raccourcis soient
légèrement différents des miens, vous pouvez toujours
les trouver
dans
le menu du haut si leur contenu vous intéresse. Je vais coller les
instructions de l'exercice sous forme de chaîne Python dans l'éditeur de code pour
une référence rapide. Comme vous pouvez le constater,
j'ai déjà transformé chaque phrase en un point
distinct
, que nous allons
aborder un par un. Nous allons
créer deux variables nommées num un et num deux. Il est habituel de
définir chaque variable sur une ligne séparée en Python
pour une meilleure lisibilité, même s'il est
techniquement possible de les
regrouper sur une seule ligne, ce qui peut parfois
être justifié Pour rappel, vous pouvez définir une variable en spécifiant
son nom, tel que num un, suivi de l'opérateur d'
affectation, qui est le
signe égal en Python, et enfin de la valeur. Selon le
deuxième point, les deux variables sont
censées avoir la même
valeur entière de 25 millions, mais elles sont écrites sous deux formes littérales
alternatives Utilisons le
littéral entier avec des traits de soulignement pour la première variable et un sans les traits de soulignement
pour la Vous pouvez placer des traits de soulignement
n'importe où dans vos littéraux, condition
qu'ils n'apparaissent ni
au début ni à la fin En d'autres termes, il doit y avoir des chiffres des deux
côtés du trait de soulignement, et ces traits de soulignement
sont totalement facultatifs car
Python les ignore Ils peuvent être utiles pour
regrouper visuellement des chiffres similaires,
comme dans l'exercice. On peut soutenir que la première valeur
littérale est plus facile à lire
que la seconde Dès le départ, il est dit d'
écrire un programme qui
indique que vous devez enregistrer votre code
sous forme de script Python, ce que je vais faire maintenant, et nommer
le fichier exercise one. Idle suppose que nous créons un fichier avec le code source Python Il ajoute
donc automatiquement l'extension point pi au nom
du fichier, sauf
indication contraire Vous pouvez voir le chemin d'accès à votre fichier dans la
barre de titre de la fenêtre. Le dernier point de cet
exercice concerne l'impression deux variables afin de
révéler leurs valeurs actuelles. L'impression se résume
à appeler la fonction
d'impression intégrée avec chaque
variable comme argument Imprimez donc le numéro un
et le numéro deux. Vous pouvez maintenant enregistrer
le fichier et l'
exécuter dans la
fenêtre interactive de gauche. Sur mon ordinateur, je peux recharger le module en appuyant sur la touche
F5 de mon clavier Les deux nombres qui apparaissent à
l' écran sont le résultat de appels à la fonction d'impression deux
appels à la fonction d'impression avec des arguments différents. Notez que malgré l'utilisation formes littérales
alternatives que nous attribuons aux variables, Python les imprime de la même manière Vous pouvez le vérifier en
appelant explicitement print avec num un et num deux dans le
shell Python interactif sur la gauche. Vous voyez, du point de vue de
Python, les deux variables contiennent exactement
la même valeur numérique. L'utilisation de traits de soulignement dans des littéraux
entiers ne fait de différence que pour les programmeurs comme vous qui lisent le code source UN
54. Numéros à virgule flottante: Dans cette leçon, vous allez
apprendre à représenter des
nombres à l'aide du type de données à virgule
flottante de Python, qui
convient le mieux aux nombres à partie
fractionnaire Comme pour les nombres entiers, vous pouvez créer des nombres à virgule
flottante
en utilisant leur forme littérale La seule différence entre un littéral entier et
un 0,1 flottant est qu'
un littéral à virgule flottante doit avoir une virgule décimale pour séparer la partie entière de la partie fractionnaire Vous n'avez même pas besoin du zéro
final pour déterminer
un
nombre à virgule flottante tant que vous
incluez le
point décimal dans votre De même, vous pouvez
ignorer le zéro initial si votre nombre est une
fraction telle que 0,42 Les nombres à virgule flottante en Python supportent le
même regroupement de numériques que d'entiers à l'aide du caractère de
soulignement Comme vous pouvez le constater, il est possible d' exprimer la même valeur, par exemple 42, en utilisant différents types de
données en Python. La différence réside dans la façon dont
ils le représentent dans la mémoire de
votre entreprise et
dans l'espace qu'ils occupent, ce qui a une incidence sur
les performances et la précision des
différentes opérations. En outre,
vous pouvez définir des littéraux à virgule
flottante en
Python à l'aide de la notation
scientifique
, parfois connue sous le nom notation
exponentielle
ou de notation E. L'idée sous-jacente est de
réduire les zéros répétés en un très grand ou
très petit nombre et de se concentrer uniquement sur les chiffres
significatifs Par exemple, vous pouvez
écrire le même nombre 4,2 fois dix avec une puissance de sept. La lettre E, qui peut
être en minuscule ou en majuscule, représente l'exposant L'exposant lui-même
doit être un entier, mais peut-être négatif, tout comme
le nombre qui le précède Une telle notation peut sembler
étrange ou peu pratique, mais elle peut parfois
faciliter la manipulation de
grands ou de petits nombres
dans les opérations arithmétiques Vous avez peut-être vu
la notation E sur les calculatrices portatives, qui l'utilisent pour représenter des
nombres qui ne
pourraient pas tenir à l'
écran autrement Si vous n'aimez pas cette notation, vous pouvez formater votre nombre à virgule
flottante en utilisant un nombre fixe de décimales, par exemple
huit, pour révéler tous les zéros Comme pour les nombres entiers,
vous pouvez créer des nombres à
virgule flottante de deux manières. Vous pouvez soit utiliser leur
littéral composé de chiffres et de virgule décimale, soit appeler la fonction flottante
intégrée Lorsque vous appelez la fonction
sans aucun argument, elle revient à un nombre à virgule
flottante égal à zéro. Notez que cela est
différent d'un zéro entier. Cependant, dans la plupart des cas, la fonction accepte
un seul argument, qui peut être une chaîne
ou un nombre tel qu'un
entier ou un autre nombre à virgule flottante. C'est pratique pour convertir d'autres types de données en nombres à
virgule flottante. Vous souhaiterez également utiliser la fonction
float pour définir quelques valeurs spéciales
qui n'ont pas représentation
littérale dans le type de données des
nombres à virgule flottante Dans ces cas, vous allez transmettre une valeur de chaîne particulière en
tant qu' argument à la fonction
float. Deux d'entre eux sont l'infini positif
et l'infini négatif. Elles sont utiles comme limites supérieures et
inférieures indépendantes lorsque vous recherchez une valeur maximale ou
minimale, par exemple De manière pratique, vous pouvez comparer l'infini à des nombres réguliers, ce qui donne des résultats judicieux. La troisième valeur spéciale du type de données à virgule flottante est appelée « not a number » ou « NAN ». Vous pouvez l'utiliser pour
indiquer explicitement une valeur manquante. Cependant, il est plus
couramment utilisé par Python lui-même pour signaler une opération
mathématique non définie, telle que la division d'un infini
par un autre infini Il y a une particularité intéressante
à propos de l'absence de nombre, car Python suit
la spécification IE 754
pour l' arithmétique à virgule
flottante Aucun nombre n'est jamais égal à une valeur, pas même à lui-même. Une autre différence à
propos des nombres à virgule flottante lorsque vous les
comparez à des entiers est
qu'ils ont une limite fixe Si vous essayez de trouver une valeur supérieure à la valeur maximale
autorisée, vous obtiendrez une valeur infinie. Comment savoir quelle est
la valeur maximale ? Eh bien, en pratique, cela n'a pas vraiment d'importance
car la plage d' un
nombre à virgule flottante est si énorme qu'elle sera largement
suffisante dans la plupart des cas. Cependant, si vous
voulez vraiment le savoir, vous pouvez utiliser les instructions
suivantes. Dans ce cas, la valeur
maximale est d'environ 1,8 fois dix pour
la puissance 308. N'oubliez pas que ce
chiffre est gravé dans le marbre car les différents interpréteurs
Python peuvent avoir des limites différentes, en fonction de la plate-forme pour
laquelle ils sont conçus En résumé, vous pouvez créer des nombres à virgule
flottante en
Python en utilisant leurs littéraux. Cela doit contenir
un point décimal. Dans le même temps, vous n'avez pas besoin zéros
de fin ou de début dans ces littéraux, seule la virgule
décimale Vous pouvez spécifier des littéraux à virgule
flottante à
l'aide de la notation scientifique
connue sous le nom de notation E, qui vous permet d'exprimer très grands ou très petits nombres à virgule
flottante
très grands ou très petits de
manière concise La deuxième méthode de définition des nombres à virgule
flottante permet à Python de tirer parti de
la fonction flottante intégrée. Lorsque vous appelez la fonction
sans argument, elle renvoie un nombre à virgule
flottante égal à zéro. Cependant, vous allez presque
toujours l'appeler avec un argument pour convertir un autre type de données en nombre à virgule
flottante. Plus précisément, vous pouvez
convertir une chaîne composée de chiffres
décimaux et de
quelques caractères spéciaux tels que le signe moins, ou vous pouvez convertir un entier
ou même un autre nombre à virgule
flottante Il existe également quelques valeurs spéciales à virgule
flottante que vous pouvez obtenir à l'
aide de la fonction float. Il s'agit de l'infini négatif, l'infini
positif
et non d'un nombre. Maintenant que vous
connaissez les nombres entiers et les nombres à virgule
flottante, il est temps d'apprendre comment les
utiliser dans expressions
arithmétiques en
Python
55. Opérateurs arithmétiques et de comparaison: Salut, tout le monde. Voici Andreas. Dans cette conférence,
nous allons en
apprendre davantage sur les opérateurs
arithmétiques, et nous allons donner une douzaine d'exemples
pour les comprendre pleinement. Alors lancez Shell, et
commençons. Les opérateurs nous aident à effectuer les
opérations mathématiques habituelles sur les variables opérateurs arithmétiques
en Python incluent addition, la soustraction,
la multiplication, la division, la division étage, également appelée division
entière, modulo,
exponentiation, positif unaire et négation
unaire J'ai inclus un fichier PDF avec un joli tableau
avec l'opérateur, un exemple, la signification
et le résultat. Vous pouvez l'ouvrir depuis
vos fichiers de ressources. Voici quelques exemples de
ces opérateurs utilisés. A est égal à dix, B égal à trois. Addition A plus B. Le résultat est 13. Soustraction, A moins B. Le résultat est sept,
multiplication, A, multiplié par B.
Le résultat est 30 Division, A, divisez par B. Entrez. Le résultat est
3,333, et cetera L'opérateur de la division
est une barre oblique. Le résultat d'une
division standard est toujours un flottant, même si le dividende est
divisible de manière égale par le diviseur Division d'étage. A, la
division d'étage B est égale à trois. L'opérateur de la
division par étage est la double barre oblique. Le résultat de la
division par étage est le quotien où A est divisé par B, arrondi au
plus petit nombre entier suivant Lorsque le résultat de la
division du sol est positif, c'est comme si la
fraction était tronquée, ne
laissant que la partie
entière Lorsque le résultat est négatif, le résultat est arrondi à l'entier négatif inférieur ou
supérieur suivant. Modulus, A, modulo B est égal à un. L'opérateur de modulo est
le caractère de pourcentage. Le résultat de modulo est
le reste lorsque A est divisé par B. Exponentiation A, l'exposant B est égal à 1 000. L'opérateur de l'explication
est le double astérisque. Le résultat de l'exponentiation est A élevé à la puissance B. En programmation, le signe égal
est appelé signe d'assignation Cela signifie que nous attribuons
la valeur en fonction du côté droit du signe égal à la variable de gauche. De plus, les déclarations
A égal à B et B égal à A ont des
significations très différentes en programmation. Par exemple, ouvrez
l'éditeur inactif et saisissez le code suivant. Exécutons le programme
avec F cinq ou comme menu. Nous devons d'abord le sauvegarder. Et regardez les résultats. A est égal à 20, et B est égal à 20. Bien que A ait une valeur initiale de dix déclarée sur
la première ligne, la troisième ligne A égale à B
attribue la valeur de B à A, modifiant
ainsi la
valeur de A à 20, tandis que la valeur de B
reste inchangée La priorité
des opérateurs mathématiques est cruciale. L'ordre des opérations des opérateurs mathématiques
Python est
similaire à celui des mathématiques. L'opérateur exposant
est évalué en premier. Les opérateurs de multiplication,
de division, de division par étage et de module sont ensuite
évalués,
de gauche à droite Les opérateurs d'addition et de
soustraction sont évalués en dernier, également de gauche à droite Vous pouvez utiliser des parenthèses pour remplacer la
priorité habituelle si nécessaire Passons au
shell interactif pour donner quelques exemples. Le résultat est 13 car la multiplication
est évaluée en premier. Mettons maintenant cinq et deux
entre parenthèses . Le résultat est 28. Comme c'est la parenthèse qui a
le plus de précédents, examinons un autre exemple Le résultat est trois car la parenthèse a la priorité
la plus élevée Cela est donc égal à trois,
et cela vaut cinq, et le résultat final est trois. Ne vous inquiétez pas de la
priorité des opérateurs mathématiques. C'est le travail de Python d'évaluer
certaines parties de l'expression. Si vous avez des questions sur les opérateurs de base, n'
hésitez pas à les poser. Je serais ravie de vous
aider. Merci d'avoir regardé.
56. Opérateurs de comparaison logique (booléen) et enchaînés: Bonjour, les gars, Whatsap ?
Dans cette vidéo, vous allez apprendre
à utiliser les trois opérateurs logiques
les plus critiques dans le cadre de comparaisons de chaînes multiples. Passons donc à la leçon. Si vous souhaitez comparer des valeurs
booléennes, il existe trois
opérateurs booléens et/ou et zéro Les opérateurs logiques not
or et and modifient et
joignent les expressions
évaluées dans contexte
booléen pour créer des conditions
plus complexes Voici le tableau que vous pouvez
également trouver sous forme de fichier PDF. Expliquons ces
opérateurs un par un. L'opérateur and renvoie la valeur true
si toutes les conditions sont remplies. Sinon, la valeur renvoyée sera fausse. Par exemple, l'énoncé trois supérieur à un
et cinq supérieur quatre renverra vrai puisque
les deux conditions sont vraies, mais trois supérieur à
un et cinq inférieur quatre renverra faux puisque l'une des deux
conditions est fausse. L'opérateur or renvoie la valeur true si au moins une
condition est remplie. Sinon, le résultat sera faux. L'énoncé trois
supérieur à un ou cinq inférieur quatre retournera vrai puisque la première condition trois
supérieur à un est vraie. L'opérateur non renvoie vrai si les conditions après
le t sont fausses, sinon il renverra faux. L'énoncé « pas quatre supérieur à cinq »
sera confirmé, car quatre n'est pas
supérieur à cinq. Ainsi, l'opérateur no
évalue simplement à la valeur Bolein
opposée L'une des fonctionnalités intéressantes de Python
est sa capacité à
enchaîner plusieurs comparaisons pour
effectuer un test plus complexe. Les opérateurs de comparaison peuvent être enchaînés
pour être arbitraires Par exemple, tapez cinq
supérieur à trois, supérieur à un, puis entrez. C'est vrai parce que Python
vérifie d'abord si cinq est supérieur à trois, puis
si trois est supérieur à un. Prenons un autre exemple
avec des expressions booléennes qui utilisent des opérateurs de comparaison
dans le shell interactif Un de moins trois et
trois de moins de cinq. Et entrez. Il s'agit
d'une erreur de syntaxe. Pourquoi ? Parce que j'ai tapé et en
majuscules, ce qui est faux. Modifions-le et entrons à nouveau. C'est vrai parce que
les deux conditions entre parenthèses sont vraies J'espère que vous comprenez
les opérateurs booléens. Suivez vos exemples à la maison
pour bien les comprendre. Merci de votre attention,
je
vous verrai lors de la prochaine conférence. Au revoir.
57. Erreur de représentation en virgule flottante: Salut, tout le monde. Dans cette leçon, nous allons découvrir l'erreur de
représentation,
qui affecte la précision
des nombres à virgule flottante dans pratiquement tous les
langages de programmation, y compris Python. Avant d'explorer les nombres à virgule
flottante, il est utile de prendre du recul
et de réfléchir aux nombres à virgule
fixe, qui constituent
l'un des moyens les plus simples de
représenter des nombres réels sur ordinateur. L'idée qui sous-tend
les nombres à virgule fixe est
d'attribuer un nombre spécifique de chiffres à la partie entière et à
la partie fractionnaire Par conséquent, le placement de
la virgule décimale ainsi que le nombre total de chiffres sont connus à l'avance et ne changent jamais Le principal problème d'une
telle représentation est son inefficacité en termes de stockage, qui limite la plage de valeurs que vous pouvez utiliser Remarquez combien d'espace
reste vide en étant rempli de
zéros dans ces exemples Les nombres à
virgule flottante, quant à eux, peuvent s'adapter à la taille du
nombre qu'ils représentent. Dans la
représentation en virgule flottante, la virgule décimale peut
flotter vers la gauche ou vers la droite pour s'adapter à
différentes tailles de nombres. Ainsi, vous pouvez utiliser
l'espace disponible manière
plus efficace
sans gaspiller de mémoire. très grands nombres,
tels que la vitesse de la lumière, n'ont généralement pas besoin de
beaucoup de précision. Il est donc probablement normal d'
allouer plus de mémoire
aux chiffres significatifs tout en échangeant la partie fractionnaire À l'inverse, les nombres plus petits, tels que la taille d'un atome,
bénéficieront de l'
augmentation du nombre de chiffres
fractionnaires en faisant flotter la virgule décimale vers la gauche Tant que vous êtes d'accord
avec l'échange de précision contre la magnitude d'un nombre
et inversement, vous serez en mesure de stocker une énorme gamme de nombres sur une
quantité de mémoire relativement petite. Plus le nombre à
virgule flottante est élevé, sa précision est faible. Dans le même temps, les
petits nombres ont tendance à avoir une
plus grande précision. Vous savez maintenant que les nombres à virgule
flottante doivent leur nom à
la façon dont ils sont représentés dans la mémoire d'un
ordinateur. Il s'agit essentiellement d'une notation
scientifique dans le système binaire avec
quelques fioritures supplémentaires, ce qui les rend exponentiellement efficaces en termes
d'utilisation de la mémoire Malheureusement, le prix d' une
telle représentation est
la perte de la capacité d'exprimer exactement
certains nombres, ce qui peut mener à des résultats très
surprenants, comme ceux que vous pouvez voir
sur la diapositive actuelle. Regardez quelques
exemples dans IDL. Lorsque vous tapez 0.1
plus 0.2 en Python, vous obtenez un résultat assez
proche de ce à quoi vous vous attendiez, mais pas tout à fait correct. Ce
résultat étrange s'explique le
fait que les deux nombres que
vous essayez d'
additionner n'ont pas de représentation
exacte sur le type de données à
virgule flottante, qui n'est qu'une approximation
des nombres réels. Par défaut, Python n'
affiche que les
chiffres les plus significatifs d'un nombre. Pour révéler les autres, vous pouvez formater votre
numéro en demandant, exemple, 100 chiffres décimaux Cependant, le type de
données de flux se limite à 55 chiffres environ. Si vous demandez plus de chiffres, Python
ajoutera des zéros sur
la droite car il n'y a
pas assez d'informations Maintenant, d'où viennent tous ces
chiffres apparemment aléatoires ? Sans trop entrer dans les détails techniques, vous devez vous rappeler
que les ordinateurs conservent tous les nombres du système
binaire en utilisant uniquement des uns et des zéros plutôt que le système décimal à dix chiffres de
0 Lorsque vous convertissez un
dixième ou deux dixièmes système binaire, vous obtenez une chaîne binaire
récurrente
qui se répète C'est un problème familier auquel vous serez également confronté dans le système
décimal Lorsque vous essayez de représenter
un tiers, par exemple, le résultat est 0,3 récurrent car
les ordinateurs ne
disposent pas d'une
quantité infinie de mémoire À un moment donné,
il leur suffit de recadrer la chaîne binaire et d'arrondir les résultats à la valeur
représentable la plus proche D'autre part,
tant que vous restez dans le domaine
du système binaire, vous serez capable de
représenter un nombre
exactement en utilisant un type de données à virgule flottante. Par exemple, un quart
est une puissance de deux, il a
donc une expansion
binaire finie Pareil pour la moitié. Lorsque vous les
additionnez, vous obtiendrez un résultat exact
sans erreur d'arrondissement Pour rappel, un nombre à
virgule flottante n'est généralement qu'une approximation
du nombre réel, peu comme la compression
avec perte dans les images JPEG, par exemple Ne vous inquiétez pas si cela vous
fait tourner la tête. Dans la plupart des
applications d'ingénierie, l'erreur de
représentation en virgule flottante reste dans les limites
acceptables et les résultats
sont satisfaisants Cependant, dans les calculs scientifiques ou
financiers, l'erreur d'arrondissement
devient perceptible Dans ces cas, vous devriez
examiner d'autres types numériques, comme le type décimal
mentionné plus haut dans ce cours OK. Cela étant dit, il est temps d'examiner de plus près les fonctions mathématiques et les méthodes
numériques en Python.
58. Fonctions mathématiques et méthodes de numérotation: Dans cette leçon,
vous allez découvrir les fonctions les plus courantes qui vous
permettent de travailler avec des
nombres en Python. Vous découvrirez également
certains comportements utiles présentés par les nombres entiers et les nombres à virgule
flottante. Sans plus tarder,
plongeons-nous dans le vif du sujet. La première fonction que
vous pouvez rencontrer lorsque analysez des nombres en Python
est la fonction ronde Par défaut, il prend un nombre à virgule flottante et
renvoie le nombre entier le plus proche. Par exemple, passer 2,3 comme argument arrondira le
nombre vers le bas et renverra deux. D'un autre côté, un nombre
tel que 2,7 sera arrondi au chiffre supérieur. Les choses deviennent encore plus inattendues
lorsque votre chiffre se termine par cinq. C'est ce qu'on appelle une égalité
parce que la distance par rapport au nombre entier
le plus proche est exactement la même,
que vous arrondissiez le chiffre supérieur ou inférieur. Python suit une
stratégie selon laquelle les liens de
ce type sont résolus en arrondissant
au nombre pair le plus proche Dans ce cas, ce
chiffre est deux. Cependant, dans le cas de 3,5, le nombre pair le plus proche est quatre. Il s'agit d'un choix conçu
pour minimiser l'impact de l'
arrondissement sur les opérations impliquant de nombreux nombres à virgule
flottante Un autre fait intéressant à propos de la fonction
ronde en Python est que vous pouvez éventuellement lui
passer un deuxième argument, en spécifiant le nombre de
décimales que vous souhaitez arrondir à deux Par exemple, si vous avez
une approximation de Pi, vous pouvez l'arrondir de
deux ou trois décimales Notez que vous
obtenez un nombre à
virgule flottante cette fois, car cinq était le
dernier chiffre de cet exemple. Cela signifie qu'il y a une cravate. Au lieu d'arrondir à l'entier pair le
plus proche, Python examinera l'avant-dernier chiffre pour décider de
la direction d'arrondissement Dans ce cas, deux est le nombre pair le
plus proche. Cependant, cela ne fonctionne pas
toujours correctement. Lorsque vous essayez d'arrondir
un nombre tel que 2,675 à deux décimales, vous vous attendez à obtenir 2,68 car huit
est le nombre pair le
plus Mais lorsque vous
exécutez réellement ce code, vous remarquerez que Python
arrondit vers le bas plutôt que vers le haut. Il ne s'agit pas d'un bogue dans la fonction
ronde elle-même, mais plutôt du résultat de
cette erreur de représentation en virgule flottante que vous avez découverte dans
la leçon précédente. OK. La prochaine
fonction liée aux nombres en Python que vous
voudrez peut-être utiliser s'appelle abs, qui est l'abréviation de valeur
absolue. Il prend un chiffre et renvoie
sa taille sans le signe. Par exemple, la
valeur absolue de 42 est 42. Dans le même temps, la
valeur absolue de -42 est également 42. Vous pouvez appeler la fonction des
applications sur nombres entiers ainsi que sur des nombres à
virgule flottante Quoi qu'il en soit, vous obtiendrez toujours la valeur positive d'un nombre. Cependant, lorsque vous appelez la fonction ABS sur
un nombre complexe, vous obtenez ce
que l'on appelle l'amplitude d'un nombre complexe, qui est calculée à l'aide de
la formule correspondante. Vous allez examiner de plus près les nombres
complexes dans l'une
des prochaines leçons. Voici les
principaux cas d'utilisation de la fonction ABS en Python. Enfin, la troisième et
dernière fonction que vous allez découvrir dans cette
leçon est la fonction d'alimentation. Il fournit un moyen plus
explicite d' augmenter un nombre à
la puissance donnée par rapport au
double astérisque ou à l' opérateur
exponentiel que vous avez
appris auparavant La fonction d'alimentation
prend deux arguments. Le premier est la base ou le nombre à
élever à une puissance. Et le deuxième argument
est l'exposant ou la puissance à laquelle le
nombre doit être augmenté Comme pour l'opérateur
exponentiel, vous pouvez utiliser des exposants et des bases négatifs ou
fractionnaires Bien que les deux méthodes de
calcul
de la puissance d'un nombre en Python
fonctionnent essentiellement de la même manière, la fonction power accepte
un troisième argument facultatif tant que les trois
arguments sont exprimés en nombres entiers Il s'agit d'une notation abrégée pour l'opérateur modulo sur le résultat d'une telle
puissance Vous pouvez l'écrire de manière
plus compacte, en passant la troisième valeur
comme argument facultatif Avant de clore l'exaltation, il convient de mentionner
que les nombres en Python exposent quelques méthodes
utiles, tout comme les chaînes, dont vous vous souviendrez peut-être dans
une section précédente Par exemple, vous pouvez vérifier si un nombre à virgule flottante
contient une valeur entière sans partie fractionnaire en
l'appelant méthode is integer Notez cependant que
pour appeler une méthode en Python,
vous devez utiliser l'opérateur point, qui est également
la virgule décimale dans
les littéraux à virgule
flottante Pour éviter cette ambiguïté, vous pouvez placer votre
littéral numérique entre parenthèses N'oubliez pas qu'un littéral numérique sans point décimal
représente un Si vous
souhaitez être plus explicite,
vous pouvez également attribuer votre
numéro à une variable. Et appelez la méthode sur la variable
plutôt que sur le littéral Dans ce cas, 3,14 n'
est pas un entier, mais oh à trois points l'est Une autre
méthode utile disponible sur les flottants est le ratio entier Ce qui renvoie une paire d'entiers dont le ratio est exactement égal
au flottant d'origine Dans ce cas, les
chiffres sont assez élevés, mais vous pouvez essayer quelque chose
comme les trois quarts pour obtenir un ratio
composé de plus petits nombres. Les nombres entiers ont également
quelques méthodes utiles. Lequel d'entre eux peut vous
indiquer nombre de bits dont vous avez besoin pour représenter un nombre dans
le système binaire. Par exemple, une chaîne
composée de chiffres binaires 10, un, zéro, 10 représente
le nombre décimal 42 Vous avez donc besoin d'au moins six bits pour exprimer
fidèlement le même
nombre dans le système binaire Vous pouvez le confirmer en appelant la méthode de la longueur en bits
sur le numéro 42. Il existe également une méthode de comptage de bits
portant le même nom, qui vous indiquera combien de ces bits sont
réellement activés. La chaîne de bits d'origine
comporte trois uns et 30, la valeur de retour est
donc trois. Pour récapituler ce que vous
venez d'apprendre, Python est livré avec quelques fonctions
mathématiques intégrées pour travailler
avec ces nombres. Elle possède la fonction ronde, qui arrondit un nombre à
virgule flottante
soit à l'entier entier
le plus proche , soit à la
décimale donnée, que vous ne pouvez pas spécifier comme deuxième argument
de la fonction Les égalités sont résolues en arrondissant
au nombre pair le plus proche, mais les erreurs de
représentation en virgule flottante
interfèrent parfois avec le sens d'
arrondissement attendu La fonction AB renvoie la valeur
absolue d' un nombre ou l'amplitude
d'un nombre complexe. La fonction de puissance effectue en grande partie la même opération
mathématique que l'
opérateur d'exponentiation en Python, mais elle fournit également une notation
abrégée pour calculer le modulo
de la Vous apprendrez également que
les nombres
à virgule flottante en Python exposent quelques méthodes, telles que la méthode I integer, qui vérifie si la valeur
est un nombre entier ou non. Le ratio as integer,
quant à lui, renvoie une paire d'entiers dont le ratio est égal au nombre à
virgule flottante Les nombres entiers ont également
leurs méthodes. Par exemple, vous pouvez indiquer nombre de bits dont vous avez besoin
pour les représenter dans le système binaire ou nombre de
bits éclairés. Ensuite, vous allez
apprendre à formater des nombres sous forme chaînes lorsque vous souhaitez
les afficher avec
d'autres textes à l'utilisateur.
59. Nombres formalisés en chaînes: Dans cette leçon, vous allez apprendre à imprimer des nombres avec style. Souvent, vous voudrez
combiner vos chiffres avec du
texte supplémentaire avant de le
présenter à l'utilisateur. Par exemple, vous souhaiterez peut-être
insérer le prix
d'un produit dans
un espace réservé embelli
dans un Traditionnellement, il existe de nombreuses façons de formater
les nombres en Python. Par exemple, vous pouvez appeler
la fonction de format, que vous avez
déjà vue dans ce cours, pour révéler les chiffres décimaux
d'un nombre à virgule flottante Cependant, la plupart des
programmeurs utilisent aujourd'hui les littéraux de chaîne formatés ou les chaînes F de
Python, qui semblent plus simples et offrent
encore Vous pouvez créer une chaîne
formatée en préfixant votre chaîne littérale
normale par une lettre minuscule
ou majuscule F. Dans l'ensemble,
cela fonctionnera comme une chaîne
normale, cela fonctionnera comme une chaîne
normale vous pouvez
donc Par exemple, ce
produit coûte 3,90$. Cependant, contrairement à une chaîne
normale, une chaîne F vous permet
également de spécifier un ou plusieurs espaces réservés
à des valeurs à remplir ultérieurement Supposons que vous souhaitiez
limiter votre
message à de nombreux produits proposés
à des prix différents. Vous pouvez déclarer une variable
auxiliaire avec prix
d'un produit, puis
remplacer la valeur concrète de
votre chaîne F par un
espace réservé en utilisant les crochets et en
insérant le nom Cela a bien fonctionné.
Notez, cependant, que le dernier zéro du prix
du produit
a été réduit à néant Heureusement, ces accolades prennent en charge un
langage de formatage simple que vous pouvez utiliser pour modifier
l'apparence de valeur dans
la chaîne
formatée finale Par exemple, pour afficher le prix en utilisant exactement deux
décimales, vous pouvez ajouter un
spécificateur de format facultatif dans votre Les deux points séparent
une expression à évaluer, telle qu'une variable,
du spécificateur de format Dans ce cas, le
spécificateur est 0,2 F, ce qui arrondit les nombres
à deux décimales près La lettre F indique à Python d'afficher le prix sous
forme de nombre fixe. Si un prix augmente, vous pouvez ensuite insérer des
virgules pour regrouper la partie entière du plus grand
nombre par milliers Une autre fonctionnalité utile
des chaînes formatées en Python est la possibilité de
formater les nombres sous forme de pourcentages Par exemple, si vous avez un nombre fractionnaire
tel que 0,91 23, Python peut l'afficher
automatiquement sous forme pourcentage arrondi
au nombre
de décimales demandé Y Le mini-langage de
mise en forme est puissant et complet. Bien que vous n'ayez vu que
les éléments de base jusqu'à présent, voici quelques exemples supplémentaires. Vous pouvez arrêter la vidéo maintenant
et y jeter un œil
ou consulter les diapositives
PDF qui l'accompagnent plus tard. C'est bon. Dans la leçon suivante, vous allez revoir les
nombres complexes en Python Mais avant cela, faisons un exercice pour bien
saisir la leçon.
60. EXERCICE : afficher un pourcentage: Vous avez presque atteint
la ligne d'arrivée lorsqu' il s'agit de formater
des nombres en Python. Dans ce dernier exercice, vous allez formater
une fraction décimale sous forme pourcentage sans décimales
. Tu as compris. J'ai foi en toi.
61. SOLUTION : afficher un pourcentage: Lorsque vous divisez deux par dix, vous obtenez un
nombre à virgule flottante avec un chiffre décimal Vous pouvez le formater sous forme
de pourcentage en utilisant le pourcentage sinusoïdal comme spécification de
format. Si vous avez suivi, vous pouvez deviner comment
demander zéro décimale C'est exact. Vous ajoutez a.in
zéro au pourcentage sinusoïdal Vous pouvez utiliser la même syntaxe dans un littéral de chaîne F pour
une syntaxe plus compacte OK. Eh bien, cet exercice
n'était pas trop difficile, il est temps de passer à une autre section de
ce cours dans laquelle vous allez interagir avec l'
utilisateur. Merci d'avoir regardé.
62. Nombres complexes: D'accord. Dans cette leçon, vous allez passer en revue certaines des
notions de base relatives à l' nombres
complexes en
Python. Alors plongeons-nous dans le vif du sujet. Les nombres complexes étant rarement utilisés en dehors des domaines
du
calcul scientifique et de l'infographie, ils n'ont été mentionnés que
brièvement dans cette section. Dans le même temps, n'hésitez pas
à sauter cette leçon si vous n'avez aucun intérêt à
travailler avec des nombres complexes. Python est l'un des rares langages de
programmation qui fournit un support natif
pour les nombres complexes. Vous pouvez considérer un nombre
complexe comme une paire composée de la partie réelle
et de la partie imaginaire. Il existe deux manières de créer des nombres
complexes en Python. Vous pouvez soit appeler la fonction
complexe intégrée en passant
ces deux parties en arguments, soit
utiliser une syntaxe spéciale pour définir
un littéral numérique complexe Remarquez la lettre J
à côté du deuxième chiffre, qui indique ce que l'
on appelle l'unité imaginaire. Les mathématiciens
utilisent généralement la lettre I pour désigner une unité imaginaire, mais Python suit une notation utilisée par les ingénieurs pour
éviter de la confondre une minuscule L ou un chiffre qui pourrait
apparaître dans Lorsque vous supprimez l'unité
imaginaire, littéral de votre nombre complexe devient une simple expression
arithmétique régulière, qui ajoute deux Vous pouvez attribuer l'
unité imaginaire à l'un de ces deux nombres
dans un nombre complexe littéral pour indiquer qu'il s'agit de
la partie imaginaire Lorsque vous n'avez que des
nombres imaginaires dans votre littéral, Python les
ajoute et crée un nombre complexe
sans la partie réelle Mais c'est toujours un chiffre complexe. Vous attribuez généralement un nombre complexe à une
variable telle que Z. L'
utilisation de la lettre Z pour
un nombre complexe est une convention historique qui
remonte à Carl Friedrich Tout comme les entiers et les nombres à virgule
flottante, les nombres
complexes ont quelques attributs
et méthodes
intéressants en Python Par exemple, vous pouvez obtenir les composantes
réelles et imaginaires d' un nombre complexe à l'aide de ses attributs
réels et imaginaires. Notez que les parties réelles et
imaginaires sont stockées sous forme nombres à virgule
flottante, même lorsque vous définissez un nombre complexe
en termes d'entiers Vous pouvez également
calculer le conjugué d'un nombre complexe en
appelant sa méthode conjuguée. Un conjugué renverse le signe
de l'unité imaginaire. En fait, tous les nombres en Python, y compris les nombres entiers et les nombres à
virgule
flottante, ont les attributs réel et image ainsi que la méthode conjuguée. Cela n'est pas surprenant d'
un point de vue mathématique car les nombres complexes sont
un sur-ensemble de nombres réels. Pour les nombres ins et flottants, l'attribut réel et la méthode conjuguée
renverront le nombre lui-même, tandis que l'attribut image
sera toujours égal Les nombres complexes prennent en charge tous les
opérateurs arithmétiques que vous avez appris, à l'exception la division entière et de
l'opérateur modulo. Sinon, vous pouvez ajouter
deux nombres complexes. Tu peux les soustraire. Multiplier. Et divisez-les ou portez-en un au pouvoir. Mais vous ne pouvez pas utiliser
la division au sol. Vous ne pouvez pas non plus calculer le
reste d'une division, qui n'est définie que
pour les nombres entiers. En résumé, vous pouvez définir un nombre complexe à
l'aide de la fonction
complexe intégrée ou
du nombre complexe littéral avec la lettre J
collée à la partie imaginaire Vous pouvez également accéder à
vos nombres complexes, attributs et
à vos méthodes pour obtenir la partie réelle, la partie imaginaire, et pour
calculer le conjugué.
63. L'opérateur restant ( % Modulo): En Python, le symbole du pourcentage est l'opérateur restant. C'est ce que l'on appelle l'opérateur du
module. L'opérateur de reste
effectue la division, mais au lieu de
renvoyer le quotient, il renvoie le reste L'instruction suivante en
attribue deux aux restes. Tapons le résultat restant
égal à 17. Tapez le symbole parfait, trois. Imprimons maintenant la
variable restante. Si j'exécute le code, le
résultat sera deux. Cette déclaration attribue
deux aux restes, car 17/3 correspond à cinq avec un
reste Le reste de l'opérateur est
utile dans certaines situations. Il est couramment utilisé dans calculs qui convertissent des
temps ou des distances, détectent des nombres pairs ou impairs et effectuent d'autres opérations
spécialisées. Pour mieux comprendre
l'opérateur restant, nous allons créer un
programme qui obtient le nombre
de secondes de l'utilisateur et le
convertit en nombre de secondes en heures,
minutes et secondes. Par exemple, il convertirait
11 730 secondes en 3 heures, 15 minutes et 30 secondes. Et voici le résultat du programme que nous allons créer. Il est maintenant temps de mettre la
vidéo en pause et d'essayer. D'accord, comment vous êtes-vous entendu ? J'espère vraiment que
tu as bien essayé. Faisons l'exercice
ensemble et écrivons le code. Tout d'abord, je vais
écrire quelques commentaires. Les commentaires jouent un
rôle important dans la programmation. Ils vous permettent, en tant
que programmeur, d' expliquer chaque partie de
ce que fait votre code. Dans la ligne suivante, je vais créer une variable appelée Total des secondes. Je souhaite obtenir un certain nombre de
secondes de la part de l'utilisateur. Convertit la valeur en valeur flottante. Ensuite, il l'affecte à la variable du
nombre total de secondes. Je vais laisser une ligne vide, et à la quatrième ligne,
j'ajouterai un commentaire. Obtenez le nombre d'heures. Entrez. J'ai un total de
secondes de la part de l'utilisateur, et je veux
les convertir en heures. Nommons les heures variables. Il y a 3 600
secondes dans une heure. Cette instruction divise donc
le total des secondes par 3 600. Notez que nous utilisons l'opérateur de
division en nombres entiers. C'est parce que nous
voulons le nombre d'heures sans fraction. C'est le moment idéal pour connaître le nombre de minutes
restantes. Je vais utiliser les minutes variables. Tout d'abord, je vais utiliser l'opérateur de division en
nombres entiers pour diviser le total des
secondes par 60. Cela nous donne le
nombre total de minutes. Ensuite, j'utiliserai l'opérateur de
module pour diviser le nombre total de minutes par 60 et obtenir le
reste de la division Le résultat est le nombre
de minutes restantes. L'étape suivante consiste à obtenir le
nombre de secondes restantes. Nommons la variable secondes. Il y a 60 secondes
dans une minute. Dans cette déclaration, je vais donc utiliser l'opérateur de module pour diviser le total des secondes par 60 et obtenir le reste
de la division Le résultat est le nombre
de secondes restantes. La dernière étape consiste à afficher les résultats à l'aide d'une instruction
d'impression. R :
Tout d' abord, je vais imprimer les heures. Puis les minutes. Enfin, je vais imprimer le second. Il est maintenant temps d'exécuter le code. Python attend que l'utilisateur insère les secondes
qu'il souhaite convertir. Je vais taper 11 730 secondes. Il en va de même
pour la sortie. Ainsi, il est plus facile
de comparer les réponses. Cela fonctionne très bien. J'espère que vous avez compris
l'importance du reste de l'opérateur. Si vous avez des questions, hésitez pas à me le faire savoir.
Merci de m'avoir regardée.
64. Lire les numéros avec la fonction d'entrée: La fonction d'entrée
renvoie toujours l'
entrée de l'utilisateur sous forme de chaîne, même si l'utilisateur
saisit des données numériques Supposons, par exemple, que
vous appeliez la fonction d'entrée. Tapez le chiffre 72 et
appuyez sur la touche Entrée. La valeur renvoyée par une fonction d'entrée
est la chaîne 72. Cela peut poser problème
si vous souhaitez utiliser la valeur dans
une opération mathématique. Les opérations mathématiques ne peuvent être effectuées que sur des
valeurs numériques, et non sur des chaînes Heureusement, Python a
intégré des fonctions que vous pouvez utiliser pour convertir une
chaîne en un type numérique Ces deux fonctions
sont INT et float. Supposons, par exemple, que vous
rédigez un programme de paie et que vous souhaitiez
connaître le nombre d' heures travaillées par l'utilisateur. Regardez le code suivant. La première instruction obtient le nombre d'heures
de l'utilisateur et affecte cette valeur sous chaîne
à la variable de
valeur de chaîne La deuxième instruction appelle la fonction INT en transmettant une valeur de
chaîne comme argument. La valeur référencée par la valeur de
chaîne est convertie en INT et affectée
à la variable heures. Cet exemple illustre le
fonctionnement de la fonction INT, mais il est inefficace car
il crée deux variables Un pour contenir la chaîne renvoyée par la fonction d'entrée et un autre pour contenir
le nombre entier renvoyé par
la fonction INT. Le code suivant montre
une meilleure approche. Cette instruction
effectue tout le travail effectué par
les deux instructions présentées précédemment, et elle
ne crée qu'une seule variable. Cette instruction utilise des appels de fonctions
imbriqués. La valeur renvoyée pour la fonction de sortie est transmise en tant qu'argument à la
fonction INT. C'est ainsi que cela fonctionne. Il appelle la fonction de saisie pour obtenir une valeur saisie
au clavier. La valeur renvoyée
par la fonction d'entrée, une chaîne, est transmise en tant qu'
argument à la fonction INT. La valeur INT renvoyée par la fonction INT est affectée
à la variable heures. Une fois cette instruction exécutée, la variable heures est
affectée à la valeur saisie au clavier
convertie en INT Regardons un autre exemple. Supposons que vous souhaitiez obtenir le taux de rémunération horaire de l'
utilisateur. L'instruction suivante invite
les utilisateurs à saisir cette
valeur à l'aide du clavier, la
convertir en valeur flottante
et à l'affecter à la variable du taux de
rémunération I Voici comment cela fonctionne. Il appelle la fonction de saisie pour obtenir une valeur saisie
au clavier. La valeur renvoyée
par la fonction d'entrée,
une chaîne, est transmise en tant qu'
argument à la fonction flottante. La valeur flottante renvoyée par la fonction flottante est affectée
à la variable de taux de rémunération. Une fois cette instruction exécutée, la variable du taux de rémunération
est affectée à la valeur saisie au
clavier convertie en virgule flottante Pour mieux comprendre
tout cela, faisons un exercice. Supposons que vous souhaitiez
écrire un programme qui demande à l'utilisateur de
saisir son nom, âge et son revenu, puis affiche la valeur saisie par
l'utilisateur. Voici le résultat du programme. Mettez la vidéo en pause maintenant et
terminez ce défi. Très bien, comment vous êtes-vous entendu ? J'espère vraiment
que tu as bien essayé. Faisons l'exercice
ensemble et écrivons le code. Ajoutons d'abord la ligne de
commentaire. La deuxième ligne invite l'utilisateur
à saisir son nom. La valeur saisie est affectée sous forme de chaîne
à la variable name. La troisième ligne invite l'utilisateur
à saisir son âge. La valeur
saisie est convertie en INT et affectée
à la variable d'âge. La quatrième ligne invite l'utilisateur
à saisir ses revenus. La valeur
saisie est convertie en flottante et affectée à
la variable de revenu. Laissons une ligne vide et
ajoutons un commentaire à la sixième ligne. À la septième ligne, nous
affichons le message. Voici les données que vous saisissez. La huitième ligne affiche le
nom saisi par l'utilisateur. La neuvième ligne indique l'âge
saisi par l'utilisateur. dixième ligne affiche
le revenu saisi
par l'utilisateur. Ouais. Les
fonctions INT et float ne fonctionnent que si l'élément en cours de conversion contient une valeur numérique valide Si l'argument ne peut pas être converti dans le type de données
spécifique, une erreur appelée
exception se produit. Une exception est une erreur
inattendue qui se produit pendant l'
exécution du programme et
qui entraîne son arrêt si l'erreur n'est pas traitée
correctement. Par exemple, lancez le programme
et entrez XYZ comme âge. Voici l'erreur
connue sous le nom d'exception. J'espère que vous avez compris comment lire les nombres grâce à
la fonction de saisie. Merci d'avoir regardé.
65. Numéros et mathématiques (RÉSUMÉ): Bon retour, tout le monde.
Dans cette section, vous avez tout appris sur l'utilisation
des nombres en Python. Vous avez vu qu'il existe deux types de nombres de
base, les entiers et les nombres à virgule
flottante, et que Python a également intégré le support des nombres
complexes. Tout d'abord, vous avez vu comment faire de l'arithmétique
de base avec des nombres en utilisant les opérateurs de multiplication plus
moins, de
division et de
division par étage Vous apprendrez à écrire des expressions
arithmétiques et découvrirez les meilleures pratiques
de la PEP 8 pour formatage d'
expressions arithmétiques dans Vous découvrirez ensuite les nombres à virgule
flottante et le fait qu'ils ne sont pas toujours précis
à 100 %. Cette limitation
n'a rien à voir avec Python. C'est un fait de l'informatique
moderne lié à la façon dont les nombres à virgule
flottante sont stockés dans la mémoire d'un
ordinateur. Ensuite, vous avez vu comment arrondir nombres à une
décimale donnée arrondissant et vous avez appris que les
ronds sont égaux à des nombres pairs, ce qui est
différent de la façon dont la plupart des gens apprennent à
arrondir les nombres à l'école Vous avez également découvert de nombreuses manières de
formater les nombres pour les afficher. Enfin, vous avez
découvert le support
intégré de Python pour les nombres
complexes, et nous avons fait une série d'exercices pour bien comprendre les sujets. Je tiens à
vous remercier d'avoir regardé, et je vous verrai
dans le prochain.
66. DÉFI : déterminer un pourcentage: Si vous écrivez un programme qui fonctionne avec le pourcentage, vous devez vous assurer que le pourcentage décimal est au bon
endroit avant faire des calculs avec
le pourcentage Cela est particulièrement vrai lorsque l'utilisateur saisit un
pourcentage en entrée. La plupart des utilisateurs saisissent le
chiffre 50 pour 50 %, 20 pour 20 %, etc. Avant d'effectuer
des calculs avec un tel pourcentage, vous devez
le définir par 100 pour déplacer sa décimale de 0,2
place vers la gauche Passons en revue le
processus d'écriture d'un programme qui
calcule un pourcentage Supposons qu'un commerce de détail
envisage d'organiser une vente dans tout le
magasin, laquelle tous les prix des
articles seront réduits de 20 %. Il faut demander à écrire un
programme pour calculer le prix de vente d'un article une
fois que l'article a été soustrait Voici l'algorithme. Premièrement, obtenez le
prix initial de l'article. Deuxièmement, calculez 20 %
du prix initial. Il s'agit du montant
de la réduction. Troisièmement, soustrayez la réduction
du prix initial. Il s'agit du prix de vente. Quatrièmement, affichez le prix de vente. N'oubliez pas que la sortie doit correspondre exactement à l'exemple
de sortie. Et lorsque vous cliquez sur Exécuter, c' est le résultat que
vous recherchez. Il est maintenant temps de mettre la
vidéo en pause et d'essayer. Très bien, comment vous êtes-vous entendu ? J'espère vraiment que
tu as bien essayé. Faisons l'exercice
ensemble et écrivons le code. À la première étape, nous obtenons le prix
initial de l'article. Nous demanderons à l'utilisateur de saisir ses données sur le clavier. Dans notre programme, nous
utiliserons l'
instruction suivante pour ce faire. Notez que la valeur saisie
par l'utilisateur sera stockée dans une variable
nommée prix d'origine. A à la deuxième étape, nous calculons le montant
de la réduction. Pour ce faire, nous multiplions
le prix initial par 20 %. L'instruction suivante effectue ce calcul et affecte le résultat à la variable d'
escompte À la troisième étape, nous soustrayons la réduction
du prix initial L'instruction suivante
effectue ce calcul et enregistre le résultat dans
une variable de prix de vente. Enfin, à la quatrième étape, nous utiliserons la déclaration
suivante pour afficher le prix de vente. Lancez le programme et fixons un prix de vente
initial aléatoire. Et voici le prix de vente
réduit de 20 %. Génial. J'espère que vous avez réussi à créer le
programme vous-même. Si vous avez des questions, me le faire savoir. Au revoir
67. DÉFI : mesurer une moyenne: La détermination de la
moyenne des groupes de valeurs est un calcul
simple. Additionnez toutes les valeurs, puis divisez la somme par le
nombre de valeurs. Bien qu'il s'agisse d'un calcul
simple, il est facile de se tromper en
écrivant un programme qui
calcule une moyenne Par exemple,
supposons que les variables A, B et C contiennent chacune une valeur et nous voulons calculer la
moyenne de ces valeurs. Si nous faisons preuve de négligence, nous pouvons rédiger une
déclaration telle que la suivante pour effectuer
le calcul Vous voyez l'erreur
dans cette déclaration ? Lors de son exécution, la division
aura lieu en premier. La valeur en C
sera divisée par trois. Le résultat
sera ensuite ajouté à A plus B. Ce n'est pas la bonne façon
de calculer une moyenne. Pour corriger cette erreur, nous devons placer
A plus B plus C
entre parenthèses , comme indiqué ici Passons en revue
le processus d' écriture d'un programme qui
calcule une moyenne Supposons que
vous ayez passé trois tests dans votre
cours d'informatique et que vous souhaitiez un programme qui affiche la moyenne des résultats des tests. Voici l'algorithme. Un, obtenez le premier score au
test, deux, obtenez le deuxième score au test, trois, obtenez le troisième score au test. Quatrièmement, calculez la
moyenne en additionnant les trois résultats du test et
en divisant la somme par trois. Afficher la moyenne. N'oubliez pas que la sortie doit correspondre exactement à la
sortie de l'écran. Et lorsque vous appuierez sur Exécuter, ce sera le résultat que
vous recherchez. Il est maintenant temps de mettre la
vidéo en pause et d'essayer. Bien, comment vous êtes-vous entendu ? J'espère vraiment
que tu as bien essayé. Faisons l'exercice
ensemble et écrivons le code. Ajoutons d'abord quelques commentaires. Au cours des étapes 1, 2 et 3, nous demanderons à l'utilisateur de
saisir trois résultats de test. Nous stockerons les résultats de ces
tests dans les variables Test one. Testez deux. Dans le troisième test. À la quatrième étape, nous
calculerons la moyenne
des résultats des trois tests. Nous utiliserions l'
instruction suivante pour effectuer le calcul et enregistrer le résultat dans la variable
moyenne. Enfin, à la cinquième étape, nous affichons la moyenne. Lancez le programme. Entrez le premier
résultat du test, par exemple 90. Entrez le
résultat du deuxième test, par exemple
80, entrez le troisième
score du test, par exemple 100. La note moyenne est de 90. J'espère que vous avez compris comment fonctionne la
moyenne en Python. Merci de votre attention, je vous
verrai dans la prochaine leçon.
68. DÉFI : transformer une formule mathématique en une instruction de programmation: Supposons que vous souhaitiez déposer une certaine somme d'argent sur un compte d'épargne et le
laisser tranquille pour percevoir des intérêts pour
les dix prochaines années. Au bout de dix ans, vous aimeriez avoir
10 000$ sur votre compte Combien devez-vous déposer
aujourd'hui pour que cela se produise ? Vous pouvez utiliser la
formule suivante pour le savoir. Les termes de la
formule sont les suivants. P est le présent futur ou le montant que vous
devrez déposer aujourd'hui. F est la valeur future de ce que
vous voulez voir apparaître sur le compte. Dans ce cas, F est de 10 000$. R est le taux d'intérêt annuel. Et c'est le nombre d'
années que vous
devez prévoir pour que l'argent
reste sur le compte. Il serait pratique d'écrire un programme informatique pour effectuer ce calcul, car nous
pourrons alors expérimenter différentes
valeurs pour les variables. Voici un algorithme
que nous pouvons utiliser. Premièrement, obtenez la valeur
future souhaitée,
deuxièmement , obtenez le taux
d'intérêt annuel. Troisièmement, obtenez le nombre d'années pendant lesquelles l'argent
restera sur le compte. Quatrièmement, calculez le montant qui devra être déposé. Cinq, affichez le résultat
du calcul à l'étape quatre. Il est maintenant temps de mettre la
vidéo en pause et d'essayer. Bien, comment vous êtes-vous entendu ? J'espère vraiment
que tu as bien essayé. Faisons l'exercice
ensemble et écrivons le code. Tout d'abord, je vais
écrire quelques commentaires. Dans la ligne suivante, je vais créer une variable appelée valeur future. Je souhaite obtenir la valeur
future souhaitée auprès de l'utilisateur. Convertit la valeur en valeur flottante, puis l'affecte
à la future variable de valeur Je laisse une ligne vide et à la quatrième ligne,
j'ajouterai un commentaire. Obtenez le taux
d'intérêt annuel, entrez. Dans la ligne suivante, je vais
créer une variable appelée taux. Je souhaite obtenir le taux
d'intérêt annuel de l'utilisateur. Convertit la valeur en valeur flottante, puis l'affecte
à la variable de taux Je vais laisser une ligne vide. Ajoutons maintenant un commentaire. Ensuite, je vais créer
une variable appelée années. Ensuite, je vais créer une variable appelée années. Convertissez-le en entier et demandez à l'utilisateur le nombre d'
années pendant lesquelles l'argent augmentera. Maintenant, il a commencé à convertir
la formule en ligne de code. Calcul du montant
nécessaire pour déposer. Ainsi, la valeur actuelle
est égale à la valeur future. Divisé par 100 % plus le taux d'intérêt
annuel. Tout cela au fil des années. La dernière étape dont nous avons besoin est la valeur de la variable de valeur
actuelle. Il est maintenant temps d'exécuter le code. Python attend que l'utilisateur saisisse la valeur future
souhaitée. Tapons 10 000. Ensuite, je vais saisir le taux d'intérêt
annuel. Tapons 0,05, soit 5 %. Enfin, je vais entrer le nombre
d'années, tapez dix ans. Et voici le résultat. Vous devrez
déposer le montant de 6 139$ et de nombreux nombres
décimaux. Cela fonctionne très bien. J'espère que vous avez compris
comment convertir une formule mathématique en instruction
de programmation. Si vous avez des questions, n'
hésitez pas à me le faire savoir. Merci d'avoir regardé.
69. Dates et temps: dates et les heures sont des éléments avec lesquels la plupart des gens ont travaillé un peu. Nous prenons rendez-vous dans le cadre d'événements planifiés pour des dates et des heures précises. La plupart de notre journée tourne autour de l'horloge. C' est donc une bonne idée de regarder comment Python traite l'interaction avec les dates et l'heure, en particulier le stockage de ces valeurs pour une utilisation ultérieure. Comme pour tout le reste, les ordinateurs ne comprennent que les nombres. La date et l'heure n'existent pas. Travailler avec les dates et les heures comme l'un des plus grands défis dans la programmation entre les fuseaux horaires, l'
heure d'été et les différents formats de dates écrites, il peut être difficile de suivre quels jours et heures vous êtes référencement. Heureusement, le module datetime Python intégré peut vous aider à gérer la nature complexe des dates et des heures. Techniquement, cet acte s'appelle l'importation d'un paquet. Et vous en apprendrez plus à ce sujet dans les prochaines leçons. Pour obtenir l'heure actuelle, vous pouvez simplement taper la date importante, heure, la date, le point horaire, le point datetime. Maintenant, vous voyez la date complète et les informations d'heure se trouvent sur l'horloge de votre ordinateur. Vous avez peut-être remarqué que la date et l'heure sont un peu difficiles à lire dans le format existant. Voyant que vous voulez simplement obtenir la date actuelle en utilisant la commande string dans un type de format lisible. Maintenant, c'est beaucoup mieux. Datetime fournit trois classes qui composent l'interface de haut niveau que la plupart des gens utiliseront. Dateheure. Date est une date idéalisée qui suppose que le calendrier grégorien s'étend infiniment dans le futur et le passé. Cet objet stocke l'année, mois et le jour en tant qu'attributs. Datetime, pas le temps est un temps idéalisé qui assure qu'il y a 86 400 secondes par jour sans secondes bissextiles. Cet objet stocke l'heure, seconde
minute microseconde et l'information z, les informations de fuseau horaire. Datetime dot datetime est une combinaison de date et d'heure. Il a tous les attributs des deux classes. Tout d'abord, vous devez importer les trois classes principales de DateTime en utilisant le code suivant. Maintenant, vous pouvez utiliser certaines méthodes pour créer des instances de jour. Il existe deux méthodes qui ne vous obligent pas à utiliser des entiers pour spécifier chaque attribut, mais vous permettent plutôt d'utiliser d'autres informations. jour le jour crée une instance de date de point datetime avec la date locale actuelle. Le point Datetime crée désormais une instance de jour de point datetime avec la date et l'heure locales actuelles. Jetons un coup d'oeil à quelques exemples. Je vais utiliser le point de date aujourd'hui et le point date-heure maintenant pour créer des instances d'objets date, datetime et heure, chaque instance est stockée dans une variable différente. Aujourd'hui est une instance de date qui n'a que l'année, le mois et le jour. Maintenant est une instance datetime qui a l'année, le
mois, le jour, l'heure, la minute, la seconde et les microsecondes. Comme vous pouvez le voir, travailler avec les dates et les heures et la programmation peut être compliqué. Heureusement, vous avez rarement besoin d'implémenter des fonctionnalités complexes à partir de zéro ces jours-ci, car de nombreuses bibliothèques open source sont disponibles pour vous aider. C' est certainement le cas en Python, qui comprend trois modules distincts dans la bibliothèque standard pour travailler avec les dates et les heures. Le calendrier sort, les calendriers et fournit des fonctions à l'aide d'un calendrier grégorien idéalisé. Datetime fournit des classes pour manipuler les dates et les heures. Le temps fournit des fonctions liées au temps où les dates ne sont pas nécessaires. Avec la commande time que vous pouvez utiliser pour obtenir l'heure actuelle, vous pouvez obtenir différentes valeurs pour chacun des composants
qui composent la date et l' heure en utilisant les valeurs du jour, du
mois, de l'année, de l'heure, des minutes, de la
seconde et de la microseconde. Mais c'est hors de la portée de cette leçon. Vous avez appris le concept fondamental de la date et de l'heure. Il est temps pour vous d'appliquer vos nouvelles connaissances trouvées dans les applications du monde réel. Merci d'avoir regardé.
70. What liste: Salut tout le monde, c'est Andreas, et dans cette conférence, vous apprendrez quelles sont les listes et comment commencer à travailler avec l'élément dans une liste. Les listes sont l'une des fonctionnalités les plus puissantes de Python qui vous
permettent de stocker des ensembles d'informations en un seul endroit. Alors qu'est-ce que la liste ? Une liste est une collection d'éléments dans un ordre particulier. Vous pouvez créer une liste qui inclut les lettres de l'alphabet, les chiffres de 0 à neuf,
les noms, les couleurs, tout ce que vous voulez. Vous pouvez mettre n'importe quoi dans une liste. Les listes contiennent des objets complexes tels que des fonctions ou des classes ou même des modules. Les éléments de votre liste n'ont pas à être liés d'une manière particulière. En outre, une liste contient généralement plus d'un élément. Les crochets Python indiquent une liste dans les éléments
individuels de la liste sont séparés par des virgules. Faisons un exemple. Ouvrez l'éditeur et commencez à taper. Nous ferons une liste. Nommez les produits Apple avec quatre éléments. Maintenant, nous allons imprimer la liste. Python retourne sa représentation de la liste, y compris les crochets. Vous pouvez également déclarer une liste sans lui attribuer de valeur initiale. Vous pouvez taper les produits Apple équivaut à deux crochets. Il s'agit d'une liste vide qui ne contient aucun élément. Vous devez utiliser la méthode append pour ajouter des éléments à la liste. Nous en apprendrons plus tard sur la méthode append. Les éléments de la liste sont accessibles par un index. Pour ce faire, vous nommez la liste, puis à l'intérieur d'une paire de crochets, vous utilisez un numéro d'index, comme ce que je montre ici, qui permet d'accéder à des éléments individuels dans la liste. L' indexation de cette liste est basée sur 0. Donc, si vous avez une liste comme celle-ci avec ces six éléments, les indices commencent par 0 et nous allons aller jusqu'à cinq. Par exemple, directement dans le shell. Le résultat est iPhone car 0 est la première valeur de la liste. Maintenant tapez. Et le résultat est iCloud car l'index trois est la quatrième valeur de la liste. Si vous essayez d'accéder à l'index qui est au-delà de la portée, vous obtiendrez l'index hors de portée. En outre, le tranchage est également disponible pour. Slicing est une syntaxe d'indexation qui exprimera une partie de votre liste. Donc, dans cet exemple, si a est votre liste qu'à l'intérieur des crochets, vous devrez indexer des nombres séparés par un deux-points, et il va retourner une partie de cette liste que nous allons commencer par la position m et aller jusqu'à, mais sans inclure l'index n en utilisant ce même exemple d'avant. Et si vous avez pris un 225, vous obtenez trois objets au milieu, commençant à l'index deux et allant jusqu'à l'index quatre, mais pas cinq. Un raccourci est disponible en omettant le premier index. Votre tranche va commencer au début de la liste et aller jusqu'au deuxième index. Si vous omettez le dernier index, il va étendre les diapositives
du premier index et aller jusqu'à la fin de la liste. Et si vous deviez omettre les deux index, il va retourner une copie de la liste entière. Et contrairement à une chaîne, c'est une copie, pas une référence au même objet. Il est possible d'ajouter un troisième index après deux points supplémentaires. Ce troisième index indique une foulée, mais on l'appelle aussi parfois un timbre. Donc, dans cet exemple, si vous ajoutez une tranche qui est passée de 0 à six avec un pas de deux, vous retournerez l'objet à l'index 024. Alternativement, vous pouvez accéder aux valeurs d'une liste à l'arrière. Le dernier élément de cette liste a un index de moins un. Le second a un indice de moins deux et ainsi de suite. Droit ? Et le Python répond iCloud parce que c'est le, le dernier élément. Vous pouvez également affecter une liste ou une partie de celle-ci à un type de variable. Ainsi, les produits variables deviennent iPhone, iPad, Mac Air, iCloud. Maintenant, si vous tapez, le résultat est iPad virgule MAC air, parce que vous affectez des éléments avec l'index un à l'index trois moins un. La notation un à trois est également connue sous le nom de tranche. Chaque fois que nous utilisons une notation de tranche en Python, l'élément au début de l'index est toujours inclus, mais l'élément à la fin est toujours exclu. En d'autres termes, la notation 1-2-3 fait référence aux éléments de l'index deux, index quatre moins un, qui est l'index trois. Il y a aussi une notation de tranche plus complexe qui comprend un troisième nombre connu sous le nom de pas à pas, mais nous allons l'ignorer pour l'instant. Une fonction importante est d'ajouter si vous voulez ajouter des éléments à une liste, par
exemple, avec cette ligne de code, vous pouvez ajouter la valeur iPod à la fin de la liste, imprimer la liste et voir le résultat. Si vous souhaitez supprimer des éléments d'une liste, vous utiliserez l'instruction delete. Supposons que vous souhaitiez supprimer l'article iPad, qui est en position un. Type. Entrez un iPad n'existe pas. Les listes sont cruciales dans la programmation Python. C' est une fonctionnalité en Python que nous allons voir plusieurs fois. Et c'est crucial si vous allez créer des programmes et des projets en Python. Dans la prochaine conférence, nous allons plonger plus profondément dans les listes. Si tu as besoin de quoi que ce soit, je serai ravi de t'aider. Merci d'avoir regardé.
71. Travailler avec des listes: Bonjour tout le monde. Aujourd'hui, nous allons continuer à travailler avec les listes. Voyons donc quelques autres fonctions. Lorsque vous travaillez avec une liste. Si vous voulez combiner deux listes, vous allez utiliser la fonction étendue, ouvrir l'éditeur et écrire le programme suivant. Exécutez-le, et regardez la nouvelle liste. Super. Pour mieux comprendre comment cela fonctionne, copions le code du programme et collez-le dans Python Tutor.com. Cliquez sur Démarrer, visualisez votre code maintenant. Et c'est comme la version trois de Python. Collez le code et cliquez sur le bouton et visualisez l'exécution. Regarder tout le travail étape par étape. Si j'appuie sur le bouton avant, je vais passer à l'étape suivante et voir la sortie du côté droit. La première ligne crée les produits Apple une liste avec trois éléments à l'intérieur de l'iPhone, iPad et iPod avec l'index 012. En appuyant sur le bouton avant, la deuxième ligne de code est exécutée. Il crée les produits Apple à mettre en vente avec trois éléments, iCloud, iOS et Air Mac avec l'index 012 exécutant la troisième ligne, produits
Apple un est étendu avec les produits Apple pour lister les composants. Donc, si j'imprime la liste un, la sortie sera ces six composants. Assez droit, non ? Fermez le site Web. D'accord ? Supposons maintenant que vous vouliez vérifier si un élément est sur un type de liste. Faux, bien sûr, le bureau n'est pas sur la liste. Certes, iOS est n, la liste. Pour ajouter un élément à une position particulière, nous allons utiliser la fonction d'insertion. Prenons un exemple, en ajoutant le bureau à l'intérieur de la liste des produits Apple. Deux est le numéro d'index, entrez et imprimez à nouveau la liste. Très gentil. Supprimer la fonction, supprime un élément de la liste, nécessite la valeur d'un élément comme paramètre. Faisons un exemple. Tapez et entrez, imprimer un Air Mac ont été supprimés de la liste. Enfin, si vous souhaitez trier une liste par ordre alphabétique ou numérique, vous utiliserez le type de fonction de tri. Et nous avons une liste triée. Bien sûr, ce n'est pas la meilleure liste pour comprendre si elle est triée ou non. S' il vous plaît exercer ces fonctions et si vous avez des questions, s'il vous plaît laissez-moi savoir. Merci de regarder et je vous verrai dans la prochaine leçon sur la façon de faire des listes numériques.
72. Faire des listes numériques: Bienvenue à cette leçon et merci de l'avoir fait jusqu'à présent. Passons maintenant à la façon de faire des listes numériques. Les listes sont idéales pour trier des ensembles de nombres dans Python fournit plusieurs outils pour vous aider à travailler efficacement avec des listes de nombres. Une fois que vous aurez compris comment utiliser ces outils efficacement, votre code fonctionnera bien. N' oubliez pas que pour stocker un ensemble de nombres, nous avons beaucoup d'applications allant de suivre scores élevés
d'un joueur à stocker les températures, les populations, etc. fonction de plage de Python est bénéfique et facilite la génération d'une série de nombres. La fonction range génère une liste de nombres et a la plage de syntaxe start et cou-de-pied. Si vous voulez faire une liste de nombres, vous pouvez convertir les résultats de la plage directement en une liste à l'aide de la fonction de liste. Lorsque vous enroulez une liste autour d'un appel à la fonction de plage, la sortie sera une liste de nombres. Faisons un exemple. Ouvrez l'éditeur et tapez. Exécutez le programme. La nouvelle liste de 1 à 9 apparaît à l'écran. Notez que si l'étape n'est pas donnée, une liste de nombres consécutifs sera générée comme la liste ci-dessus, la valeur finale doit être fournie. Cependant, une chose étrange à propos de la fonction de plage est que la valeur n donnée ne fait jamais partie de la liste générée. Pour imprimer les nombres un à dix, vous devez utiliser la plage 1 virgule 11. Nous allons apprendre à combiner les fonctions de boucle avec plage et à créer des listes plus compliquées lors de conférences ultérieures, comme une liste des dix premiers nombres carrés. Merci d'avoir regardé.
73. Imprimer des listes: Python fournit beaucoup de façons de produire des informations. Voyons seulement quelques-unes des méthodes les plus basiques pour sortir des listes. Prenez le code suivant dans l'éditeur. Ici, j'ai essayé de lister avec quatre compagnies automobiles à l'intérieur. Maintenant, nous allons imprimer la liste. Cet exemple utilise l'opérateur splat. C' est le symbole astéroïde, également appelé opérateur d'expansion positionnelle, et un assortiment d'autres termes intéressants pour décompresser la liste et envoyer chaque élément à la méthode d'impression un élément à la fois. L' argument sep nous indique comment séparer chacune des sorties imprimées, s'appuyant sur un nouveau caractère de ligne. Dans ce cas, exécutez le code et voyez le résultat. Python affiche la liste un élément à la fois. Maintenant, supprimez la ligne d'impression et ajoutez la ligne suivante dans le code. Cette ligne de code prend deux lignes de code et la place sur une seule ligne. Il montre également la jeunesse de la méthode r just, ce qui justifie la chaîne. Les boucles for sont un élément important du langage Python. Et j'ai toute une section dédiée aux boucles, exécutez le code. Regarde ça. Il a aligné le contenu avec la marge de droite. Ok, maintenant remplacé la dernière ligne de code par la suivante. Dans ce cas, la sortie est formatée avec les méthodes de format point avec texte
d'accompagnement et le résultat n'inclut pas tous les membres des voitures. L' entrée 01 représente les espaces réservés pour la valeur fournie par les wagons. Exécutez le code pour voir qu'il apparaît avec l'entrée 0, qui est Toyota, et l'entrée qui est BMW. Merci d'avoir regardé.
74. Tuples: tuples sont identiques aux listes à tous égards, à l'exception de quelques notes suivantes. tuples sont définis en plaçant les éléments entre parenthèses au lieu de listes similaires en utilisant des crochets. On dirait quelque chose comme ça. L' autre chose importante est que les tuples sont immuables. Alors pourquoi utiliseriez-vous un tuple au lieu d'une liste ? Lorsque vous exécutez des programmes avec des tuples par rapport aux listes, l'exécution sera plus rapide lorsque vous manipulez le tuple. Cela ne sera probablement pas perceptible lorsque vous avez une petite liste ou un petit tuple. Mais si ce sont les grands tableaux d'informations, vous commencerez à voir une différence de performance. Il y a des moments où vous ne voulez pas que vos données soient modifiées. Si vous avez des valeurs dans le cadre de la collection et leur mentor est resté constant pendant toute la durée du programme, l'utilisation d'un tuple va se protéger contre toute modification accidentelle. Et je sais que les dictionnaires Python ne sont pas au centre de cette leçon. Vous apprendrez que les clés pour créer un dictionnaire Python nécessitent qu'il existe un type immuable. Donc, dans ce cas, vous devriez utiliser quelque chose d'immuable comme un tuple au lieu de liste. Si vous cherchez à utiliser une séquence pour la clé pour définir un tuple. Au lieu d'utiliser des crochets pour une liste, vos objets seront contenus entre parenthèses. Voilà t, qui est un tuple. Et en accédant à t, mon indexation fonctionne de la même façon en introduisant le découpage. Et vous pouvez voir ici qu'il retourne un tuple, même faire des progrès. Et l'un de vous utilise la foulée négative préférée. Et vous pouvez le voir ici revenir entre parenthèses, ces tuples et juste noter, oui, vous utilisez toujours le même style d'indexation des crochets. Qu' est-ce qui est si différent ? Eh bien, vous ne pouvez pas le modifier. Donc, si vous allez essayer de prendre l'index deux et l'affecter à quelque chose, vous allez soulever cette exception d'une erreur de type. L' objet Tuple ne prend pas en charge l'attribution d'élément. Si vous deviez créer plusieurs objets ici, et ils peuvent être de nouveau de types différents, et vous alliez simplement les énumérer et mettre une virgule entre chacun. Vous verrez que cela se présente comme un tuple. Et en fait, si vous alliez commencer une parenthèse de fin avec rien dedans et vérifier le type dessus. Ce que vous auriez là comme un tuple vide. Maintenant que se passe-t-il,
si vous essayez de créer un tuple singleton ? Vous dites que T est égal au numéro deux entre vos parenthèses. Eh bien, vous pouvez voir ici que T n'a pas les parenthèses autour. Et si vous regardez son type, c'est juste un entier. Puisque les parenthèses sont également utilisées pour définir la priorité de l'opérateur pour les expressions, python évaluera l'expression de seulement deux entre parenthèses comme simplement l'entier deux et créera un INT. Si vous voulez vraiment dire que c'est un singleton, Vous devrez faire une étape supplémentaire, qui consiste à inclure une virgule de fin qui serait alors considéré comme un tuple. Il est probablement rare que vous ayez besoin de définir un tuple singleton. Mais si vous le voyez dans un exemple, maintenant vous êtes prêt. Ensuite, nous allons plonger un peu plus profondément dans la tâche de tuple avec emballage et déballage.
75. Affectation, emballer et dégrouper: Dans cette vidéo, je vais vous montrer la tâche de tuple à travers l'emballage et le déballage. Un tuple littéral contenant plusieurs éléments peut être affecté à un seul objet, comme l'objet exemple ici, T. Affecter cet objet compressé à un nouveau tuple, décompresse les éléments individuels dans les objets que le nouveau tuple, avec déballage le nombre de variables à gauche doit correspondre au nombre de valeurs à l'intérieur du tuple. Laissez-moi vous faire explorer ça avec du code. Comme vous l'avez vu dans la vidéo précédente, vous pouvez créer un tuple juste en tapant les objets dans un ensemble de parenthèses, puis cela va les emballer tous là dans cet objet unique. Encore une fois, vous pouvez y accéder via l'index. Voici une idée intéressante. Vous pouvez créer un autre tuple d'objets, dans ce cas S1, S2, S3, S4, et pourrait l'affecter au tuple que vous avez créé. Un moment pour aller, t. Maintenant S1, S2, S3 et S4 auront décompresser ce tuple pendant cette affectation et les placer dans les objets appropriés. Maintenant, il est important qu'ils aient le même numéro des deux côtés de cette affectation. Si vous essayez de l'assigner à S1, S2, S3 égal à t, vous allez déclencher une exception ici comme une erreur de valeur, il y a trop de valeurs à décompresser. Il s'attendait à trois de ce côté-ci et t, comme vous le savez ,
a encore une fois, voici t. Et si vous alliez avec trop ? Eh bien, dans ce cas, il s'attendait à obtenir cinq, mais T seulement prévu pour l'emballage et déballage pourrait être fait dans une seule déclaration si vous le voulez. Et ils sont là. On fait des devoirs comme ça. Il y a une poignée de situations où Python vous permettra d'ignorer les parenthèses. Et la même chose avec le déballage. Vous pouvez même faire quelque chose comme ça où les deux côtés n'ont pas de parenthèses. Même créer ce Singleton. Cela fonctionne de la même manière que les parenthèses soient incluses ou non. Donc, si vous avez des doutes quant à savoir s'ils sont assignés, allez-y et incluez-les. attribution de tuple permet un peu de Python idiomatique. Souvent, lors de la programmation, vous avez deux variables dont les valeurs doivent être échangées. Il est nécessaire de stocker l'une des valeurs dans une variable temporaire. Dans la plupart des langages de programmation pendant que le swap se produit, cela ressemblerait à ceci. Donc, vous créez une variable temp, assignez a dedans, assigné B dans a. Et puis dites B est égal à temp. Et là, vous avez échangé les deux. Donc encore une fois, vous faites une variable temporaire qui contient a, prenant b, l'
assignant dans a, puis retirez cette temp en la réaffectant à nouveau. C' est le marais. Mais en Python, le swap peut être fait avec une seule affectation de tuple. Ici, vous allez dire une virgule b égale à b virgule a. Et vous pouvez voir que le swap a eu lieu. C' est tout pour aujourd'hui. J' espère que vous avez apprécié la leçon. Si vous avez des questions, faites-le moi savoir. Merci d'avoir regardé.
76. Travailler avec des dictionnaires: Bonjour les étudiants, voici Andreas, et dans ce tutoriel vidéo, vous apprendrez sur les dictionnaires, ce qui est un excellent moyen d'accéder à une donnée organisée. Si vous avez réussi à combiner des dictionnaires et des listes, vous allez créer une structure de données en Python. Alors commençons. Un dictionnaire est un ensemble de paires de données associées. Les clés de dictionnaire doivent être uniques dans un dictionnaire, vous ne pouvez pas utiliser le même nom deux fois dans notre exemple. En outre, nous utilisons des crochets bouclés lors de la déclaration d'un dictionnaire. dictionnaires sont dynamiques et peuvent être imbriqués. Un dictionnaire peut contenir d'autres dictionnaires ou listes. Un dictionnaire contient ses paires de valeurs de clé entre crochets bouclés. Allez-y et ouvrez votre shell Python, et travaillons sur quelques exemples. Alors allons de l'avant et définissons un dictionnaire et mettons quelques noms ici avec le poids de chacun d'eux. Ouvrez les crochets bouclés et commencez à taper les paires de valeurs clés, nommez et attendez. Le deux-points sépare chaque clé de sa valeur associée. Et rappelez-vous que nous séparons les valeurs des paires de clés par une virgule. Fermez notre dictionnaire avec des crochets bouclés et appuyez sur Entrée. Vous pouvez simplement appeler votre dictionnaire en tapant le nom du dictionnaire et en entrant. Une note rapide ici, comme une version 3.9 de Python, dictionnaires s'afficheront dans un ordre dans lequel ils sont définis. Ce comportement n'existe pas dans les versions antérieures de Python, il peut
donc revenir à un ordre aléatoire. Vous pouvez récupérer une valeur d'un dictionnaire en spécifiant sa clé entre crochets comme celui-ci. Et si vous spécifiez une clé qui n'est pas un dictionnaire, vous obtenez une expression. Donc, ajouter un Andrew à votre dictionnaire
n'est qu'une question d'assigner une nouvelle clé et une valeur. Donc, si nous ajoutons Allen comme clé et les kilogrammes, vous pouvez voir qu'Alan a été ajouté. Si vous souhaitez mettre à jour une entrée, vous suffit d'attribuer la nouvelle valeur à la clé. Pour supprimer une entrée, il
vous suffit de taper la suppression de l'instruction diable et de spécifier la clé. Et John sera parti. Ici, j'ai fait une erreur intentionnelle. Pouvez-vous le trouver ? J' ai donc essayé de supprimer John avec la lettre J et le majuscule, mais à l'intérieur du dictionnaire nous le définissons avec un petit J, comme vous pouvez le voir. Attention, paires
clé-valeur sont sensibles à la casse. Quelque chose d'autre à savoir quand vous travaillez avec les dictionnaires. Et cela peut être déroutant quand vous commencez. Si vous travaillez avec la liste et que vous savez que vous pouvez accéder aux listes d'éléments avec un numéro d'index. Vous ne pouvez pas traiter les dictionnaires de listes. Vous ne serez pas en mesure d'accéder aux valeurs à partir d'un numéro d'index comme celui-ci. Vous obtenez une exception. C' est parce que Python attend une clé liée à ce point. Vous pouvez utiliser des énergisateurs comme clés. Donc, si je commence un nouveau dictionnaire ici, et dans ce cas, nous serons en mesure d'accéder aux valeurs dans un dictionnaire avec une touche 0 ou une, pas un index. Définition d'un dictionnaire à l'aide de crochets bouclés et d'une liste de paires de valeurs clés. C' est bien si vous connaissez toutes les clés et les valeurs à l'avance. Mais que faire si vous voulez construire un dictionnaire à la volée ? Vous pouvez commencer par créer un dictionnaire vide qui est spécifié par des crochets bouclés vides. Ensuite, vous pouvez ajouter de nouvelles clés et valeurs une à la fois. Une fois que le dictionnaire est créé de cette
façon, ses valeurs sont accessibles de la même manière que n'importe quel autre dictionnaire. La récupération des valeurs dans la sous-liste ou sous-dictionnaire nécessite un index ou une clé supplémentaire. Vous pouvez utiliser des dictionnaires à un large éventail de fins, car il y a si peu de limitations sur les clés et les valeurs qui sont autorisées. Merci d'avoir regardé.
77. Séquences: Bienvenue à tout le monde. Dans cette leçon, nous allons en apprendre davantage sur les ensembles. Ils sont une structure de données utile qui vous permet d'effectuer des opérations complexes plus efficacement. Donc, ce qui est un centime en mathématiques est défini est une collection bien définie d'objets distincts. L' ensemble des nombres même positifs inférieurs à dix serait 2468. L' ensemble des carrés parfaits de moins de dix serait 149. L' intersection de ces deux ensembles serait le nombre de. L' un est un ensemble en Python. type d'ensemble intégré de Python a les caractéristiques suivantes. Ils ne sont pas ordonnés, les éléments sont uniques et les éléments en double ne sont pas autorisés. Et un ensemble lui-même peut être modifié, mais les éléments contenus dans un ensemble doivent être hachables. Donc, un objet mutable est un type d'objet qui peut être modifié après sa création. objets hachables, d'autre part, sont un type d'objet sur lequel vous pouvez appeler hachage. Tous les objets immuables sont hachables, mais tous les objets hachables ne sont pas immuables. Python ne peut inclure que des objets hachables. Donc, certains exemples que vous avez probablement vu des objets immuables sont des tuples, des chaînes, des entiers et des booléens. Cela est dû au fait que ces objets peuvent être modifiés après leur création. Et puis les objets hachables englobent en quelque sorte tous les objets immuables. Les listes et les dictionnaires sont sur hashable. Voyons quelques exemples. Alors regardons les cordes. Nous pouvons créer une chaîne comme celle-ci. Et nous pouvons voir que les cordes sont en effet immuables. Essayons de couper le son. Donc, si j'ai essayé d'ajouter un caractère ou de changer la première lettre en un autre caractère, les deux sont une erreur de type. La même chose vaut pour les entiers. Nous pouvons vérifier que les chaînes et les entiers sont tous les deux hachables en appelant la méthode de hachage sur eux. Donc, le hachage sur S n'erreur pas, mais il nous donnera un nombre. Et ce nombre représente juste le hachage de s. Les listes et les dictionnaires sont sur hashable, ce qui signifie qu'il appelle un hachage sur eux nous donne une erreur. Il y a deux façons de définir un ensemble en Python, vous pouvez utiliser la fonction set. Par exemple, nous pouvons passer la liste pomme et banane, qui convertira cette liste qui ne définit avec deux éléments. Notez que l'ordre n'est pas exactement le même que la liste nous avons transmise car les ensembles ne sont pas ordonnés. Voyons ce qui se passe quand on passe dans un dictionnaire. Il va transformer les clés des dictionnaires en un ensemble. Nous pouvons également passer une chaîne qui est, diviser la chaîne en caractères. Et s'il y a des caractères en double, il n'inclura pas ceux-ci car les ensembles ne peuvent pas contenir de doublons. Par exemple, nous pouvons utiliser la fonction de liste avec la même chaîne, en gardant le même ordre de lettres et les doublons. La deuxième façon de définir un ensemble est d'utiliser des crochets bouclés. Si nous voulons un ensemble vide, nous pourrions utiliser un ensemble comme celui-ci. Les ensembles sont vraiment cool car ils peuvent contenir n'importe quelle valeur hachable et le même ensemble n'a pas besoin d'inclure le même type de valeur. Donc, je peux avoir une chaîne de booléen, puis un tuple. Et ça marchera. Oups, c'est vrai avec le capital T. Great. Essayons de passer une valeur non hashable et de voir ce qui se passe. Donc, les listes ne sont pas hachables et c'est une erreur. Donc y cents, quand parfois vous vous
souciez seulement des valeurs uniques et vous n'avez pas besoin de vos données pour être commandées. C' est la différence apparente entre les ensembles et les tuples ou les listes. Vous pouvez également faire quelques opérations fraîches très rapidement. Mais la principale raison pour laquelle nous utilisons des listes est qu'elles sont très, très rapides. Ce que je veux dire par là, c'est que vous pouvez vérifier l'adhésion presque instantanément. Merci beaucoup d'avoir regardé. Et si vous avez des questions ou des commentaires, veuillez les laisser dans le formulaire Q. et a. Udemy.
78. Si les déclarations: Salut tout le monde. Dans ce tutoriel vidéo, vous allez apprendre à écrire des tests conditionnels, ce qui vous permet de vérifier n'importe quelle condition d'intérêt. Vous apprendrez à écrire simplement si des déclarations. Et vous apprendrez à créer une série plus complexe d' instructions
if pour identifier quand les conditions exactes que vous voulez sont présentes. Le bloc suivant l'instruction if s'exécutera. Si la condition instruction est true, les clauses ignorées si la condition est false, une instruction if peut être lue comme si cette condition est vraie. Exécutez le code. L' instruction if se compose du mot-clé, la condition un deux-points, et à partir de la ligne suivante, d'un bloc de code. La structure d'une instruction if est la suivante. Et voici le diagramme de flux. Faisons quelques exemples, ouvrez l'éditeur et écrivez le code suivant. Python nécessite le formatage des blocs avec indentation. C' est très difficile à propos des espaces et de l'indentation. Enregistrez d'abord le programme, exécutez le code et voyez le résultat à l'écran. Python invite les utilisateurs à entrer un nombre compris entre 12. Pour ce faire, nous utilisons la fonction d'entrée. Gardez à l'esprit que le résultat est stocké sous forme de chaîne. Maintenant, si vous tapez un, le programme exécutera la première instruction d'impression. Peut-être taper deux, le programme exécutera la deuxième instruction d'impression. Pour toutes les autres valeurs, le programme imprimera que vous n'avez pas entré un nombre valide. Super. Maintenant, parlons d'une inclinaison si une inclinaison si la déclaration est une forme plus simple d'une déclaration if et son idéal si vous avez seulement besoin d'effectuer une tâche simple. La syntaxe est la suivante. Par exemple, allez dans le programme précédent et supprimez toutes les lignes de code sauf la première. Tapez ensuite la fonction d'impression suivante. Si nous exécutons le programme, nous obtiendrons le même résultat que le précédent, mais avec une ligne de code moindre. Dans la ligne suivante, je vais vous montrer de nombreux exemples différents de l'instruction if dans une application. Merci d'avoir regardé.
79. EXEMPLES d'utiliser l'utilisation si dans une application EXEMPLE d'utiliser la déclaration dans une application: Vous pouvez utiliser les instructions if de plusieurs façons. En Python, un opérateur relationnel détermine comment une valeur du côté gauche d'une expression se compare à la valeur du côté droit des expressions. Fait jamais la détermination et génère une valeur vraie ou fausse qui reflète les expressions valeur vraie. Par exemple, six égal à six est vrai tandis que cinq égal à six est faux. Les étapes suivantes montrent comment créer et utiliser une instruction if. Tout d'abord, définissons une variable appelée mon type de valeur. Ce timbre attribue une valeur de cinq à ma valeur. Notez qu'il utilise l'opérateur d'affectation et non le type d'opérateur d'égalité. Cette étape crée une instruction if qui teste la valeur de ma valeur en utilisant l'opérateur d'égalité. Le mot if est mis en surbrillance dans une couleur différente du reste de l'instruction. Type. Et entrez deux fois. Si vous appuyez deux fois d'affilée sur Entrée sans entrer de texte, le bloc de code est terminé et la sortie est cette phrase. Si je change la valeur de la variable à dix et relance le même code, aucune exécution ne sera effectuée. Aussi si je change la valeur de la variable et après si à 15 et exécute le code, aucune exécution ne sera faite. Parfois, vous voulez effectuer plus d'une tâche après avoir pris une décision, tant que la ligne suivante est indentée, elle fait partie de l'instruction if. Lorsque la ligne suivante est défoncée, elle devient la première ligne d'un code en dehors du bloc if. Un bloc de code se compose d'une instruction et des tâches associées à cette instruction. Je vais mettre deux déclarations imprimées pour comprendre comment ça fonctionne. Entrez deux fois. Chaque ligne que vous tapez fait partie du bloc de code IFStatement actuel. Et si vous appuyez deux fois de suite sur Entrée sans entrer de texte, Python exécute le bloc de code entier pour effectuer plusieurs comparaisons. Si vous créez diverses conditions en utilisant opérateurs
relationnels et les combinez pour l'utiliser et les opérateurs logiques. Par exemple, prenez le code suivant dans l'éditeur Python. Exécutez le code et tapez trois est une valeur. L' instruction if contient deux conditions. Le verset indique que la valeur doit être supérieure à 0. Vous pouvez également présenter cette condition comme une valeur supérieure ou égale à un. La deuxième condition stipule que la valeur doit être inférieure ou égale à cinq. Ce n'est que lorsque la valeur signifie ces deux conditions que les instructions if
réussiront et imprimeront la valeur saisie par l'utilisateur ? Si je prends dix, l'application ne sort
rien parce que le nombre est dans la mauvaise plage. Changeons le code pour fournir une action alternative lorsque la condition d'une instruction if est fausse. Notez que la cause else se termine par un deux-points, tout comme l'instruction if le fait. Si vous recevez une erreur de codage pour une simple application, assurez-vous de vérifier la priorité des colonnes si nécessaire. Exécutez le code et tapez dix. Cette fois, l'application affiche le message d'erreur. Maintenant, essayons de créer une sélection de menu d'un restaurant. Le restaurant propose une salade de pizza pasteur et une panna cotta pour sucré. Après avoir choisi l'un des éléments, le serveur vous l'apporte. La création d'une sélection de menu nécessite quelque chose comme une instruction if else. Toutefois, si l'on utilise la cause du FRV, la cause du FRV est une combinaison de la clause else et d'une déclaration IF distincte. Les étapes suivantes décrivent comment utiliser l'instruction if, e l i f pour créer un menu. Dans chaque cas, les choix comparés à
une valeur particulière pour créer une condition pour cette valeur, si aucune des options n'est correcte, la clause else est exécutée par défaut pour indiquer à l'utilisateur que le choix d'entrée n'est pas valide. Maintenant, je vais exécuter le code. Python attend que j'insère un nombre, imprimant le message, sélectionnez votre menu favori. Je vais mettre le numéro trois et le message apparaît, vous avez choisi la salade, évidemment parce que trois est le menu de la salade. Le processus décisionnel se déroule souvent à des niveaux. Par exemple, lorsque vous allez au restaurant et choisissez des pâtes, vous avez pris une décision de premier niveau. Maintenant, le serveur demande quel type de passé vous voulez. Par exemple, un taureau et oui sont un carbonara. Cette sélection devient une prise de décision de deuxième niveau dans les niveaux chaque niveau se fondant sur la décision prise à un niveau précédent est appelé imbrication. Les développeurs utilisent souvent des techniques d'imbrication pour créer des applications qui peuvent prendre des décisions complexes en fonction de diverses entrées. Les techniques de sélection multiples les plus couramment utilisées sont une combinaison d'instructions if et if else. Cette forme de sélection est souvent appelée arbre de sélection. Le code suivant montre comment créer une arborescence de sélection. Supprimez le code précédent et commencez à taper. Tapez un nombre compris entre 15. Tapons trois. Tapez un deuxième nombre. Maintenant, mettons-en cinq. Le résultat est 15, parce que trois fois cinq nous donne 15. Je vais lancer le code à nouveau et mettre cinq comme premier numéro, et dix est le deuxième numéro. Et il imprime le message deuxième valeur incorrecte. Donc, ça marche très bien. Si vous tentez de fournir une valeur en dehors de la plage demandée, un
message d'erreur s'affiche. Le message d'erreur est adapté pour la première ou la deuxième valeur d'entrée afin de savoir quelle valeur était incorrecte. Dans le cadre d'un exercice de devoirs, essayez de créer un menu de restaurant à l'aide de déclarations de décision imbriquées. Merci beaucoup d'avoir regardé. Et si vous avez des questions ou des commentaires, veuillez les laisser dans le forum Q et Udemy.
80. Pour les boules: Bonjour les étudiants. Jusqu' à présent, nous avons appris que l'instruction if, mais que faire si vous voulez exécuter un bloc de code uniquement en utilisant un certain nombre de fois, vous pouvez le faire avec une instruction for loop et aider la fonction de plage. Et vous apprendrez une nouvelle fonction appelée énumérer. Ainsi, la boucle for exécute le bloc de code à
plusieurs reprises jusqu'à ce que la condition dans l'instruction for ne soit plus valide. En Python, tout peut être bouclé, comme une chaîne, une liste ou un tuple. C' est aussi appelé un terrible. La syntaxe est la suivante. Et voici le diagramme de flux. Faisons un exemple, lancez shell et commencez à taper. Dans ce programme, nous avons une liste de saisons avec quatre articles. L' énoncé des années dans les saisons passe par la liste des saisons et affecte chaque membre à la saison annuelle variable. Lorsque nous exécutons le programme en hiver First Signs à la saison de l'année variable, puis imprime la valeur de l'hiver. Après cela, le programme continue à parcourir
la liste jusqu'à ce que la fin de sa liste soit atteinte. Si vous souhaitez afficher l'index des membres dans une liste, vous pouvez utiliser la fonction énumération. Allons avec la deuxième ligne et relancez le programme. Vous pouvez voir l'index à côté de lui. Chaque article est sur la liste. Si vous avez des questions, veuillez les poster sur le forum de discussion. Pour boucle est un concept fondamental et je veux que vous le compreniez pleinement. Merci d'avoir regardé.
81. EXEMPLES de l'utilisation de la l'utilisation pour la déclaration: La meilleure façon de voir comment fonctionne une boucle for est d'en créer une. Nous allons faire un exemple qui utilise une chaîne pour la séquence. La boucle for traite chacun des caractères de
la chaîne et tourne jusqu'à ce qu'il manque de caractères. Prenez le code suivant dans l'éditeur. L' exemple commence par créer une lettre
numb variable pour suivre le nombre de lettres qui ont été traitées. Chaque fois que la boucle se termine, lettre num est mise à jour par un. La déclaration for fonctionne à travers la séquence de lettres dans la chaîne et Dreze, et il place chaque lettre à tour de rôle dans la lettre. Exécutons le code, sauvez-le d'abord, la lettre un est un nième, lettre, deux est n, et ainsi de suite. Le programme s'arrête quand il imprime la dernière lettre du nom, et c'est la lettre S. La clause de frein rend la respiration hors boucle possible. Cependant, vous ne placez pas simplement la clause de rupture dans votre code. Vous l'entourez d'une instruction if qui définit les conditions d'émission d'une pause. Dans l'exemple suivant, nous allons laisser l'utilisateur fournir une chaîne de longueur variable. Lorsque la chaîne est supérieure à huit caractères, l'application cesse de la traiter. Supprimons le code précédent et travaillons sur quelques exemples. Exécutez le code et tapez John. Le nom comporte moins de huit caractères et l'imprime. Mais si je tape Alexander, l'application cesse de le traiter. Et voici le message. La chaîne est trop longue. Parfois, vous voulez vérifier chaque élément d'une séquence, mais vous ne voulez pas traiter certains éléments. Les lois de rupture entrent simplement dans la boucle afin que vous ne l'utilisiez pas dans cette situation. L' alternative des lois de rupture que de nombreux développeurs utilisent est la clause continue. Comme pour la clause de freinage, cette clause continue apparaît comme faisant partie d'une déclaration if. Cependant, le traitement continue avec l'élément suivant de la séquence plutôt que de se terminer complètement. Dans l'exemple suivant, Le code refuse de traiter la lettre D, mais traitera toutes les autres lettres dans Andreas est le nom. Appuyez sur F5 pour exécuter le code et voir le résultat. n'y a pas de lettre D dans le mot. Le langage Python inclut le deuxième type de la clause continue. La clause passée fonctionne presque de la même manière que la clause continue, sauf qu' elle permet l'achèvement du code dans le bloc d'instruction if dans lequel elle apparaît. Modifiez le code et utilisez les griffes passées au lieu de continuer et de réexécuter le code. L' utilisation de la clause past permet le post-traitement d'une entrée indésirable. Si je change la position de la déclaration d'impression, j'obtiens des résultats différents. Python a une autre clause de boucle que vous ne trouverez pas avec d'autres langues. La clause else rend l'exécution de code possible si vous n'avez pas d'éléments du processus dans une séquence. Par exemple, tapez le code suivant. Exécutons le code, en
mettant un mot, je vais taper mon nom Andreas, et la sortie est les lettres une par une. Maintenant, je vais exécuter le code sans taper quelque chose et la clause else est exécutée en tapant le message, la chaîne est vide.
82. Bien que les boules: Hé tout le monde. Dans la conférence précédente, nous avons appris la boucle quatre, qui exécute le bloc de code seulement pour un certain nombre de fois. En revanche, la boucle sauvage fonctionne aussi longtemps que ou pendant qu'une certaine condition est vraie. Par exemple, vous pouvez utiliser une boucle while pour compter à travers une série de nombres. Voyons ça en action. Jetons d'abord un coup d'oeil au diagramme de flux. Maintenant, ouvrons l'éditeur inactif et exécutons le code suivant. Exécutez le programme et il affiche les nombres de 0 à trois. Dans la première ligne, nous commençons à compter à partir de 0 en définissant la variable de nombre à 0. La boucle while exécute le programme aussi longtemps que les nombres inférieurs à quatre et imprime chaque nombre avec le num plus une instruction, nous ajoutons un dans chaque boucle. La dernière instruction imprime le message pour nous montrer que le programme est terminé. Donc Python répète la boucle quatre fois et total, parfois une boucle peut être infinie. La boucle devient une boucle infinie si la condition ne devient jamais fausse, vous devez faire preuve de prudence lors de l'utilisation de boucles while en raison de la possibilité que cette condition ne résout jamais à une fausse valeur. Cela se traduit par une boucle qui ne se termine jamais. Une telle boucle est appelée une boucle infinie. Dans l'exemple ci-dessus, si nous supprimons l'instruction num plus une, le test conditionnel, néanmoins que quatre s'exécutera toujours à true et la boucle while s'exécutera pour toujours, imprimant une série de zéros comme ceci. Si votre programme est bloqué dans une boucle infinie, appuyez sur contrôle plus c ou fermez simplement la fenêtre du terminal affichant la sortie de votre programme. Pour éviter d'écrire des boucles infinies, testez chaque boucle sauvage et assurez-vous que la boucle s'arrête quand vous vous y attendez. Il est bénéfique d'exécuter un code de programme aussi longtemps que l'utilisateur le souhaite en plaçant la plupart du programme dans une boucle while, nous allons définir une valeur de sortie et ensuite nous allons garder le programme exécution tant que l'utilisateur n'a pas entré la valeur rapide. Écrivons le code suivant. Et exécutons le code Python. J' ai oublié le côlon ici. Dans un premier temps, Python affiche l'invite et attend que l'utilisateur saisisse son entrée. Tout ce qu'ils entrent est stocké dans la variable myText et imprimé à l'écran. Après cela, Python réévalue la condition dans une instruction while. Tant que l'utilisateur n'est pas entré le mot quit, l'invite s'affiche à nouveau et Python attend la saisie. Lorsque l'utilisateur tape quitter, Python arrête d'exécuter la boucle while et le programme se termine. Merci d'avoir regardé.
83. Pause et poursuivre: Bienvenue à cette leçon et merci de l'avoir fait jusqu'ici. Dans cette conférence, vous apprendrez à des instructions qui peuvent être utilisées à l'intérieur des boucles. Là, les mots clés pause et continuer. Parfois, vous pouvez vouloir quitter la boucle entière avec une condition spécifique est remplie. Pour ce faire, nous utilisons le mot-clé break, l'instruction break en Python termine la boucle actuelle et reprend l'exécution à l'instruction tout comme la panne régulière et voir, l'utilisation la plus courante pour la pause est quand certains condition externe est déclenchée nécessitant une sortie hâtive de la boucle. L' instruction break peut être utilisée dans les boucles while et for. Tapons et exécutons le programme suivant pour voir comment cela fonctionne. Sans le mot-clé break, le programme devrait imprimer les nombres de cinq à un avec le mot-clé break, le programme se termine prématurément au numéro deux. En effet, lorsque le nombre atteint la valeur de un, le mot-clé break provoque la fin de la boucle. Notez que nous avons utilisé une instruction if dans une boucle while. Il s'agit d'une pratique répandue dans la programmation et d'une fonctionnalité robuste au fur et à mesure que nous poursuivons le cours. Ceci est également connu sous le nom d'instruction de contrôle imbriquée. Un autre mot-clé pour les boucles est le mot-clé continue. L' instruction continue en Python renvoie un contrôle au début de la boucle while. L' instruction continue rejette toutes les instructions restantes dans l'itération actuelle de la boucle et déplace le contrôle vers le haut de la boucle. Il peut être utilisé à la fois dans while et pour les boucles comme break. Pour mieux le comprendre, nous remplacerons la commande break par la commande continue. Exécutez le programme. Contrairement à l'exemple précédent, continue rejette l'instruction if et déplace le contrôle vers le haut de la boucle. Aussi le reste de la boucle après le mot-clé est ignoré si nous avions du code, bien sûr. Enfin, il y avait une déclaration passée qui n'est pas une opération. Le passé Dave et aide à créer un bloc de code, mais n'est plus nécessaire. Ce n'est pas si utile et vous devez savoir simplement ce qu'il fait. Rien de plus. Si vous ne comprenez pas complètement, ne vous inquiétez pas, nous allons créer un projet qui inclut les deux instructions. Merci d'avoir regardé.
84. PROJET : Jeu Guessing: Nous allons créer un jeu où l'ordinateur choisit un numéro et le joueur le devine. Dans le jeu de devinettes, Python pense à un nombre aléatoire. Le joueur assume le nombre. La première étape consiste à obtenir un texte d'un utilisateur à l'aide de l'instruction input. Commençons à taper dans l'éditeur. L' invite de variable pointe vers un littéral. Le nom littéral est entre les parenthèses. Je capture ce que l'utilisateur tape avec une variable nommée joueurs devinez entrée renvoie une chaîne, quel que soit le type de joueur, même si c'est juste un nombre, vous allez obtenir une chaîne de l'entrée. Pour comparer les suppositions, vous devez convertir le gaz des joueurs en un nombre. Votre jeu doit vérifier si la supposition est la même que le numéro de l'ordinateur. Dites que l'ordinateur en a trouvé dix. Pour comparer la variable, joueurs devinent le nombre dont vous avez besoin pour stocker la valeur dans une variable appelée numéro de soulignement des ordinateurs. Prenons la variable au début de notre programme. Lorsque vous pouvez comparer la supposition avec la réponse, vous pouvez imprimer une réponse du joueur. Le I N T intégré prend une chaîne qui a un nombre entier et le change en quelque chose que Python reconnaît comme un nombre. Rappelez-vous que chaque fois que vous codez, le deux-points signifie qu'un nouveau bloc de code est sur le point de
suivre sur la ligne après le deux-points et toutes les autres lignes du bloc, vous devez commencer par quatre espaces. Que se passe-t-il si le joueur devine la mauvaise réponse ? Le mot-clé else modifie le fonctionnement du mot-clé if. Il est toujours exécuté en procédant. Si le bloc de code n'est pas exécuté, tapez, exécutez le code et tapez. Le bloc de code fonctionne bien. Maintenant, nous devons montrer aux joueurs si leur supposition est trop élevée ou trop basse. En utilisant le nous mettrons dans le bloc FRV entre le programme et l'énoncé if. Donc, tout le mensonge le message mal. Devinez encore, et je vais le remplacer par les deux hautes. Exécutez le code et tapez 20. Le message à haut apparaît à l'écran. Vous devez toujours configurer quelque chose que l'ordinateur continue de demander si le joueur ne devine pas le numéro. Vous devez le faire en mettant le code qui demande aux joueurs de deviner et de tester sa valeur tandis que la boucle. Ensuite, en utilisant l'instruction break, lorsque la bonne réponse est donnée ceci, sortons de la boucle. Éditons le code. Ici. Nous allons briser la boucle. L' instruction loop vous permet de quitter toute boucle dans laquelle Python se trouve déjà. Indépendamment de la condition des boucles d'enceinte. Si vous avez une boucle à l'intérieur d'une boucle, le frein appliqué à travers le niveau de la boucle dans laquelle le frein apparaît, dans notre exemple, il casse la boucle intérieure, la boucle if. Pour casser la boucle externe, vous devez être dans le bloc de code de la boucle externe. Maintenant, comment obtenir Python pour penser à un nombre, la fonctionnalité entière aléatoire, ces
droitiers du module Random, il vous donne un nombre aléatoire entre deux chiffres que vous mettez dans la parenthèse qui suit Randint. Le nombre inclura le nombre le plus bas ou le plus élevé. Si vous voulez un nombre compris entre 110, utilisez random.random un à dix. Le module aléatoire est livré avec Python, mais contrairement aux intégrés qui ne sont pas chargés automatiquement, le module aléatoire fait partie de la bibliothèque standard python. Si vous en avez besoin, vous devez l'importer. Pourquoi Python ne peut-il pas simplement charger automatiquement tout ? Parce que cela rendrait la programmation ennuyeuse. Chaque fois que vous exécutez un programme, vous devez peser le mur qu'il trouve dans chargé tous les modules de la bibliothèque standard. En plus de vous donner accès à la bibliothèque standard, l'instruction importante vous permet également d'utiliser le module que quelqu'un d'autre a écrit appelé modules tiers. Pour les utiliser, vous devez les télécharger et les installer sur votre ordinateur. J' ai une section entière avec des modules plus tard dans le cours. Ajoutez donc ces deux lignes de code dès le début. J' ai édité la ligne de code avec la variable numérique de l'ordinateur et mis un nombre de un à 50. Nous avons terminé notre jeu de devinettes et sommes prêts à le tester, exécuter le programme. Ça fonctionne très bien. Félicitations, vous venez de créer votre premier jeu en utilisant la programmation Python. Gardez à l'esprit que vous pouvez écrire des commandes dans votre code comme une brève explication de ce que le code est censé faire.
85. Utiliser si vous utilisez des if avec des listes: Hé les gars, qu'est-ce qui se passe ? Dans cette vidéo, vous apprendrez à utiliser les instructions if avec des listes. Vous pouvez facilement combiner une liste et une instruction if. La meilleure façon de comprendre la combinaison est à travers un exemple. L' exemple suivant, pour trouver la liste des achats dans un supermarché. Ouvrez l'éditeur de texte et commencez à taper. Au début, nous définissons la liste avec notre liste d'achats lorsque le programme attend que l'utilisateur saisisse le produit qu'il veut. Si l'élément demandé figure dans la liste avec les éléments disponibles, Python imprime un message indiquant que le produit est disponible. Le bloc else imprime un message indiquant l'utilisateur que ce type de produit n'est pas disponible. Donc, à partir de l'exemple ci-dessus, nous avons réussi à résoudre un problème combinant les instructions if et les listes. Merci d'avoir regardé.
86. Utiliser pour les boules avec des listes: Hey tout le monde, dans la conférence précédente, nous avons appris sur la boucle for. Nous utilisons pour les boucles pour exécuter un bloc de code un certain nombre de fois. Je veux vous montrer maintenant la combinaison de boucles pour avec des listes. Ouvrons l'éditeur Python et commençons à taper le programme suivant contenant une liste de médecins à l'hôpital. Techniquement, un for-loop répète le bloc de code une fois pour chaque valeur d'une liste. Par exemple, si nous l'exécutons, ce programme imprime le type de médecin disponible un par un. Regardez le résultat. Dans la première ligne, nous avons une liste des médecins disponibles à l'hôpital. Ensuite, avec l'aide de la boucle for, nous imprimons le message dans cet hôpital, il y a cette spécialité médecin. Ceci est un exemple simple de la façon dont nous pouvons combiner une liste avec une boucle for-. Merci d'avoir regardé.
87. Utiliser une sloop avec des listes et des dictionnaires: Bonjour aux étudiants et bienvenue au cours que nous continuerons à apprendre à combiner une boucle while avec des listes et des dictionnaires. L' utilisation de la boucle while avec des listes et des dictionnaires vous permet de collecter, stocker et organiser de nombreuses entrées à examiner et à générer des rapports. Plus tard. Dans ce rapport, nous demandons d'abord à l'utilisateur d'entrer un mot de passe. Si le mot de passe est correct, l'application s'ouvrira, mais si le mot de passe est incorrect, un message s'affichera demandant de saisir à nouveau le mot de passe. Exécutons le programme et mettons un mot de passe. Par exemple, 1234. Python nous fait savoir que le mot de passe est incorrect et nous demande d'essayer à nouveau. Maintenant, je vais taper quatre as, qui est le bon mot de passe. Copiez le programme et collez-le dans le site Web de Python Tutor afin que nous puissions le visualiser. Sélectionnez Python trois et collez-le là. Appuyez sur le bouton, visualisez l'exécution. La première ligne est un message simple demandant à l'utilisateur d'entrer un mot de passe. Ensuite, dans la deuxième ligne, Python attend que l'utilisateur tape un code. Le code est stocké dans ma variable de code. Dans la troisième ligne, nous avons un dictionnaire avec le bon mot de passe à l'intérieur de quatre aces. Ensuite, la boucle commence alors que la variable mon code n'est pas égale au bon mot de passe, imprimez un message que le code est incorrect, et demandez à nouveau avec le code, si l'utilisateur tape le code correctement, un message d'impression apparaît avec les textes corrects, et le programme est terminé. Donc, nous pouvons voir que la combinaison de la boucle sauvage avec des listes ou dictionnaires peut créer des programmes puissants. N' oubliez pas d'utiliser ce site Web. C' est une excellente pratique, surtout pour les débutants absolus. Merci d'avoir regardé.
88. Créer des piliers à l'aide de l'utilisation de l'des listes: Une pile est un tableau ou une structure de liste d'appels de fonction et paramètres utilisés dans la programmation informatique moderne et l'architecture CPU. Comme une pile d'assiettes dans un buffet, un restaurant ou une cafétéria, les
éléments d'une pile sont ajoutés ou retirés du haut d'une pile est un dernier entré, premier sorti, ou un ordre FIFO. Le processus d'ajout de données à une pile est appelé push lors de la réception de données à partir d'une pile est appelé pop. Cela se produit en haut de la pile. Le pointeur de pile indique l'
ajustement de l'étendue des piles au fur et à mesure que les éléments sont poussés ou pompés dans une pile. Lorsqu' une fonction est appelée, l'adresse de l'instruction suivante est poussée dans la pile. Lorsque la fonction existe, l'adresse est supprimée de la pile et l'exécution continue à cette adresse. Malheureusement, Python ne fournit pas de pile en tant que collection. Cependant, il fournit des listes et vous pouvez utiliser une liste comme une pile parfaitement acceptable. Les étapes suivantes vous aident à créer un exemple d'utilisation d'une liste comme pile. Dans cet exemple, l'application crée une liste et une variable pour déterminer la taille maximale de la pile. Les piles ont généralement une plage de tailles spécifique. C' est certes une pile minuscule, mais elle sert bien pour les exemples de besoins. Les timbres ont fonctionné en poussant une valeur sur
le haut de la pile et les valeurs de saut de la pile supérieure, une fonction en Python et définie par une instruction def. Dans ce programme, j'ai défini trois fonctions. La pile d'affichage, push et pop. Nous allons apprendre tout sur la fonction n'est pas dans une section ultérieure. Sois patient pour l'instant. Les fonctions de la pompe de poussée ont effectué ces deux tâches. Le code ajoute la pile d'affichage pour le rendre plus facile de voir le contenu de la pile est nécessaire. Len est une fonction intégrée en Python, vous pouvez utiliser le len pour obtenir la longueur d'une chaîne donnée, tableau, liste, tuple, dictionnaire, etc. Les exercices de code restants dans la pile montrent sa fonctionnalité en poussant des valeurs dessus, puis en les supprimant. Pour les principales sections d'exercice, les tests, la fonctionnalité de pile, exécutez le code et regardez comment Python remplit le sac avec des informations, puis affiche un affichage à l'écran. La pile contient actuellement trois valeurs, 123, appuyez sur Entrée. L' application tente de pousser une autre valeur sur la pile. Cependant, la pile est pleine, de sorte que la tâche échoue. Appuyez à nouveau sur Entrée. Les pompes d'application de valeur à partir du haut de la pile. Rappelez-vous que trois est le haut de la pile. C' est donc la valeur qui manque. Entrez à nouveau, et l'application tente d'
afficher plus de valeurs de la pile qu'elle contient, entraînant une erreur et une pile est vide. C' est un bon exercice pour visualiser l'exécution de Python Tutor.com étape par étape. Merci d'avoir regardé.
89. Recherche et tri des listes: La possibilité de rechercher une liste est essentielle si vous voulez rendre les tâches de maintenance plus faciles à gérer. Le code suivant vous aide à créer une application qui démontre la possibilité de rechercher des valeurs spécifiques dans une liste. Prenez le code suivant dans l'éditeur. L' exemple commence par créer une liste nommée produits
Apple qui contient les noms de produits Apple. Il crée également une variable nommée produits Apple select pour contenir le nom des produits Apple que l'utilisateur souhaite trouver. L' amplification entre dans une boucle où l'utilisateur est invité à indiquer un nom de produit Apple placé dans les produits Apple. Tant que cette variable ne contient pas le mot quit, elle continue une boucle qui demande l'entrée. Chaque fois que l'utilisateur saisit un nom de produit Apple, l'application demande à la liste de compter le nombre de produits Apple hors devises. Lorsque la valeur est égale ou supérieure à un, la liste contient le produit Apple et un message inapproprié apparaît à l'écran. D' autre part, lorsque la liste n'inclut pas couleur demandée dans
le message alternatif apparaît à l'écran. Sauvegardons et exécutons le code. Python vous demande de taper le nom du produit Apple, taper iPad Entrée et un message vous indiquant que l'iPad existe dans la liste s'affiche. Maintenant, tapez iMac et vous voyez un message vous indiquant que l'iOS n'existe pas. Tapez quit et l'application se termine. L' ordinateur peut localiser les informations dans une liste, quel que soit l'ordre dans lequel elles apparaissent. Les listes plus longues sont plus faciles à rechercher lorsque vous les mettez dans un ordre trié. Cependant, la principale raison de mettre une liste dans l'ordre trié est de rendre plus facile pour l'utilisateur humain de voir la liste d'informations contient. Nous allons faire un exemple qui commence par une liste non triée. Il trie ensuite la liste et la renvoie à l'affichage. Le code suivant montre comment effectuer cette tâche. L' exemple commence par créer une gamme de produits Apple. Les produits Apple sont actuellement dans un ordre non trié. L' exemple imprime ensuite les produits et l'ordre dans lequel ils apparaissent. Notez que l'utilisation d'un argument pour la fonction d'impression permet de s'assurer que tous les produits et les arbres restent sur une seule ligne, ce qui facilite la comparaison. Tri la liste est aussi facile que d'appeler la fonction de tri après l'exemple appelle la fonction de tri qui imprime à nouveau la liste afin que vous puissiez voir le résultat. Exécutez le code. Il s'agit d'une erreur de nom car cet élément est différent de cet élément, mettez majuscule la première lettre. Alors changeons cela aussi. Je vais laisser un espace à l'intérieur de guillemets doubles. Exécutez à nouveau, et Python affiche à la fois les listes non triées et triées. Vous devrez peut-être trier les éléments dans l'ordre inverse à certains moments pour accomplir cette tâche, vous utilisez la fonction inverse. La fonction doit apparaître sur une ligne distincte. Donc, ajoutez la ligne de code suivante ici. Exécutez à nouveau le code et voyez les produits dans l'ordre inverse. Merci d'avoir regardé.
90. Boucle par l'intermédiaire d'un dictionnaire: Hé les gars, qu'est-ce qui se passe ? Dans cette vidéo, vous allez apprendre à faire une boucle à travers un dictionnaire. Ok, allons nous mettre à l'action. Comme vous le savez déjà, un dictionnaire peut contenir des paires de valeurs clés. dictionnaire peut avoir quelques entrées, mais parfois ils contiennent de grandes quantités de données, peut-être des millions de paires. C' est pourquoi il est bénéfique de faire une boucle à travers un dictionnaire. L' exemple suivant que je vais écrire a un dictionnaire avec des noms d'utilisateur et des mots de passe de trois utilisateurs. Je veux imprimer toutes les informations stockées dans le dictionnaire ci-dessus en utilisant un type de boucle pour le code suivant. Examinons le code de la deuxième ligne. La boucle for a besoin de variables qui contiendront le nom d'utilisateur et le mot de passe dans chaque paire. Vous pouvez choisir le nom que vous voulez pour ces deux variables. Après ces deux variables, nous utilisons les éléments de méthode qui renvoie une liste de paires de valeurs clés. La boucle for-stocke chacune de ces paires dans les deux variables fournies. Dans la ligne suivante, nous mettons le nom d'utilisateur et le mot de passe, la barre oblique inverse n. La première instruction d'impression assure qu' une ligne vide est insérée avant chaque paire de valeur de clé dans la sortie. Maintenant, voyez le résultat dans le shell Python. Nous pourrions copier le programme et le coller dans Python Tutor.com si nous voulions le voir en action étape par étape. Super. Merci de regarder et je vous verrai dans le prochain tutoriel vidéo, apprentissage heureux.
91. Remplacer la déclaration de commutateur par un dictionnaire: La plupart des langages de programmation fournissent une sorte d'instruction switch. Une déclaration de commutation fournit des types de menus élégants, des élections. L' utilisateur est plusieurs options, mais est autorisé à choisir seulement l'une d'entre elles. Le programme prend un certain plan d'action basé sur la sélection de l'utilisateur. Voici un exemple d'un autre langage de programmation. Malheureusement, Python ne vient pas avec une instruction switch. Cependant, à l'aide d'un dictionnaire, vous pouvez simuler l'utilisation d'une instruction switch. Prenons le code suivant pour démontrer la technique requise. Chacune de ces fonctions définit une tâche associée à la sélection d'une option de couleur à l'écran. Un seul d'entre eux est appelé à un moment donné. Continuons à taper le code du dictionnaire. Ce code est le dictionnaire. Chaque clé est comme la partie casse d'une instruction switch, la valeur spécifie ce qu'il faut faire. Enfin, nous allons taper l'interface utilisateur fait partie de l'exemple de code. Commence par la création d'une sélection de variable d'entrée. Ensuite, il va dans une boucle jusqu'à ce que l'utilisateur entre une valeur de trois. Au cours de chaque boucle, l'application affiche une liste d'options, puis attend l'entrée de l'utilisateur. Lorsque l'utilisateur fournit une entrée, l'application effectue une vérification de plage sur elle. Exécutons le code. Python affiche le menu qui vous attend pour sélectionner une option de type 0 et entrez l'application qui vous indique que
vous avez choisi le rouge, puis affiche à nouveau le menu. Tapez maintenant trois et appuyez sur Entrée. L' application se termine. Comme toujours, vous pouvez visualiser votre code étape par étape en utilisant Python Tutor.com. Merci d'avoir regardé.
92. Travailler avec l'objet de contre-: Parfois, vous avez une source de données et vous avez simplement besoin de savoir à quelle fréquence les choses se produisent, comme l'apparition d'un élément spécifique dans la liste. Lorsque vous avez une liste restreinte, vous pouvez simplement compter les éléments. Cependant, lorsque vous avez une longue liste, obtenir un comptage précis est presque impossible. Les objets de compteur, comptez les éléments rapidement. Faisons un exemple qui crée une liste avec des éléments
répétitifs, puis compte combien de temps ces éléments apparaissent. Tapez le code suivant. Pour utiliser l'objet compteur, vous devez l'importer à partir de collections. L' exemple commence par créer une liste. Avec des éléments numériques répétitifs. Vous pouvez facilement voir que certains éléments apparaissent plus d'une fois, comme le numéro un, l'exemple placé dans la liste dans un nouvel objet compteur, compteur de liste. L' application imprime un compteur de liste de différentes manières. La première sortie est le compteur tel qu'il apparaît sans aucune manipulation. La deuxième sortie imprime les éléments uniques individuels dans ma liste et le nombre de fois que chaque élément apparaît. Pour obtenir à la fois l'élément et le nombre de fois qu'il apparaît, vous devez utiliser la fonction de l'élément comme indiqué. Enfin, l'exemple montre comment obtenir un nombre individuel à partir de la liste en utilisant la fonction get. Exécutez le code et Python affiche les résultats de
l'utilisation de l'objet compteur. Merci d'avoir regardé.
93. Quelles sont les fonctions: Les fonctions sont un moyen simple de regrouper les actions avec elles. Vous pouvez effectuer plusieurs groupes d'actions à plusieurs reprises sans avoir à retaper toutes les fonctions de code. Laissez-vous expliquer ce que y et la fonction vous permettent de réutiliser votre code. Pour utiliser une fonction. Vous devez un pour trouver la fonction elle-même et pour appeler ou appeler la fonction. Voici un exemple simple qui récompense votre programme Hello World en utilisant une fenêtre de shell Python ouverte. Appuyez deux fois sur Entrée pour revenir à l'invite de commandes. Ça ne fait rien. Maintenant, vous devez appeler la fonction pour la faire fonctionner. Python appellera la fonction si vous écrivez le nom de la fonction suivi de parenthèses, bloc de code d'
une fonction est la ligne suivant l'instruction def jusqu'à mais
sans inclure la ligne suivante qui est indentée de la même manière que l'instruction def. Lorsque le Python atteint la fin de la fonction, il saute à l'endroit où la colonne s'est produite, là-bas avec les parenthèses. Les règles pour nommer une fonction ou beaucoup comme les règles pour nommer une variable. Ils doivent commencer par une lettre ou un trait de soulignement. Ils devraient être en minuscules. Ils ne peuvent pas avoir de chiffres. Ils peuvent être n'importe quelle longueur, mais gardez-les courts. Ils ne peuvent pas être les mêmes qu'un mot-clé Python. Les fonctions ont un type spécial de commentaire appelé une chaîne doc. Le but principal d'une docstring est d'expliquer ce que la fonction est censée faire. Cela signifie que quelqu'un regardant à travers votre code comprendra ce que la fonction fait sans comprendre le code lui-même. Pour créer une docstring, ajoutez un littéral de chaîne entre guillemets
triples comme première ligne du bloc de code de la fonction. Comme notre exemple, les fonctions sont des outils extrêmement utiles et puissants dans la boîte à outils de programmation car elles vous permettent séparer votre programme en blocs significatifs. Dans la prochaine conférence, nous allons expliquer certaines fonctions Python intégrées. Merci d'avoir regardé.
94. Construit dans des fonctions: Bonjour les étudiants et félicitations, vous avez fait jusqu'ici. Maintenant, vous êtes familier avec les boucles et probablement commencé à créer vos propres petits projets. Dans ce tutoriel vidéo, nous allons apprendre quelques-unes des fonctions intégrées les plus utiles en Python. Commençons avec la fonction len. La fonction len compte la longueur d'un mot. Ainsi, vous pouvez passer la fonction len d'une valeur de chaîne ou d'une variable contenant une chaîne. Et la fonction évalue la valeur entière du nombre de caractères dans cette chaîne. Faisons quelques exemples dans le shell. Type. Le résultat est cinq parce qu'il y a cinq caractères dans le mot bonjour. Un autre exemple. abord, le programme demande à l'utilisateur d'entrer son nom, taper votre nom et d'appuyer sur Entrée. Ensuite, Python compte le caractère du nom et affiche le résultat. Super. Si vous voulez créer une liste de nombres, vous pouvez convertir le résultat d'une plage directement en liste à l'aide de la fonction de liste. La fonction de plage facilite la génération d'une série de nombres. Ensuite, vous pouvez utiliser la fonction de liste pour convertir ce même ensemble de nombres en liste. Ok, voyons ça dans le type d'action. On a fait une liste de numéros de 1 à 9. Enfin, certaines fonctions intégrées qui nous aident à calculer des statistiques simples comme minimum, maximum et d'autres, j'ai déjà fait une liste appelée num. Dactylographions. Le résultat en est un. Bien sûr. Le résultat est neuf. Le résultat est 45. Il y a des dizaines de fonctions intégrées en Python, mais ne vous inquiétez pas, vous n'apprendrez que les fonctions utiles. Merci d'avoir regardé.
95. Définir votre fonction: Bienvenue à tout le monde. Une fonctionnalité pratique de Python est de définir vos fonctions et de les utiliser dans tout le programme. Créez votre fonction. Oui, c'est exact. Voici la syntaxe pour définir une fonction. Maintenant, expliquons la syntaxe en détail. L' instruction def indique au programme que le code de la ligne suivante fait partie de la fonction. Return est utilisé pour renvoyer une réponse de la fonction. Une fois que la fonction exécute l'instruction return, la fonction se ferme. Si votre fonction n'a pas besoin de retourner une valeur, cette instruction return est inutile ou vous pouvez écrire return none. Maintenant, définissons notre première fonction, ouvrez inactif et tapez. Dans la première ligne, nous tapons le titre contient sourd et le nom d'une fonction, parenthèses et enfin un deux-points. La ligne suivante forme le corps de la fonction. Maintenant, exécutez le programme. Toute la définition définit la signification du nom my_function, mais elle ne fait rien d'autre. La définition elle-même ne fait pas encore imprimer quoi que ce soit. C' est pourquoi vous ne pouvez rien voir et visiblement dans shell après que Idol ait terminé l'exécution d'un programme, cependant, sa version du shell se souvient des définitions de fonctions du programme. Maintenant, dans le shell Enter. Python revient en arrière et regarde la définition, puis exécute le code dans la définition de la fonction, et bien sûr imprime le message. Essayons quelque chose de différent maintenant. Type. Rien ne se passe sans parenthèses. Il identifie le code de fonction est la valeur et donne l'emplacement en mémoire du code. Bon, maintenant une fonction utilisant l'instruction return. Dans ce programme, nous définissons une fonction avec deux nombres et retournons la somme de ces nombres. Tapez l'interpréteur de commandes. Entrez. Pouvez-vous deviner pourquoi nous avons eu cette erreur de syntaxe ? La réponse est simple. Nous n'avons pas appuyé deux fois sur Entrée après cette ligne, donc nous n'avons pas réellement défini la somme de la fonction deux nombres. Réexécutons la fonction. Ok, tapez maintenant. Bien sûr, le résultat est 11. J' espère que nous avons un aperçu de la façon de définir nos fonctions. Merci d'avoir regardé.
96. Plus intégré dans des fonctions: Bienvenue à tout le monde. Dans cette leçon, nous allons examiner cinq fonctions intégrées qui sont couramment utilisées par les programmeurs Python. Je vais décrire ce qu'ils font et comment les utiliser, puis vous montrer des exemples de la façon dont ils peuvent vous aider dans vos programmes. La fonction ABS renvoie la valeur absolue d'un nombre, qui est la valeur d'un nombre sans son signe. Par exemple, la valeur absolue de dix est dix et la valeur absolue de dix négatif est dix. Pour utiliser la fonction ABS, il
suffit de l'appeler avec les nombres ou la variable comme paramètre comme celui-ci. Vous pouvez utiliser la fonction ABS pour faire quelque chose comme calculer une quantité absolue de mouvements d'un personnage dans un jeu, quelle que soit la direction dans laquelle le personnage de voyager. Par exemple, disons que le personnage prend trois pas à sa droite, trois
positifs, puis dix pas à sa gauche, dix ou moins dix. Si nous ne nous soucions pas de la direction positive ou négative, la valeur absolue de ces nombres serait 310. Vous pouvez l'utiliser dans un jeu de société où vous lancez deux dés, puis déplacez votre personnage ou nombre
maximum de timbres dans n'importe quelle direction en fonction du total des dés. Maintenant, si nous stockons le nombre d'étapes dans une variable, nous pouvons déterminer si le caractère se déplace avec le code ci-dessous. Il se peut que nous souhaitions afficher certaines informations lorsque le personnage est conçu pour se déplacer. Dans ce cas, nous allons juste afficher le caractère est en mouvement. Si nous n'avons pas utilisé l'instruction if pourrait ressembler à ceci. Comme vous pouvez le voir, l'utilisation de l'ABS rend la déclaration juste un peu plus courte et plus facile à comprendre. Le nom Bool est abrégé pour Boolean. Le mot programmeurs utilise pour décrire un type de données qui peut avoir une ou deux valeurs possibles, généralement vraies ou fausses. La fonction bool fait un seul paramètre et renvoie true ou false en fonction de sa valeur. Lorsque vous utilisez bool pour les nombres, 0 renvoie false tandis que tout autre nombre renvoie true. Voici comment vous pouvez utiliser bool avec différents nombres. Lorsque vous utilisez bool pour d'autres valeurs comme des chaînes, il renvoie false s'il n'y a pas de valeur pour la chaîne, en d'autres termes, le mot-clé none ou une chaîne vide. Sinon, il retournera true comme indiqué ici. La fonction bool retournera également false pour les listes, les tuples et les cartes qui ne contiennent aucune valeur sont vraies quand elles le font. Vous pouvez utiliser bool lorsque vous décidez si une valeur a été centrée sur. Par exemple, si nous demandons aux utilisateurs de notre programme de saisir l'année de leur naissance, notre déclaration if pourrait utiliser bool pour tester la valeur qu'ils entrent. La première ligne de cet exemple utilise l'entrée pour stocker quand
quelqu'un d'autre entre sur le clavier est l'année variable. Appuyez sur Entrée sur la ligne suivante sans taper autre chose, stocke la valeur de la touche Entrée et de la variable. Sur la ligne suivante, l'instruction if vérifie la valeur booléenne de la variable après avoir utilisé la fonction rstrip, qui supprime tous les espaces dans les caractères Andrew de la fin de la chaîne. Parce que l'utilisateur n'a rien saisi. Dans cet exemple, la fonction bool renvoie false car cette instruction if utilise le mot-clé not. C' est une façon de dire, faites-le si la fonction ne retourne pas true. Et donc le code imprime, vous devez entrer une valeur pour l'année de votre naissance. Sur la ligne suivante. La fonction eval, abrégée pour evaluer, prend une chaîne comme paramètre et l'exécute comme s'il s'agissait d'une expression Python. Par exemple, Eval Print, Wow, exécutera réellement l'impression de la déclaration. Eh bien, la fonction eval ne fonctionne qu'avec des expressions simples telles que ce qui suit. Et la fonction eval est souvent utilisée pour transformer l'entrée utilisateur en expressions Python. Par exemple, vous pouvez écrire un programme de calculatrice simple qui lit les équations entrées dans Python, puis calculer une barre oblique évalue les réponses. Comme une entrée utilisateur est lue comme une chaîne, Python doit la convertir en nombres et en opérateurs avant de faire des calculs. La fonction eval rend cette conversion facilitant. Dans cet exemple, nous utilisons l'entrée pour lire ce que l'utilisateur entre dans votre variable, votre calcul de soulignement. Sur la ligne suivante, nous entrons l'expression cinq fois 20, peut-être votre âge multiplié par le nombre de semaines dans une année. Nous utilisons l'e-mail pour effectuer ce calcul et le résultat est imprimé sur la ligne finale. La fonction exacte est comme le mal, sauf que vous pouvez l'utiliser pour exécuter des programmes plus compliqués. La différence entre les deux est que l'e-mail renvoie une valeur, quelque chose que vous pouvez enregistrer en tant que variable aussi exacte que non. Voici un exemple. Dans les deux premières lignes, nous créons une variable avec une chaîne multiligne contenant deux instructions d'impression, puis utilisons l'exécuteur sur la chaîne. Vous pouvez utiliser exactement, exécuter de nombreux programmes à votre programme Python lit à partir de fichiers, vraiment des programmes à l'intérieur des programmes. Cela peut être très utile lors de l'écriture de longues applications compliquées. Par exemple, vous pouvez créer un jeu de robot. Nous sommes deux robots se déplacent autour d'un écran et essayent de s'attaquer l'un l'autre. Les joueurs du jeu fourniraient les instructions pour leurs robots. Comme de nombreux programmes Python que les robots gagneraient liraient dans ces scripts et utiliseraient l'exécution exacte. La fonction de plage, comme nous l'avons vu précédemment, est principalement utilisée dans les boucles, pour faire une boucle à travers une section de code un nombre spécifique de fois les deux premiers paramètres donnés pour organiser ou appelé le début et l'arrêt. Vous avez vu la plage de ces deux paramètres dans l'exemple précédent en utilisant la fonction len pour travailler avec une boucle. Les nombres générés par la plage commencent par le nombre donné en tant que paramètre de bourse et N avec un nombre qui est inférieur de un au second paramètre. Par exemple, ce qui suit montre ce qui se passe lorsque nous
imprimons les nombres que la plage crée entre 05. La fonction range renvoie en fait un objet spécial appelé un itérateur qui répète une action d'un certain nombre de fois. Dans ce cas, il renvoie le nombre le plus élevé suivant chaque fois qu'il est appelé. Vous pouvez convertir l'itérateur en liste à l'aide de la liste des fonctions. Si vous imprimez ensuite la valeur de retour lors de l'appel de la plage, vous verrez également les numéros qu'elle contient. Vous pouvez également ajouter un troisième paramètre à la plage appelée étape. Si la valeur de l'étape n'est pas incluse, le numéro un est utilisé comme étape par défaut. Mais que se passe-t-il quand nous passons le numéro deux comme étape ? Voici le résultat.
97. Scopes mondiales et locales: La portée est quelque chose qui est initialement difficile à comprendre lors du démarrage de la programmation et globals, les locaux et les vars vous permettent de comprendre la portée un peu mieux. Cela est mieux démontré dans le contexte d'un programme. Donc, ici, vous pouvez voir un programme avec un être égal à un étant égal à la chaîne globale et c est égal à la chaîne un autre global. Mais comme vous le savez peut-être dans une fonction, les mêmes noms de variables peuvent être redéfinis avec valeurs
différentes et ils ne feront pas référence à la même variable réelle. Donc, ici, définissant une fonction où a est défini sur deux, b est en cours de définition sur ces chaînes locales. Et puis ces deux valeurs seront imprimées. Pendant ce temps, dans la portée de notre Main, nous allons imprimer les valeurs de a et B. Ensuite, appelons la fonction, qui imprimera ces valeurs, en ayant à trouver des valeurs locales d'entre elles. Et puis nous allons imprimer à nouveau a et B pour voir si oui ou non ils ont été modifiés en permanence pendant leur fonctionnement. Voyons ce programme en cours d'exécution. Vous pouvez voir ici qui étaient dans la portée globale. Donc c'est cette ligne ici. Et là, nous avons les versions locales de a et b en cours d'impression. Ensuite, une fois que nous sommes de retour dans la portée globale, a et B sont de retour avec des valeurs auxquelles nous nous attendrions là-bas. Maintenant, il est parfois difficile de savoir quelles variables ont été définies ou disponibles pour vous dans une portée donnée. Cet exemple est un programme assez simple, mais comprendre ce qui se passe est un programme plus compliqué et cela peut être plus difficile. Une fonction qui est particulièrement utile est vars. Si nous imprimons vars, Il montrera quelles variables sont disponibles dans cette portée, et il les imprimera sous la forme d'un dictionnaire. Exécution du programme. Vous pouvez voir que nous avons imprimé vars, les variables disponibles dans cette portée locale, R, a est égal à deux et b est égal à Local, qui est ce qui a été imprimé. Cependant, si nous prenons ce code de cette ligne, donc exactement la même chose. Imprimer des vars. Si nous mettons cela ici après que nous sommes de retour dans la portée globale, vous verrez qu'il y a plus de valeurs disponibles. Donc, ici, nous avons ce dictionnaire beaucoup plus grandes valeurs. Mais la chose la plus importante est pour nous à ce stade, c'est que a est égal à un, B égal à global, et C a une valeur d'un autre global. Donc différentes valeurs sont disponibles en fonction de la portée dans laquelle nous sommes. Comme vous l'avez vu, ce sont les vars qui sont disponibles dans la portée globale. Et au lieu d'imprimer, vars, peut imprimer en utilisant les globaux de fonction, ce qui nous donne les variables de portée globale à tout moment. Donc, ici, vous pouvez voir qu'il donne la même sortie parce que les vars sont les vars globaux lorsqu'ils sont imprimés dans la portée globale. Cependant, je pense que cela pourrait bouger légèrement l'eau parce que c'est une fonction différente. Il n'illustre pas la différence entre les variables disponibles dans la fonction. Et la portée globale sont les mêmes parce que vous pouvez imprimer des globaux à l'intérieur de la fonction. Donc, si cela est imprimé à l'intérieur de la fonction. Donc, si nous déplacons globaux pour être imprimés à l'intérieur de la fonction, vous pouvez voir que ce sont les variables locales et ce sont les variables globales. Si cela est imprimé, vous pouvez le voir exactement en même temps. La valeur globale de a est un et b est globale, tandis que a est 2x et B est locale. Donc, ça peut devenir un peu déroutant. Mais il est certainement vraiment utile de pouvoir imprimer des vars parce que vous pouvez comprendre quelles variables sont disponibles pour vous au moment dans cette portée. Et si vous n'êtes pas sûr de quelle portée de la fonction fonctionne, vous pouvez utiliser vars pour comprendre ce qui se passe. Mais il y a quelque chose d'autre qui boue aussi légèrement l'eau, ce qui est si nous soulignons Voir, ce n'est pas défini dans cette fonction. Donc, si nous ne pouvons pas le trouver dans la portée locale, il verra alors la valeur de celui-ci à partir de la portée globale. Donc, si nous exécutons cela, vous pouvez voir que malgré le fait qu'il n'est pas défini dans la portée locale, voit accessible à partir de la portée globale de la ligne trois, car il n'est pas défini dans cette fonction. C' est quelque chose dont vous avez besoin pour passer un peu de temps à vous débrouiller la tête. Mais une fois que vous l'aurez compris,
cela vous aidera à comprendre ce qui se passe en général. Mais il est facile de se dire en noeuds, principalement si vous utilisez les mêmes noms de variables dans une fonction qu'en dehors d'une fonction. Donc, le a local est différent de l'assurance-emploi mondial
, c'est pourquoi peut devenir déroutant. Et c'est une bonne idée de ne pas nommer vos variables locales avec le même nom qu'une variable globale.
98. PROJET : Jeu de l'apparition améliorée (version 2) - PARTIE 1: Bon, parlons de la façon dont vous pouvez améliorer votre projet de jeu de devinettes. Nous avons appris sur les fonctions, donc nous sommes prêts à les appliquer dans ce projet, vous pouvez prendre ces connaissances et convertir votre projet et jeu de devinettes pour qu'il utilise des fonctions. La première étape consiste à ajouter un module ne rétrécit pas au début
du fichier pour expliquer ce que fait le programme, nous pouvons utiliser des guillemets doubles triples au début et à la fin de la docstring. Maintenant, nous sommes prêts à le mettre à jour et à utiliser une fonction. Nommons la fonction comme devinez ronde. Nous allons créer un talon de fonction pour faire deviner rond. Maintenant, quelle est la fonction stub ? Si vous savez que vous allez avoir besoin d'une fonction, mais que vous n'êtes pas sûr des détails. Vous pouvez utiliser le mot clé de passe et laisser le bloc de code à remplir ultérieurement. Une fonction vide comme celle-ci, un stub vous permet de définir la fonction. Il échouera s'il n'y a pas de blog de code, mais nous allons travailler les détails plus tard. Il s'agit principalement d'un lieu pour vous aider à organiser vos pensées. Si vous incluez la docstring, vous n'avez besoin d'aucune instruction de chemin d'accès. Il a probablement été examiné, inclure la docstring, indenter le code pour le faire partie du bloc de code de fonction. Maintenant, vous pouvez ajouter une ligne à la toute fin du programme pour faire la fonction de tour de deviner. Exécutons le programme. Évidemment, il y a un problème. Le jeu ne redémarre pas. Pouvez-vous comprendre pourquoi ? Droit ? Nous devons ajouter une ligne qui appelle la fonction do devine round à l'intérieur de la boucle. Essayons encore. Maintenant, le programme redémarre. Regardez que chaque fois que le jeu redémarre, l'ordinateur répond exactement de la même manière. Et ce n'est pas comme ça que le jeu devrait fonctionner. L' ordinateur doit choisir un nombre différent pour chaque tour. Arrêtons le code avec le contrôle plus c. Parce que le nombre est le même à chaque fois. C' est probablement un problème avec la façon dont il est stocké ou choisi. Pensez à la façon dont le chemin de Python le suit lorsqu'il traverse ce code et où le choix du nombre se produit concernant ce flux. J' ai essayé de comprendre pourquoi. Maintenant, résolvons ce problème de logique. Le programme continue de deviner le même nombre en raison d'un problème avec l'emplacement aléatoire de la fonction INT Rand. Le programme passe par ces étapes lorsque vous exécutez le programme, l'
un exécute l'importation, deux choisit un nombre aléatoire, trois attribue une valeur à une invite pour définir une fonction, mais ne l'exécute pas encore. Cinq commence une boucle. Six appelle à plusieurs reprises la fonction de l'intérieur de la boucle sans choisir un nombre aléatoire. Quand il appelle la fonction, le nombre aléatoire n'est pas choisi à nouveau, les mêmes nombres choisis à chaque fois. Vous pouvez le réparer en mettant le code, choisissant le numéro à l'intérieur de la fonction. Vous pouvez générer l'arrondi en ajoutant des instructions d'
impression pour préciser quand un nouveau cycle a commencé. Vous le faites en plaçant le code des instructions d'impression dans une boucle while. En outre, supprimez la fonction ronde Dugas de l'intérieur de la boucle. L' ajout d'une nouvelle ligne, le choix d'un nombre aléatoire à l'intérieur de la fonction résout un problème de logique. Si c'est tout ce que vous allez faire, vous supprimerez la première référence au numéro de soulignement des ordinateurs. Vous ne le supprimez pas parce que je veux que vous remarquiez deux choses. abord, le programme semble fonctionner comme s'il y avait deux variables nommées numéro d'ordinateurs. Deuxièmement, même si les nouvelles valeurs continuent d'être
assignées à une variable nommée numéro d'ordinateurs à l'intérieur de la fonction. Ces affectations ne modifient pas la valeur en dehors de la fonction. Exécutez le programme. Maintenant, pour voir que ça arrive. Ça marche bien. Arrêtez le code avec le contrôle plus C. Voici un excellent exemple d'une portée variable que nous avons discuté dans une leçon précédente dans le code précédent. Et le nom numéro d'ordinateurs est utilisé plus d'une fois. Il y en a un à l'intérieur de la fonction qui devine rond et un défini en main. Mais jamais les deux ne se rencontreront. C' est comme s'ils étaient dans des dimensions différentes. Ce qui arrive à l'une dans une dimension n'arrive pas à l'autre. En fait, chaque fois que la fonction ne devine round est appelée. La variable est une variable différente, mais elle a le même nom. Le programme ne se souvient pas de la valeur qu'il avait dernier stand, la fonction a été appelée variables qui définissent à l'intérieur d'une fonction sont appelées variables locales. Cela signifie que lorsque vous choisissez le nom d'une variable à l'intérieur de votre fonction, vous n'avez pas besoin de vous souvenir des noms de toutes les autres variables que vous avez déjà utilisées. partie 1 du jeu de devinettes est terminée. Étudiez à nouveau ce que vous avez fait jusqu'à maintenant, et si vous êtes prêt, passons à la deuxième partie. Merci d'avoir regardé.
99. PROJET : Jeu de Improved (version 2) - PARTIE 2: Maintenant, il est temps d'accélérer votre jeu un peu en
ajoutant un score et un moyen plus facile de quitter, vous ne pouvez pas vous attendre à ce que votre utilisateur sache sur le contrôle plus C, le programme sera changé. Ainsi, ce genre de garde une trace du nombre de tours que l'utilisateur a joué et du nombre total de suppositions faites à partir desquelles le nombre moyen de suppositions peut être calculé. Pour le suivi des tours, la première étape consiste à ajouter une variable appelée « total rounds » au programme principal. Ensuite, vous devez incrémenter l'augmentation d'un total de tours dans les parties principales tout en boucle. Pour le suivi des suppositions, la première étape consiste à ajouter une variable appelée devinettes totales. Dans la fonction ronde Dugas. Le programme garde une trace du nombre de suppositions qui avaient été faites pendant la fonction. Nom partie du programme ne peut pas accéder aux variables dans la fonction. Ils sont locaux à cette fonction. Nous nommerons ce nombre variable de suppositions pour obtenir la valeur à la partie principale du programme. Ils sont retournés par le mot-clé return et stockés dans une variable appelée this round. Un total en cours de suppositions est limité en ajoutant cette valeur aux suppositions de soulignement totales variables. Ceci est ensuite utilisé pour calculer le nombre moyen de suppositions par tour étant le nombre total de suppositions divisé par le nombre total de tours. Le flux intégré est utilisé pour quatrième Python pour utiliser l'arithmétique décimale plutôt qu'entier. Certaines des instructions d'impression de la boucle while True ont été modifiées et d'autres ont été ajoutées pour donner à l'utilisateur plus d'informations sur le tour. Exécutez le programme pour voir que cela fonctionne. Cool. Maintenant, arrêtez le programme et revenez à l'éditeur. C' est la fin de la deuxième partie. vous plaît pratiquer ce que vous avez appris, puis continuer jusqu'à la dernière partie de notre jeu de devinettes Python.
100. PROJET : Jeu de Improved 3 (version 2) - PARTIE 3: Bienvenue à tout le monde. Dans la dernière partie du projet, nous allons penser à une solution quand un utilisateur peut quitter le programme en tapant la lettre Q. Alors plongons dans. Les utilisateurs ne veulent généralement pas quitter quelque chose en tapant accidentellement quelque chose. Donc, au lieu de quitter immédiatement, une routine demande à l'utilisateur de confirmer l'arrêt. La réponse par défaut sera oui. Nous allons d'abord créer la fonction pour confirmer la fermeture. Voyons les étapes un par 11 créer un message constant de confirmation équipé à utiliser comme une invite pour confirmer le Quit, pour créer une fonction appelée confirmer quit, puis confirmer la fonction quitter, demander à l'utilisateur de confirmer en tapant pourquoi utiliser l'entrée, les joueurs demandent des entrées et la réponse est stockée dans une variable appelée confirmation. Confirmer avec l'utilisateur tapé est n, puis la fonction confirm quit renvoie false. Cela signifie que le programme devrait abandonner la guerre trébuchée. Confirmer est autre chose, y compris l'utilisateur appuyant sur Entrée sans appuyer sur une autre touche ou même un N majuscule, alors la fonction retournera true, confirmant que l'utilisateur veut quitter. Par défaut, la fonction confirme la fermeture plutôt que de l'abandonner. Cela suppose que la plupart du temps votre utilisateur veut vraiment quitter le jeu. Maintenant, nous allons continuer à définir un texte de trait de soulignement constant pour contenir la lettre Q, ce
qui est ce que l'utilisateur doit appuyer s'il veut quitter. Vous pouvez leur demander de faire un numéro de retour arrondi qui ne sera jamais un nombre valide de suppositions. Quelque chose comme minus1 est idéal puisque le nombre de suppositions ne peut jamais être négatif. Vous pouvez également choisir un nombre comme 100 mille en supposant que personne ne fera jamais autant de suppositions. Ma préférence est minuscule 1. Ensuite, définissez un programme de fermeture constante que vous êtes faire la fonction arrondie deviner retournera si l'utilisateur quitte, assigné la valeur de moins un à quitter. Azure nouvelles constantes après importation aléatoire dans la fonction do deviner round à une vérification pour voir si l'utilisateur a tapé q plutôt qu'un nombre. S' ils ont appelé la fonction Confirmer Quit pour confirmer. Si l'appel pour confirmer quit renvoie la valeur true, puis quittez. Rendre le programme de retour de bloc de code quittant. Cela laisse la fonction et retourne la valeur de moins un. Si ce n'est pas le cas, faites le bloc de code continuer, faites-le la seule ligne dans le bloc de code. Le mot-clé continue fait un redémarrage de boucle en haut du bloc de code de la boucle, en fonction du type de boucle, cela peut également signifier que le compteur de boucles est incrémenté. Votre nouveau code devrait aller après la ligne d'entrée. Chaque fois qu'un joueur devine, la supposition est comparée pour voir si elle est identique à celle qu'il quitte le texte de soulignement. C' est q. Si c'est le cas, alors le joueur est invité à confirmer en appelant la fonction de confirmation quittée. Si elle est confirmée, alors devinez round exit, retournant la valeur de moins un, qui est stockée dans la consonne du message de quittance. Ce n'est pas l'utilisateur tapé Q par erreur continue, saute le reste de l'itération actuelle de la boucle et redémarre une nouvelle itération. Puisque le joueur devine dans un nombre, c'est Q, vous obtiendrez une erreur. Pour cette raison, le reste de la boucle doit être ignoré. La dernière chose à faire est de retour en main, vérifiez si le programme de quittance de valeur est retourné à la variable ce tour. Si c'est dû à celui-ci, générez un message de position à imprimer car le code incrémente ce tour car il s'attend à ce que le joueur devine correctement. Il doit être décrémenté lorsque le code du programme quittant est renvoyé. Avant de calculer la position des joueurs, calculez le nombre moyen de suppositions par tour. Le total des suppositions divisé par le nombre total de tours. Pour sortir de la boucle while. À la fin du programme, imprimez le message d'état pour ajouter quelques instructions d'impression à la fin pour imprimer les statistiques. Globalement dans la partie principale du programme. Chaque fois que Python retourne la fonction ronde Dugas, il voit si la valeur du programme equip a été retournée. Si c'est le cas, le programme prépare des messages à imprimer sur la sortie et imprime hors de la boucle while principale. Une fois les messages imprimés, la fin du fichier est atteinte dans le programme se termine. Je vais jeter un coup d'oeil à ce programme maintenant. Il est donc temps d'exécuter le programme final. Jouons trois tours. J' ai oublié le tour total. Cliquons. Courez à nouveau. Et ça marche très bien. Maintenant, je veux vous donner deux défis et je veux que vous teniez de trouver les réponses. Mais d'abord, vous devez regarder les leçons et étudier la section traitant des erreurs. Exécutons à nouveau le programme et sans aucune supposition, appuyez sur le q pour quitter, confirmez avec oui. Et regardez les rondes. Le total des tours est égal à 0. Vous ne pouvez pas diviser avec 0, bien sûr. Le deuxième défi est le suivant. Exécutez le programme à nouveau et au lieu d'un nombre, appuyez sur une lettre est un nombre de devinettes sur une entrée, nous avons une erreur de valeur parce que le programme accepte uniquement des entiers. Vous trouverez les deux solutions aux défis si vous voulez les leçons de la section traitant des erreurs. Wow, tu as fait beaucoup. S' il vous plaît faites vos devoirs, essayez de résoudre le projet par vous-même. Ensuite, vous gagnerez des compétences et apprendrez de nouveaux domaines de Python que vous ne connaissiez pas auparavant. Et cela peut vous donner une grande confiance et être en mesure d'
aborder des problèmes plus difficiles plus loin. Si vous avez des questions, je serais ravi de vous aider. Merci d'avoir regardé.
101. Traiter des erreurs: La plupart des codes d'application de toute complexité contiennent des erreurs. Les humains écrivent des applications chez les humains font des erreurs. Cependant, des erreurs peuvent survenir qui ne vous fournissent aucune sorte de notification. Cette section vous explique les différents types d' erreurs et ce qu'il faut faire lorsque votre application les rencontre. La plupart des développeurs appellent des exceptions d'erreur d'application, ce qui
signifie qu'elles sont l'exception à la règle. Parce que les exceptions doubles applications actuelles, vous devez détecter et faire quelque chose à leur sujet chaque fois que possible. L' acte de voir et de traiter et d'exception est appelé gestion des erreurs ou gestion des exceptions. Pour détecter correctement les erreurs, vous devez savoir sur les sources d'erreur dans y erreurs avaient été en premier lieu. Lorsque vous remarquez l'erreur, vous devez la traiter en attrapant l'exception. Voir une exception signifie l'examiner et éventuellement faire quelque chose à ce sujet. Parfois, vous l'appelez, détecte une erreur dans l'application. Lorsque cela se produit, vous devez déclencher ou lancer une exception. Vous voyez que les deux termes ont été utilisés pour la même chose, ce qui signifie simplement que votre code a rencontré une erreur qu'il ne pouvait pas gérer. Donc, passer les informations d'erreur sur lui dans un autre morceau de code à gérer. Dans certains cas, vous pouvez utiliser des objets de message d'erreur personnalisés pour transmettre les informations. Même si Python a une mine de messages génériques sur les objets couvrant la plupart des situations, certaines situations ou spéciales. Vous devez savoir comment gérer les exceptions localement. Envoyez-les au code qui a appelé votre code. Quand créer une exception spéciale afin que chaque partie de l'application sait comment gérer l'exemption. Python fournit la clause finale qui s'exécute toujours même lorsqu'une exception se produit. Vous pouvez placer du code pour fermer des fichiers ou effectuer d'autres tâches centrales dans le bloc de code associé à cette clause. Lorsqu' une erreur se produit, les gens disent généralement qu'une application contient un bogue. Les bogues sont simplement des erreurs de codage que vous pouvez supprimer à l'aide d'un débogueur. Un débogueur est un type spécial d'outil qui vous permet d'arrêter ou de suspendre l'exécution de l'application, examiner le contenu des variables et généralement l'application pour voir ce qui le fait cocher. Les erreurs tombent dans des catégories bien définies qui vous aident à prédire dans une certaine mesure la fin où elles se produiront. Les deux types principaux sont des flèches qui se produisent à un moment donné et des erreurs qui sont un type spécifique. Les flèches se produisent à des moments spécifiques. Les deux périodes principales sont le temps de compilation et l'exécution. Une erreur de compilation se produit lorsque vous demandez à Python d'exécuter l'application. Avant que Python puisse exécuter l'application, il doit interpréter le code, mettre dans une forme que l'ordinateur peut comprendre. Si les instructions que vous écrivez manquent d'informations nécessaires. Python ne peut pas effectuer la conversion requise. Heureusement, les erreurs de compilation sont les plus faciles à repérer et à corriger. Temps d'exécution. Une erreur d'exécution se produit après que le python compile le code que vous écrivez et qu'un ordinateur commence à l'exécuter. Les erreurs d'exécution viennent dans plusieurs types différents et certaines sont plus difficiles à trouver que d'autres. Vous savez, vous avez une erreur d'exécution lorsque l'application
cesse soudainement de s'exécuter et affiche une boîte de dialogue d'exception. Comprendre les types d'erreur vous aide à localiser les erreurs plus rapidement, plus tôt et de manière plus cohérente, ce qui entraîne moins d'erreurs de diagnostic. L' astuce est de savoir où regarder avec cela à l'esprit, Python dans la plupart des autres langages de programmation casse les erreurs dans les types suivants. Syntactique, sémantique et logique. erreurs syntaxiques, généralement les plus faciles, une erreur logique est généralement la plus difficile. Dans les conférences suivantes, nous examinerons chacun de ces types d'erreurs en détail. Merci d'avoir regardé.
102. Problèmes de syntaxe communs: Lorsque vous rencontrez une erreur de syntaxe pour la première fois, il est utile de savoir pourquoi il y avait un problème et ce que vous pourriez faire pour corriger le déséquilibre intact dans votre code Python. Dans cette leçon, vous verrez quelques-unes des raisons
les plus courantes pour lesquelles des erreurs de syntaxe peuvent être déclenchées. Que cela soit dû à une faute de frappe ou à un malentendu de la syntaxe Python. Et le plus important, comment vous pouvez les réparer et les éviter entièrement à l'avenir. Il y a plusieurs cas en Python où vous n'êtes pas en mesure de faire des affectations à des objets. Certains exemples attribuent deux littéraux et des appels de fonction dans le code suivant, vous allez voir quelques exemples qui tentent de le
faire et les erreurs de syntaxe résultantes suivent. Donc, ici, nous allons essayer d'assigner cinq à la longueur de bonjour. Maintenant, comme vous pouvez le voir, cela a généré une erreur de syntaxe disant qu'il ne peut pas affecter à une fonction gall. Voici un autre exemple. Impossible d'attribuer au littéral. L' exemple ici tous les deux essayant de faire la même chose, en affectant à une chaîne ou un entier à des littéraux. La même règle est vraie pour les autres valeurs littérales. Encore une fois, les messages de suivi ici indiquent que le problème se produit lorsque vous tentez d'attribuer une valeur à un littéral. Une chose à noter ici est que les exemples dans le shell manquent la ligne de code répétée et la carotte pointant vers le problème et la trace en arrière. Les exceptions et les pistes arrière que vous voyez dans le peu profond ou différent de lorsque vous exécutez le code à partir d'un fichier. Si c'était le code, vous êtes dans un fichier, vous obtenez la ligne de code répétée et vous vous souciez de pointer vers le problème comme vous l'avez vu précédemment. Donc, ce genre d'utilisation abusive de l'opérateur d'affectation est le genre de chose. Je peux dire que je fais plus que ce que je ne devrais pas admettre. Cela a souvent été fait parce que j'oublie le signe égal supplémentaire lorsque j'essaie d'effectuer une comparaison. Donc, voir ce premier exemple corrigé, fait ce que je voulais réellement, qui était de vérifier que la longueur de bonjour est égale à cinq. Et vous pouvez voir qu'il renvoie la valeur true. La plupart du Python sous vent vous indique que vous faites une affectation à quelque chose qui ne peut pas être affecté à. C' est la chose à vérifier d'abord qu'en fait, vous devriez faire une comparaison. Mots clés Python ou un ensemble de mots protégés ayant une signification particulière en Python. Ce sont les mots qui ne peuvent pas être utilisés comme identificateurs, variables ou noms de fonction dans votre code. Ils font partie de la langue et ne peuvent être utilisés que dans le contexte de Python permet, Il existe trois façons courantes que vous pouvez utiliser par erreur des mots-clés, mal orthographier un mot clé, manquant un mot clé, ou mal utiliser un mot clé. Si vous épelez un mot-clé dans votre code Python, vous obtiendrez probablement une erreur de syntaxe. Par exemple, voici ce qui se passe si vous renversez le mot-clé pour incorrectement. Le message lit une erreur de syntaxe, une syntaxe
non valide, mais ce n'est pas très utile. Le traceback pointe vers le premier endroit où Python pouvait détecter quelque chose qui ne allait pas. Pour corriger ce type d'erreur, assurez-vous que tous vos mots-clés Python sont correctement orthographiés. Un autre problème commun avec les mots clés est quand vous les manquez tous ensemble. Encore une fois, le message d'exception n'est pas si utile, mais le traceback tente de vous pointer dans la bonne direction. Si vous reculez de la carotte que vous pouvez voir que dans le mot-clé est absent de la syntaxe de la boucle for. Vous pouvez également utiliser à mauvais escient un mot-clé Python protégé. Rappelez-vous que les mots-clés ne peuvent être utilisés que dans des situations spécifiques. Si vous les utilisez de manière incorrecte, vous aurez une syntaxe non valide dans votre code Python. Un exemple courant de ceci est l'utilisation de continuer ou de casser en dehors d'une boucle. Cela peut facilement se produire pendant le développement lorsque vous implémentez des choses et que vous déplacez la logique en dehors d'une boucle. Ici, Python fait un bon travail de vous dire exactement ce qui ne va pas dans cet exemple, la rupture de méthode en dehors de la boucle vous aide à comprendre exactement ce qu'il faut faire. Si ce code était dans un fichier en Python aurait également la carotte pointant directement vers le mot-clé mal utilisé. L' utilisation abusive de continue suit un modèle simple de génération d'une erreur de syntaxe avec un message différent. Un autre exemple est si vous tentez
d'attribuer un mot-clé Python à une variable ou d'utiliser un mot-clé pour définir une fonction. Lorsque vous tentez d'affecter une valeur à une passe, ou lorsque vous tentez de définir une nouvelle fonction appelée pass, vous obtenez une erreur de syntaxe et voyez le message de syntaxe non valide. Encore une fois. Il peut être un peu plus difficile de résoudre ce type de syntaxe invalide dans le code Python, car le code semble bien de l'extérieur, si vous appelez, cela semble bon, mais vous obtenez toujours une erreur de syntaxe, alors vous pouvez envisager de vérifier la méthode ou le nom de la fonction que vous souhaitez utiliser par rapport à la liste de mots clés de la version de Python que vous utilisez, la liste des mots-clés protégés est modifiée avec chaque nouvelle version de Python. Par exemple, dans Python 3.6, vous pouvez utiliser une pondération comme nom de variable ou nom de fonction. Mais en tant que Python 3.7, ce mot a été ajouté à la liste des mots clés. Maintenant, si vous deviez utiliser un poids comme nom de variable ou de fonction, et cela provoquera une erreur de syntaxe si votre code s'exécute sur Python 3.7 ou version ultérieure. Un autre exemple est cette impression, qui diffère de Python deux par rapport à Python trois. Print est un mot-clé dans Python 2x, donc vous ne pouvez pas lui attribuer une valeur dans Python trois, cependant, c'est une fonction intégrée qui peut être affectée à des valeurs. Vous pouvez exécuter le code suivant pour afficher la liste des mots-clés dans n'importe quelle version de python que vous exécutez. Un mot-clé fournit également la fonction utile est mot-clé. Si vous avez besoin d'un moyen rapide de vérifier la variable de chemin, vous pouvez utiliser le code suivant. Ce code vous indiquera rapidement si l'identifiant que vous utilisez est un mot clé ou non. Souvent, l'utilisation d'une syntaxe non valide dans le code Python est un vêtement,
parenthèses, crochets ou guillemets mal interprétés ou mal assortis . Ceux-ci peuvent être difficiles à repérer des lignes extrêmement longues de parenthèses
imbriquées ou des blocs multilignes plus longs. Vous pouvez repérer une inadéquation ou une citation manquée à l'aide des tracebacks de Python. Voici les points de traçage vers le code non valide, où il y a un T et un devis unique après notre précédent devis de clôture. Pour résoudre ce problème, vous pouvez faire l'une des modifications du. Tout d'abord, vous pouvez échapper à la citation unique avec une barre oblique inverse est vu dans l'exemple ici. Nous pouvons déjà voir que le shell met en évidence ce code de manière appropriée. Donc, on dirait que ça va aller. Python est heureux avec elle aussi. La deuxième option consiste à entourer la chaîne entière entre guillemets à la place, comme le montre l'exemple ci-dessous, voyons cela en action. Une fois de plus, vous pouvez voir que le shell met en évidence cela de manière appropriée pour une chaîne. Il semble donc heureux de ce que nous avons fait. De même que Python. Une autre erreur courante est d'oublier de fermer une chaîne avec les deux guillemets doubles dans des chaînes simples. La situation et les tracebacks seront les mêmes. Cette fois, la carotte dans la trace pointe droit vers le code du problème. Ce message d'erreur de syntaxe EOL lors de l'analyse du
littéral de chaîne est un peu plus spécifique et utile pour déterminer le problème. Cela signifie que l'interpréteur Python est arrivé à la fin de la ligne, l'EOL, avant la fermeture d'une chaîne ouverte. Pour résoudre ce problème, fermez la chaîne avec un guillemet qui correspond à celui que vous utilisez pour la démarrer. Dans ces cas, le premier serait avec une double citation, le second serait avec une citation unique. citation manquante dans les instructions dans une chaîne F peut également conduire à une syntaxe non valide en Python. Ici, la référence au dictionnaire des âges à
l'intérieur de la chaîne F imprimée manque la citation unique de clôture de la référence clé.
103. Devenez un chasseur de bondes: bogues font partie intégrante de la programmation. Une fois que vous avez dépassé le programme le plus simple que vous créez, vous le rencontrerez sans aucun doute. Cela peut être une partie frustrante de l'expérience d'apprentissage, mais vous trouverez souvent que c'est l'expérience la plus enrichissante qui vous enseignera les leçons dont vous avez besoin pour connaître la vantation. Rappelez-vous, personne ne crée de code sans bugs. La clé pour trouver des bugs. Méthodologique. Ce n'est pas utile d'essayer de changer les choses au hasard. Il est préférable d'essayer d'avoir à l'esprit ce que l'ordinateur essaie de
faire et de voir s'il fait vraiment ce que vous pensez faire. Beaucoup ont été à l'époque où il est semble qu'il fait ce que je pense qu'il est,
mais en fait, j'ai regardé les détails de celui-ci et j'ai peut-être eu de la chance. Et en fait, c'est beaucoup moins que ce que j'avais prévu à l'origine. Nous allons examiner deux façons de résoudre les problèmes. Tout d'abord, la vieille école favorisée par Guido van Rossum, qui utilisait des déclarations imprimées. Alors maintenant que vous allez voir ça en action. Et vous pouvez aussi repérer le bug qui y est présent. Mais l'idée va vraiment créer un programme simple à comprendre plutôt que de créer un bug hystérique difficile à trouver. Ne vous inquiétez pas, vous aurez beaucoup de choses à traiter plus tard. Donc, vous allez voir un simple jeu de devinettes de nombre. L' ordinateur va penser à un nombre compris entre 110, puis l'utilisateur doit le deviner, puis l'ordinateur dira à l'utilisateur s'il l'a correctement ou non. Voici donc le code. Je vais importer la bibliothèque aléatoire pour nous permettre de générer un nombre aléatoire. Imprimer un message pour l'utilisateur, créer le nombre aléatoire. Et maintenant, nous allons laisser l'utilisateur entrer ses invités et l'assigner à la variable guest. Maintenant, nous allons vérifier que leur estimation est la même que le nombre. Et si c'est le cas, nous leur dirons qu'ils ont raison. Et si ce n'est pas le cas, nous leur dirons qu'ils se sont trompés. On y va. Le programme est terminé et maintenant vous allez le voir en action. Donc je vais juste le garder en marche jusqu'à ce que le bug se fasse connaître à nous. Et là après la première fois, parfois beaucoup plus de fois que vous ne l'attendiez. Mais c'est la nature du hasard. On voit notre insecte, il dit, désolé, le nombre était cinq, pas cinq. Donc jusqu'à présent, vous avez peut-être pensé que votre programme fonctionnait bien. Vous auriez pu le montrer à quelqu'un et en être heureux. Et puis quelqu'un va dire « Attendez une minute ». Il disait que le nombre était cinq, pas cinq. Quel est le problème là-bas ? Ce que nous devons faire, c'est utiliser une déclaration imprimée pour nous aider à découvrir le problème. Je vais en insérer un ici. Et maintenant, nous allons devoir relancer le programme. Dans ce cas, ce que nous venons d'imprimer ne nous aidera trop parce que ce n'est pas la représentation, c'est le problème. C' est l'information réelle. Alors regardons un peu plus profond. Ici. Nous allons regarder un peu plus loin et regarder quel est le type de nombre et deviner. Et là, nous voyons le problème. Le problème est que notre nombre n'est pas nier et t parce qu' il a été créé aléatoirement par un point rand INT. Mais notre supposition est un SDR ou une chaîne. Et quand nous imprimons des STRS ou des ions Ts, ils sont identiques à nous à l'écran. Vous avez peut-être remarqué que ce ne serait pas le cas si vous
faites ce genre de travail dans le shell Python. Il est donc important de se rendre compte que l'impression peut ne pas toujours vous montrer toutes les informations dont vous avez besoin pour trouver des bugs subtils comme celui-ci. Mais cela peut être une méthode très utile et rapide pour savoir ce qui se passe quand un programme est en cours d'exécution. Donc, dans ce cas, pour corriger ce bug particulier, l'entrée doit maintenant être transformée en un INT. Maintenant, cela tomberait si l'utilisateur tape quelque chose qui pourrait être transformé en un INT. Mais dans ce cas, nous allons juste le laisser comme il est pour être gentil et clair. Donc maintenant, nous relançons le programme et nous pouvons voir qu'ils sont tous les deux INT. Et si je le fais assez de fois pour deviner correctement. Enfin, nous arrivons à un point où la supposition était cinq et le nombre était cinq. Et nous pouvons voir que le programme fonctionne comme prévu. Ayant vu l'action d'impression suivante PDB, le débogueur python. Donc, à l'écran, vous pouvez voir le programme de devinettes de nombre de bogues de la session précédente. Et nous allons maintenant importer PDB pour nous permettre de l'utiliser pour déboguer ce programme. J' ai donc importé PDB au début et au point où je veux que PDB prenne en charge l'exécution du programme, j'ai mis la ligne suivante. Je vais également supprimer les lignes de code que j'ai jointes. Donc, comme vous pouvez le voir, le programme fonctionnera normalement jusqu'à ce qu'il arrive à ce point. Et puis nous pourrons prendre en charge l'exécution étape par étape. Et cela nous permettra de regarder à l'intérieur du programme car il fonctionne toujours en mémoire. Donc, nous arrivons à entrer le nombre normalement, mais comme vous pouvez le voir, il semble tout à fait différent. La ligne APB à gauche nous montre que l'APB a repris l'exécution du programme. Maintenant, il est vraiment facile d'oublier où vous êtes dans le programme. Donc, l'une des instructions clés est d'utiliser i pour la liste. Nous pouvons voir que cela nous montre une section
du programme dans ce cas disant que nous sommes à la ligne 7. Et l'instruction suivante va être de deviner si égal nombre. Mais ce qu'on peut faire en ce moment, c'est regarder ce qu'il y a dans la mémoire de l'ordinateur. Et c'est un peu comme un shell Python normal. Si je tape, nous pouvons voir la valeur d'un nombre. Si je tape, nous pouvons voir la valeur d'une supposition. Et tout de suite, cela fonctionne un peu mieux que l'impression parce que cela nous
indique que ce n'est pas un INT, c'est une chaîne. Donc, avec cette commande, nous avons déjà trouvé quel est le problème. Alors qu'avec l'impression, nous devions approfondir et imprimer
manuellement ce type de variables en question. Mais laissons ce programme aller de l'avant. Et nous pouvons faire avec C pour continuer. Comme vous pouvez le voir, il court jusqu'à la fin. Cela illustre que cela fonctionne normalement. Et parce que c'est un petit programme simple, c'est ce que nous devons faire. Maintenant, si on met des traces dans un autre endroit, on pourrait tricher. Jetons un coup d'oeil à ça. Donc maintenant je l'ai mis avant et je dois mettre mes devinettes pour que je puisse tricher. Je peux regarder dans l'esprit de l'ordinateur, voir ce qu'il a été choisi, puis mettre ce numéro, qui nous sera parfois utile pour vous permettre de ne pas avoir à exécuter le programme dix, 15-20 fois, et cetera. Voyons quel est le numéro. Alors maintenant, je peux continuer. Il demande des entrées. Maintenant encore une fois, c'est vraiment facile à corriger comme vous l'avez vu dans la vidéo précédente. Mais l'idée de cela était de vous donner une idée de la façon d'utiliser PDB. Mais aussi le PDB est une chose vraiment flexible parce que vous n'avez pas à taper un chargement d'instructions d'impression. Vous pouvez simplement interrompre affectivement le temps, regarder autour de la mémoire de l'ordinateur et déterminer ce qui se
passe sans avoir à mettre 20 instructions d'impression dans. Vous pouvez parcourir le programme et les variables examinées chaque fois qu'il arrive.
104. Gérer les Exception de base: Hé tout le monde. Dans cette leçon, nous allons expliquer comment vous pouvez gérer les erreurs en utilisant try and except. Alors commençons. Python fournit une fonctionnalité vitale pour gérer toute erreur inattendue dans vos programmes Python. Votre application doit toujours attraper l'exception et la gérer avant que l'utilisateur ne la voit. Pour gérer les exceptions, vous devez indiquer à Python ce qu'il faut
faire , puis fournir du code pour effectuer les tâches de gestion. Les instructions try and except sont excellentes pour gérer les erreurs. Il s'agit d'une instruction de contrôle comme il contrôle sur le programme se poursuit lorsqu'une erreur se produit. Voici la syntaxe. Tapez, le code suivant. Le programme tente d'exécuter l'instruction érythème dix divisé par 0, ce qui est impossible. Ainsi, le reste des blocs try est ignoré et l'instruction est dans le bloc except est exécutée au lieu du message d'erreur prédéfini pour chacun des différents types d'erreurs. Si vous souhaitez afficher le message, vous pouvez utiliser le mot clé en tant que après le type d'erreur. Par exemple, pour afficher le message d'erreur de valeur par défaut, vous écrivez. E est le nom de variable attribué à l'erreur. Ceci est un exemple d'utilisation
des messages d'erreur prédéfinis et capture toute erreur inattendue. Pour une liste complète des types d'erreur en Python, vous pouvez vous référer à ce site Web. Si vous souhaitez afficher des messages d'erreur plus spécifiques à vos utilisateurs, en fonction de l'erreur, vous pouvez spécifier le type d'erreur après le mot-clé exempt. Maintenant, nous allons travailler sur d'autres exemples. Le code dans le bloc try a ses exceptions gérées. Dans ce cas, gérer l'exception signifie obtenir l'entrée de l'utilisateur en utilisant les appels d'entrée INT. Si une exception se produit en dehors du bloc, le code ne la gère pas. Le bloc except recherche une exception spécifique, dans ce cas, une erreur de valeur. Lorsque l'utilisateur crée une exception d'erreur de valeur en tapant jam au lieu d'une valeur numérique, ce bloc d'exception est exécuté. Le bloc else contient tout le code exécuté avec un code de bloc try réussit, ne génère pas d'application. Le reste du code se trouve dans ce blog car vous ne voulez pas l'
exécuter à moins que l'utilisateur ne fournisse une entrée valide. Lorsque l'utilisateur fournit un nombre entier en entrée, le code peut alors le vérifier pour s'assurer qu'il est correct. Exécutez le code et tapez Jim au lieu d'un nombre compris entre 15. L' application affiche un message d'erreur. Maintenant réexécutez le code et tapez 20 au lieu d'un nombre compris entre 15. L' application sort et message d'erreur de plage inattendue. gestion des exceptions ne supprime pas les erreurs de plage. Vous pouvez créer un bloc de gestion des exceptions en Python qui est générique car il ne ressemble pas à une exception spécifique. Parfois, vous pouvez avoir besoin d'une exception générique. Faisons un exemple en utilisant une clause except sans une exemption spécifique qui lui est attachée. Le résultat est que cette clause except interceptera également toute autre exception qui se produit. Le code détecte d'abord des erreurs spécifiques, puis utilise moins de gestionnaires spécifiques uniquement lorsque cela est nécessaire. Exécutez le code et tapez Jim.
105. Gérer plusieurs exceptions: La plupart des applications peuvent générer plusieurs exceptions pour une seule ligne de code en utilisant une seule clause except pour gérer diverses exceptions ne fonctionne que lorsqu' une source d'action commune répond à tous les besoins d'exception. Sinon, vous devez gérer chaque exception individuellement. L' exemple suivant montre comment gérer plusieurs exceptions à l'aide d'une seule clause except. Tapez le code suivant dans l'éditeur. Notez que la clause except prend désormais en charge à la fois une erreur de valeur et une exception d'interruption du clavier. Ces exceptions apparaissent entre parenthèses et sont séparées par des virgules. Exécutez le code et tapez Alan. Entrez. L' application affiche un message d'erreur, relancez le code et appuyez sur le contrôle plus c, le même message d'erreur. Exécutez à nouveau et tapez 20 et appuyez sur Entrée. L' application affiche le deuxième message d'erreur. Lorsque vous travaillez avec plusieurs exceptions, il est généralement recommandé de placer chaque exception dans sa propre clause except. Cette approche vous permet de fournir la gestion des clients pour chaque exception et rend plus facile de savoir précisément ce que le loyer mal. Bien sûr, cette approche est aussi beaucoup plus de travail. Faisons un exemple de la façon d'effectuer la
gestion des exceptions en utilisant plusieurs clauses except. Tapez le code suivant dans l'éditeur. Chaque clause d'examen traite les différentes exceptions. Vous pouvez utiliser une combinaison de techniques, sauf les clauses
ne traitant qu'une seule exception et l'autre, sauf les clauses traitant plusieurs exceptions. Exécutez le code et appuyez sur Ctrl plus c. Regardez le message. Maintenant, exécutez à nouveau et prenez 20. La modification du message d'erreur de la valeur que vous tapez est incorrecte. Une stratégie de gestion des exceptions consiste à fournir les clauses d'exception exactes pour toutes les exceptions connues et les clauses d'exception génériques pour gérer les exceptions inconnues. Regardez l'exception, une hiérarchie que Python utilise à cette adresse Web. Dans l'exemple suivant, nous allons utiliser l'exception de base, qui est l'exception la plus élevée, puis l'exception d'interruption du clavier. Et puis nous allons utiliser l'exception ZeroDivisionError spécifique, prendre le code suivant dans l'éditeur. Le code commence par obtenir deux entrées, valeur1 et valeur2. Les deux premières clauses à l'exception gèrent les entrées inattendues. Le troisième, sauf les clauses soulevées lorsque le résultat d'une opération arithmétique est trop grand pour être représenté, ou un nombre divisé par 0. La quatrième clause except traitait des exceptions mathématiques spécifiques comme diviser par 0. Si quelque chose se passe bien dans l'application, la clause else s'exécute, ce qui imprime le résultat des opérations. Exécutez le code. Python vous demande de taper le premier nombre, tapez Udemy, et comme prévu, Python affiche un message d'exception d'erreur de valeur. Exécutez à nouveau le code et tapez cinq est la première valeur et 0 est la deuxième valeur. Maintenant, vous pouvez voir l'exception arithmétique et le message d'erreur. Ici. Je voulais dire que cette exception arithmétique n'est pas si utile, mais je l'ai tapée à des fins d'apprentissage. Supprimons ces lignes de code et exécutons le code entier. Maintenant, vous pouvez voir l'erreur de division 0 s'exécuter à nouveau et appuyez sur Ctrl plus C. Ceci est l'exception d'interruption du clavier. Donc, dans cette leçon, j'ai fourni des clauses exactes à l'exception de la plupart des cas. Si vous avez des questions, faites-le moi savoir. Merci d'avoir regardé.
106. Souler des exceptions: Dans certaines situations, votre application doit générer une exception. Cet acte est appelé lever ou parfois jeter l'exception. Voyez quelques scénarios courants dans lesquels vous pouvez déclencher des exceptions de manière spécifique. Voyons comment vous soulevez une exception simple qu'elle ne nécessite rien de spécial. Les étapes suivantes créent simplement l'exception, puis la manipulent immédiatement. Ce code vous montre comment lever une exception fonctionne à son niveau le plus basique, exécutez le code en Python affiche l'exception attendue txt. Python fournit une gestion flexible des erreurs en ce sens que vous pouvez transmettre des informations à
l'appelant, le code qui appelle votre code, quelle que soit l'exception que vous utilisez, le code suivant montre que vous pouvez modifier la sortie afin qu'il contient des renseignements utiles. L' exemption d'erreur de valeur, il ne fournit généralement pas un nom d'attribut pour un nom commun pour une erreur de chaîne. Mais vous pouvez l'ajouter uniquement en lui affectant une valeur est affichée lorsque l'exemple déclenche l'exception et que la clause except la gère comme d'habitude, mais obtient l'accès aux attributs en utilisant e. Vous pouvez ensuite exécuter le carré e point. Rappelez-vous, pour obtenir les informations ajoutées, exécutez le code et les affichages Python et l'exception d'erreur de valeur étendue. Comme vous pouvez le voir.
107. Comment débug dans IDLE 2021: Un bogue est un
problème inattendu dans votre programmation. Ils peuvent apparaître
sous de nombreuses formes et certaines sont plus difficiles
à réparer que d'autres. Certains bugs sont assez délicats pour
que vous ne puissiez pas les attraper simplement en
lisant votre programme. Heureusement, Python inactif fournit
des outils essentiels
qui vous aideront à déboguer vos programmes facilement. Si vous souhaitez exécuter votre code
avec le débogueur intégré, vous
devez
activer cette fonctionnalité. Pour ce faire, sélectionnez le débogueur de débogage dans la barre de menus d'inactivité
Python. Dans l'interpréteur, le débogage
doit apparaître juste
avant l'invite, ce qui signifie que l'interpréteur
est prêt et en attente. Lorsque vous exécutez
votre fichier Python, la fenêtre du débogueur apparaît. Dans cette fenêtre, vous pouvez
inspecter les valeurs de vos variables locales et globales pendant
l'exécution de votre code. Cela vous donne un
aperçu de la façon dont vos données
sont manipulées pendant
l'exécution de votre code Vous pouvez également cliquer sur les boutons
suivants pour parcourir votre code. Allez-y. Appuyez sur cette touche pour avancer l'exécution
jusqu'au point d'arrêt suivant. Vous en apprendrez plus
à ce sujet dans la section suivante. Étape, appuyez sur ce bouton pour exécuter la ligne actuelle
et passer à la ligne suivante. Fini. Si la ligne de code actuelle
contient un appel de fonction, appuyez dessus pour passer
au-dessus de cette fonction. En d'autres termes, exécutez cette fonction pour
passer à la ligne suivante. Mais ne faites pas de pause pendant l'
exécution de la fonction sauf s'il y a un point d'
arrêt. Si la ligne de
code actuelle est une fonction, appuyez dessus pour
sortir de la fonction. En d'autres termes, continuez l'exécution de cette fonction
jusqu'à ce que vous reveniez de celle-ci. Attention, car il n'
y a pas de bouton inverse. Vous ne pouvez avancer qu'à
temps tout au long de l'exécution de votre
programme. Vous verrez également quatre cases
à cocher dans la fenêtre de débogage. Globals, les informations
globales de vos programmes, les locaux, les
informations locales de vos programmes pendant l'exécution. Stack, la fonction qui
s'exécute pendant l'exécution, source, votre fichier
dans l'éditeur inactif. Lorsque vous sélectionnez l'un de ces éléments, vous verrez les
informations pertinentes dans votre fenêtre de débogage. Le point d'arrêt est une ligne de
code que vous avez définie comme un endroit où l'interpréteur doit faire une pause pendant l'
exécution du code. Ils ne fonctionneront que lorsque le mode de
débogage est activé. Assurez-vous de l'avoir
fait en premier. Pour définir un point d'arrêt,
cliquez avec le bouton droit de
la souris sur la ligne de code que
vous souhaitez suspendre. Ceci mettra en surbrillance la
ligne de code en jaune est une indication visuelle
d'un point d'arrêt défini. Vous pouvez définir autant de points d'arrêt
dans votre code que vous le souhaitez. Pour annuler un point d'arrêt, cliquez à nouveau avec le bouton droit sur la même ligne et sélectionnez Effacer le point d'arrêt. Une fois que vous avez défini vos
points d'arrêt et activé le mode de débogage, vous pouvez exécuter votre code
comme vous le feriez normalement. La fenêtre du débogueur s'
affiche et vous pouvez commencer à parcourir
votre code manuellement. Lorsque vous voyez une erreur signalée dans l'
interpréteur python,
je vous laisse sauter dans le fichier
ou la ligne incriminée à partir de la barre de menus. Il suffit de mettre en surbrillance la ligne signalée ou le nombre de noms de fichiers avec votre
curseur et de sélectionner déboguer. Accédez aux
lignes obliques du fichier dans la barre de menus. Cela ouvrira le fichier
incriminé et vous
amènera à la ligne
contenant l'erreur. Cette fonctionnalité fonctionne
que le mode de débogage soit activé ou non. Python inactif fournit également un outil appelé visionneuse de pile. Vous pouvez y accéder sous l'option de
débogage de la barre de menus. Cet outil
affiche la barre
de piste d'une erreur telle qu'elle
apparaît dans la pile. Et la dernière ligne de
l'exception rencontrée par
Python inactif lors
de l'exécution de votre code. Lorsqu'une flèche inattendue ou
intéressante se produit, il peut être utile de
jeter un coup d'œil à cette pile. Sinon, cet avenir peut
être difficile à analyser et ne vous sera
probablement pas utile
à moins écrire du code très compliqué.
108. Rock, Paper, Scissors Aperçu: Bienvenue dans Rock-Paper-ciseaux,
un jeu en ligne de commande. Dans les prochaines leçons, vous
apprendrez comment écrire un jeu en
ligne de commande en ligne de commande,
gérer les entrées des utilisateurs, boucles pour plusieurs
jeux consécutifs, créer des fonctions
pour regrouper le code, utiliser dictionnaires
pour stocker des règles et remplacer les constantes
par des objets Ina. Une petite note sur les versions. Tout le code des leçons a été
testé à l'aide de Python 3.9. Il n'y a pas grand-chose ici
qui soit premier et spécifique. Tous les interprètes
commençant par Python 3.4 fonctionneront très bien. Le chemin commun pour
s'intéresser à programmation passe par
l'amour des jeux vidéo. Cela fait de l'écriture de
votre propre jeu ou lieu de départ
logique lorsque
vous apprenez à coder. Les jeux graphiques ont des
choses supplémentaires à apprendre car vous avez affaire à vous
retirer à l'écran. Les jeux basés sur la ligne de commande sont le moyen d'entrée idéal. Vous pouvez écrire un jeu de lecteur de
code, mais ne pas être enterré sous un peu de maths rabaissantes ou vectorielles. Si vous n'avez jamais joué auparavant, les ciseaux en papier rock sont
un jeu à deux personnes souvent utilisé pour décider rapidement qui
passe en premier et un jeu de société, qui obtient la première tranche de tarte ? Ronnie, une décision simple. Chaque personne compte jusqu'à trois, secoue le poing
, puis fait un symbole. C'est ce qu'on appelle le lancer. Les symboles font en sorte que les trois manières d' encercler chaque symbole
en battant l'autre. Les choix sont et font un poing montrer du rock, rocher
fracasser des ciseaux, faire une paume pour montrer du
papier, couvrir du papier
ou montrer deux doigts. Attention à l'endroit où vous
pointez ceux en Grande-Bretagne pour fabriquer les ciseaux, les
ciseaux découpés en papier. Pour créer une
version textuelle du jeu, vous devez prendre la saisie de l'utilisateur, choisir
aléatoirement le
lancer d'un ordinateur et comparer qui. Ensuite, je vais vous montrer comment
obtenir des commentaires des utilisateurs
, puis faire une boucle pour créer
une lecture répétée. Merci d'avoir regardé.
109. Rock, Paper, ciseaux avec les entrées et les boucles Python: Dans la leçon précédente, j'ai donné un aperçu du jeu. Dans cette leçon, je vais vous montrer
comment obtenir des informations des utilisateurs ,
puis utiliser une boucle pour
créer une lecture répétée. La forme la plus simple du service
de jeu en
prenant le choix de l'utilisateur, demandant à l'ordinateur de
choisir une réponse aléatoire, puis d'afficher les
résultats de l'utilisateur. Voyons un code
pour ce faire. Connectez-vous à votre compte. Ici, vous commencerez par
écrire le code. Le premier morceau de
code que vous allez
enregistrer est l'importation aléatoire. Cela charge le
module Python nommé aléatoire. Ce module contient des
fonctions qui permettent de sélectionner
aléatoirement entre les
choix et les nombres. Vous l'utiliserez pour choisir la réponse de l'ordinateur
au lecteur. En parlant de choix,
vous voudrez spécifier quels sont les choix. Dans la ligne suivante,
vous déclarerez des choix, une liste contenant les cordes, pierre, le papier et les ciseaux. Ensuite, vous allez
taper une ligne qui imprime un défi
au joueur. Alors tapez une parenthèse d'impression, guillemets doubles, faites votre lancer. Fermez les guillemets doubles
et les parenthèses. Ensuite, il faut
penser à un moyen de
demander la réponse d'un joueur. Cela se fait avec la fonction
d'entrée. La fonction d'entrée intégrée prend une chaîne utilisée pour
inviter l'utilisateur et renvoie
tout ce que l'utilisateur a saisi. Le choix de l'utilisateur
sera stocké dans la variable nommée User Choice. Vous ne devriez pas simplement accepter une chose
aléatoire de la part de l'utilisateur. Vous voulez vous assurer qu'
il s'agit d'un choix valable. Vous allez donc utiliser la fonction IF. Saisissez donc si l'utilisateur
choisit dans les choix. Cette ligne vérifie
que l'utilisateur a saisi l'un de ces éléments
dans la liste de choix. Si c'est le cas, la ligne suivante sélectionne
aléatoirement la réponse de l'
ordinateur. La
fonction de choix de modules aléatoires prend une liste et choisit aléatoirement l'un
des éléments de la liste. La sélection est renvoyée et, dans ce cas, elle est stockée dans
le choix de l'ordinateur. Ensuite, nous allons taper une ligne de
commande contenant une instruction d'impression affichant
les résultats à l'utilisateur. Tapez imprimer une parenthèse ouverte,
puis appuyez sur Entrée. Si vous n'avez pas vu
de chaîne f auparavant, c'est une façon de créer un modèle que
Python va remplir. Une chaîne f est préfixée par la lettre F, d'où le nom. Ensuite, il cherche des
supports d'accolade. Ce sont les bouclés
à l'intérieur de la ficelle. Les valeurs entre parenthèses sont remplacées par leurs variables
correspondantes. Dans ce cas, le choix de l'
utilisateur et les valeurs de choix de l'ordinateur sont
insérés dans l'étirement. Appuyez sur Entrée. Le tout est ensuite mis à l'écran
par la fonction d'impression. Puisque la fonction IF
vérifie les valeurs valides, vous devez indiquer à l'utilisateur s'il n'a pas choisi
quelque chose de valide. Dans la ligne suivante de
cette clause else,
indiquez à l'utilisateur ce
qu'il a tapé et dites-lui que ce n'était pas
un bon choix. Voyons le jeu en action. Ici. Je vais lancer le script en rock, et ça me dit
que j'ai choisi le rock et l'ordinateur
à l'aide de ciseaux. Laissez-moi le faire une fois de plus. Cette fois, je vais entrer en sucette. Non, ce n'est pas un choix valable. Chaque fois que vous
voulez jouer au jeu, réexécution de la commande
représente beaucoup de travail. Pas tant que ça, mais tu
peux quand même faciliter la tâche. Que diriez-vous de demander à nouveau à l'utilisateur
de la gorge vers le bas ? Pour ce faire, vous devez enrouler toute la logique du jeu en boucle. Une fois le résultat affiché, demandez à l'utilisateur s'il
souhaite jouer à nouveau. Modifions le code. La première étape consiste à
ajouter une boucle infinie. Après les choix de liste
avec une boucle while. L'instruction while boucle
jusqu'à ce que la condition associée soit
évaluée comme fausse,
soit vraie, ne sera jamais
évaluée à false. Cette boucle continue à jamais. La partie suivante
est le code précédent, mais incorporé à l'intérieur de la boucle. Je vais donc appuyer sur un onglet avant
chaque ligne de code
dont nous avons parlé d'indentation en Python et pourquoi c'
est si important. Pour ne pas oublier, l'indentation
est l'espace blanc principal, les espaces et les onglets avant
toute déclaration en Python. La raison pour laquelle l'indentation est importante en
Python est que Python traite les
instructions
ayant le même niveau d'indentation, instructions qui ont un espace blanc
égal ou nul auparavant. puis sous la forme d'un
seul bloc de code. Une fois Around a été joué. Ce processus, l'utilisateur,
s'il veut rejouer, appelons-le à nouveau variable. Vous allez ensuite ajouter une invite de saisie. Si l'utilisateur souhaite jouer à nouveau. Je vais ajouter une nouvelle
ligne qui vérifie les
réponses des utilisateurs et vérifie si elle
correspond à M. Pour l'instant, la méthode dot lower est appelée sur la réponse avant
qu'elle ne soit comparée. Cette méthode renvoie la version minuscule de la chaîne
utilisée. De cette façon, si
l'utilisateur saisit N majuscule, il sera transformé en n minuscule avant
d'être comparé. Si l'utilisateur indique non
, l'
instruction break est appelée. L'instruction break vous permet de
sortir de la boucle environnante. Dans ce cas, le code
continuerait jusqu'à la ligne suivante. Si l'utilisateur tape quelque chose par n, il est supposé qu'il voulait dire oui. Dans ce cas, le
code à l'intérieur de la boucle continue ici, vous allez
ajouter une impression vide, qui affichera une ligne vide. Après cela, l'exécution continue en
haut de la boucle while, demandant à l'utilisateur de faire
son prochain frisson. Tout simplement parce qu'il s'agit d'un vol, le code dit
adieu à l'utilisateur après avoir rompu de
la boucle while. Voici le nouveau
code modifié dans toute sa splendeur. Laissez-moi exécuter le code. Je vais faire un choix
cette fois, bien que papier. Il me montre ce que l' ordinateur et moi avons choisi,
puis les invite. Si je veux y retourner, je vais TBS et le jeu continue. Nous allons choisir le papier à nouveau. Maintenant, je pense que j'en ai fini. Vous voyez, n'est-ce pas sympa
qu'il ait dit au revoir, juste apporter les choix
n'est pas suffisant. Dans la prochaine leçon, je vais vous montrer
comment dire qui a gagné.
110. Rock, Paper, Scissors avec Python Comment déterminer un vainqueur: Dans la leçon précédente, vous avez commencé par écrire le code initial des ciseaux en papier
rock. Dans cette leçon, je vais vous
montrer comment ajouter un code qui déclare le
gagnant à chaque tour. Il suffit de vous montrer les choix
que l'utilisateur a faits dans le droit au choix de l'ordinateur semble un peu léger. Ajoutons du code
pour dire qui a gagné. Vous devrez
encoder la logique pour chaque situation de x beats. Pourquoi ? Nous sommes des ciseaux de roche
, des ciseaux, du papier couvre la roche et
des ciseaux coupent du papier. En tant que logique pour déterminer qui une sorte de groupe va ensemble, il serait préférable de placer
cela dans une fonction. Vous pourriez même le nommer
quelque chose de significatif. Vous commencerez à modifier
le code précédent avec la
logique de détermination du gagnant à l'intérieur. Il est recommandé de
regrouper les bits de code
associés et les fonctions. Cela permet la réutilisation du code
par plusieurs appels à la fonction et la
clarté de la lecture de votre code. Après la liste des choix, vous allez ajouter
une nouvelle ligne qui déclare la fonction show
winter. Il faut deux arguments. Le premier est nommé choix de l'utilisateur et le second choix d'ordinateur. Dans la ligne suivante, vous
allez vérifier si l'utilisateur et l'ordinateur
ont choisi la même valeur. Si SIL, le choix de l'utilisateur est le même que celui de l'
ordinateur. Ensuite, dans la ligne suivante, le programme imprime qu'
il y avait une égalité et les deux utilisateurs ont choisi la sélection
spécifique. La ligne suivante que vous
ajouterez else-if, qui ne s'exécutera que
si l'utilisateur et l'ordinateur choisissent des valeurs
différentes. Cette ligne vérifie si
l'utilisateur a choisi rock. S'ils l'ont fait, il
y a deux sous-cas. L'ordinateur a choisi des ciseaux
et donc celui de l'utilisateur. L'ordinateur a choisi le papier
dans celui de l'ordinateur. N'oubliez pas que si l'
ordinateur est choisi rock, vous n'arriveriez pas
ici, c'est qu'un peu de logique est pris par cette ligne. L'étape suivante consiste à
ajouter une ligne Lyft, similaire à cette
ligne, mais pour le papier. Une logique similaire est contenue avec le bloc else-if
traitant les conditions de gain et de perte pour le papier. Ensuite, vous le refaites
contre IRS et ses conditions de victoire
et de perte associées. Enfin, si quelque chose d'
autre que de la roche, du papier ou des ciseaux a été tapé, il est pris par la clause else. En tapant cette ligne de code. Dans ce cas, on dit à l'utilisateur
que sa gorge était mauvaise. Le code dans la boucle sauvage
est assez proche d'avant, juste avec la nouvelle ligne qui appelle la fonction show winner. Supprimez ces lignes de code, nous n'en avons pas besoin. Saisissons le nouveau
code ici. Vous êtes prêt à jouer maintenant, lançons le jeu. Tous types ROC. Rejouez. Rochez-vous encore une
fois et vous comprenez l'idée. Un gros blog si alors,
comme je viens de le démontrer, peut être un peu difficile à lire. Cela ne fait qu'empirer plus
les conditions que vous devez comparer. Ce type de code est si
courant que Python 3.1 L possède une nouvelle structure de mots-clés
appelée correspondance de motifs. Il s'agit d'une syntaxe
un peu nouvelle en Python qui affiche une série de
choix basés sur un modèle. Cette structure vous
permettra d'écrire en gros si alors des blocs avec
moins de lignes de code. Si vous avez l'habitude de changer déclaration dans d'autres langues, c'est la garde de cela. Il y a eu un débat
sur l'instruction de
correspondance des motifs , mais cependant, vous pourriez le ressentir
jusqu'à ce que Python 3.10 soit sorti, vous êtes coincé avec si
oui ou si vous l'êtes. Permettez-moi de vous montrer une vague en utilisant des structures de données dans
votre code qui
simplifie la quantité
de logique de codage et réduit la taille de l'if. Alors, sinon, bloquez. Nous allons ajouter
deux nouveaux dictionnaires, beats et messages juste
après la liste des choix. Prenons le premier changement
dans le programme précédent, qui est l'introduction
du dictionnaire beats. Ce dictionnaire stocke les perles, quelles conditions. Chaque clé du dictionnaire est, par
rapport à la liste
des choses qui battent. Vous comprendrez pourquoi utiliser
la liste dans la prochaine leçon. Cette ligne code le
fait que la roche bat les ciseaux, le papier bat la roche
et que les ciseaux battent le papier. Vous pouvez simplifier
le message adressé à l'utilisateur en changeant la
langue pour dire x bat y. Au lieu d'avoir les spécificités
des ciseaux rocheuses. Mais au lieu de cela, le verbe décrivant l'action gagnante dans un autre dictionnaire
appelé messages. Chaque clé de ce dictionnaire est un tuple décrivant
ce qui bat, quoi. Le premier dit
que lorsque le rock bat les ciseaux utilisent le mot fracasser. Cela peut être simplifié en
ayant simplement l'objet B gagnant, la clé de ce dictionnaire. Mais la leçon suivante ajoute une certaine complexité à laquelle
cela se prépare. La ligne suivante code
que le papier couvre la roche, et dans la ligne suivante,
les ciseaux coupent le papier. Laissez-moi faire défiler un peu vers le bas. Lorsque les règles du jeu sont
codées dans des dictionnaires, le code de show winter
devient un peu plus simple. ligne 1819 est la même qu' avant de vérifier
l'état thaïlandais. Mais maintenant, vous devrez changer le morceau de la fonction si
auparavant, la vérification données
incorrectes a été effectuée à la
fin de la fonction. Je vais le déplacer ici. Supprimons les
lignes de 20 à 36. La méthode des clés DOD du
dictionnaire beats renvoie une liste
de toutes les clés valides. Le choix de l'utilisateur n'est pas là. Cela signifie que ce
n'était pas un choix valable. Le bloc autre qui
commence à la ligne 22
contient maintenant tout ce qui
sera, quelle logique ? Cette ligne, je vais faire une comparaison
booléenne en vérifiant si les choix de l'ordinateur dans la liste des
éléments qui sont
BY, selon le choix de l'utilisateur. Si l'utilisateur a choisi rock, la roche clé est
appliquée aux battements. Retourner la liste
contenant uniquement des ciseaux. Si l'ordinateur a choisi des ciseaux, il y a une correspondance et la
comparaison booléenne résultante est vraie. Ces valeurs stockées
dans l'utilisateur gagnent. La ligne suivante évalue ensuite l'utilisateur appelé booléen gagne. L'utilisateur a gagné
qu'il n'a regardé le verbe approprié dans le dictionnaire
des messages en utilisant le tuple de
choix de l'utilisateur et de
l'ordinateur comme clé pour les choix
de roche et de ciseaux, le résultat sera : fracasses. Avec le verbe, prêt à partir. Il ne reste plus qu'à
l'utilisateur la bonne nouvelle. Cette chaîne de caractères affiche
le choix de l'utilisateur, le choix de l'ordinateur
et le verbe associé. Notez qu'à
l'intérieur des supports pour le choix de l'utilisateur, il y a bien plus que
la variable. Une chaîne f
vous permet d'appeler des méthodes
sur des objets chaîne qui ne mettent pas majuscule la méthode renvoie une nouvelle chaîne avec la première
lettre en majuscule. Cela fera paraître le début
de la phrase. Bien sûr, l'utilisateur
ne gagne pas toujours. La clause else fait
la logique miroir. Comme l'ordinateur est un, le verbe est recherché en utilisant
l' inverse du tuple
dans le bloc précédent. Ensuite, l'utilisateur est
informé de la mauvaise nouvelle. Le code est un peu
plus court que le grand bloc
si alors sinon de
la leçon précédente. Cela ne
vaut peut-être même pas la peine dans ce cas, mais lorsque le jeu devient
plus compliqué, vous aurez économisé beaucoup de travail. Pas grand-chose à voir ici que
vous n'avez jamais vu auparavant. Le code a été refactorisé, mais le résultat final
est censé être la même prise de
décision tripartielle est tout simplement pas assez complexe. Félicitations, vous venez de finir
de coder un jeu en Python. Vous savez maintenant comment créer des ciseaux en papier roche
à partir de zéro. Et vous pouvez
augmenter le nombre d' actions
possibles dans votre
jeu avec un minimum d'efforts. écriture de jeux est le moyen amusant de s'entraîner à écrire du code. Dans ce projet,
vous avez implémenté une version textuelle de ciseaux en papier
rock. Vous demandez à l'utilisateur de l'
entrer et l'avez validé, boucle ou en code pour
permettre aux jeux répétés ajoutés à la fonction show winter
afin de déterminer qui a gagné et simplifié votre fonction show
winter en remplaçant certains logique conditionnelle avec une représentation de données
stockée dans le dictionnaire. J'espère que vous avez trouvé de la valeur
dans ce projet. Merci de votre
attention et je vous
verrai dans la prochaine leçon.
111. Qu'est-ce qu'il s'agit de programmer la programmation axée sur les objets (OOP): Salut tout le monde. Je veux vous souhaiter la bienvenue à notre leçon sur la programmation orientée objet en Python trois, c'est l'un des sujets les plus importants et les plus importants dans toute la programmation. Et comme vous pouvez le voir, nous avons beaucoup à couvrir. Cette série vous fournira une compréhension conceptuelle de base de la programmation orientée objet afin que vous puissiez prendre vos compétences en programmation Python au niveau supérieur. Pour bien comprendre le sujet, nous devons d'abord comprendre pourquoi nous avions besoin de programmes ou de choses trop compliquées. Et il y a 100 façons différentes de définir ce qu'un programme est formel. Pourtant, fondamentalement tous les programmes ou ensemble d' instructions pour manipuler les données d'une manière significative. Quand j'enseigne Python aux enfants, je leur demande toujours d'écrire un programme qui calcule combien de jours ils ont. Et c'est un excellent exemple de programme qui suit ces trois étapes. Tout d'abord, le programme doit demander à l'utilisateur sa date de naissance. Ce sont les données qu'il va accepter. Ensuite, il manipule les données en soustrayant la date actuelle de la date de naissance de l'utilisateur. Enfin, le programme affiche le résultat de ce calcul à l'écran. C' est un excellent programme de démarrage, mais c'est très trivial. Comment pouvons-nous gérer de grands programmes avec beaucoup de données pour garder une trace comme un jeu vidéo ? Comme vous l'avez peut-être deviné, c'est là que la programmation orientée objet entre en jeu. programmation orientée objet, ou OOP en bref, est un paradigme de programmation assez commun. En formellement, cela signifie qu'il s'agit d'une façon spécifique de concevoir des programmes, comme un style largement utilisé dans les projets logiciels. Tous les programmes ne devraient pas être écrits avec cela. Oop, mais beaucoup le sont. Et beaucoup de langues supportées. Une grande partie du code Python avec lequel vous interagissez quotidiennement sera écrite en utilisant OOP. Comprendre cela est une partie fondamentale pour devenir un programmeur Python gripe. Il ouvre la porte à la création de logiciels vraiment cool. Au cœur de la POO se trouve l'idée qu'un programme est composé de beaucoup d'objets individuels. Vous pouvez penser à ces objets sont des entités ou des choses dans votre programme. Souvent, ils sont comme les noms de votre projet, tels que la personne, une maison, un e-mail ou toute autre entité comme ça. Ces objets sont comme de petits paquets de données qui sont transmis tout au long de la vie de votre programme. Par exemple, une personne peut avoir des propriétés telles que le nom, l'âge et une adresse de domicile. Il s'agit des données individuelles que l'objet stocke tout au long de sa vie dans le programme. Lorsque nous créons cet objet de personne, nous nous assurerons de lui donner un nom, un âge et une adresse. Les objets ont également des comportements. Ce sont les actions que l'objet peut prendre. Notre personne devrait pouvoir marcher, parler et respirer, par exemple. Souvent, ces comportements seront nécessaires pour être référencés dans les propriétés de l'objet. Par exemple, si nous faisons imprimer notre comportement de conversation le nom et l'âge de la personne, alors notre objet de personne aurait besoin de savoir quel est son âge et son nom. Ces propriétés que nous lui avons données plus tôt. Si tout cela semble un peu déroutant en ce moment, ne vous inquiétez pas, quand j'ai commencé à programmer, c'était le premier véritable obstacle que j'ai rencontré. Et il a fallu du dévouement et de la pratique jusqu'à ce que je le comprenne enfin. Nous ferons un usage intensif des objets tout au long de ces leçons. Et vous allez adorer le sentiment que vous obtenez quand il suffit de cliquer pour vous. Dans la vidéo suivante, nous allons apprendre à définir nos propres objets en utilisant des classes Python. Je te verrai là-bas.
112. Cours dans Python: Bienvenue dans notre série de vidéos sur la programmation orientée objet en Python. Dans la dernière vidéo, nous avons appris ce qu' est la programmation orientée
objet et quel problème elle résout. Maintenant, regardons comment nous pouvons définir nos propres objets dans les programmes Python. Pour créer nos propres objets, nous utilisons des classes Python. Les classes sont utilisées pour créer des objets pratiquement autant d'objets uniques que nous le voulons. Ils définissent également un type. Par exemple, jetez un oeil à ce code. Mon nom de soulignement est égal à Austin. Ici, nous créons une nouvelle variable appelée mon nom avec une valeur d'Austin. Dans les coulisses de la variable est en fait référencer un objet. Le type d'objet est STR, court pour chaîne, qui est construit sur le type de données Python que vous avez probablement utilisé auparavant. Python définit une chaîne est une classe et afin de créer ce type d'objet de STR, nous avons instancié la classe STR pour instancier une classe ou pour créer une instance d'une classe, signifie
simplement créer un objet à partir de cette classe. Vous avez ici le mot instanciation jeté beaucoup dans la programmation. Alors rappelez-vous juste, cela signifie prendre une classe et créer un objet à partir de cette classe. Pour rendre cela un peu plus clair, je vais utiliser une de mes analogies préférées. Disons que nous sommes en train d'écrire un programme qui crée des portes. Nous commencerons par créer une classe pour une seule porte. Cette classe ici est comme le plan pour lequel nous construisons tous nos objets de porte. La classe spécifiera certaines propriétés et comportements. Rappelez-vous, chacun de nos objets de porte aura ceux-ci et il y aura indépendant de chaque objet de porte. Une porte peut avoir des propriétés telles que la hauteur, couleur de la
peinture, et si elle est actuellement verrouillée ou non. Il peut également avoir des comportements tels que l'ouverture, fermeture et le verrouillage à bascule. Nous avons défini une classe de porte, mais nous venons également de définir un nouveau type que nous pouvons utiliser dans notre programme. Créons un objet de porte d'une hauteur de 50 pouces, peint en orange. Et nous dirons juste que nous le construisons, il est déverrouillé. Ici. On vient d'instancier la classe des portes. Rappelez-vous, cela signifie que nous avons créé un type d'objet de porte à partir de notre classe de portes. Et nous ne nous limitons pas à en créer un. Comme dans le monde réel, nous pouvons construire beaucoup de portes à partir d'une seule porte. Nous pouvons initier de nombreux objets de porte de notre classe de porte unique. Ici, j'en ai instancié un de plus. Notez que chacun de ces objets de porte est unique. Ils ont des hauteurs et des couleurs différentes et chacun d'eux peut être verrouillé ou déverrouillé à tout moment. On peut changer la couleur de la peinture d'une seule porte et cela n'affecte pas le reste. Ces objets sont tous indépendants et ils ne s'appuyaient plus sur la classe. La classe dit juste à Python comment créer les objets. Voici une question. Pouvez-vous penser à des scénarios où des classes et des objets pourraient être utilisés dans un programme du monde réel. Dans la vidéo suivante, je vais vous donner quelques exemples, puis nous allons
apprendre comment les classes sont réellement construites en Python.
113. Cours et instances: Bienvenue à notre programmation orientée objet en Python. Dans la dernière vidéo, j'ai posé la question, nous allons utiliser des classes et des objets dans des logiciels réels. J' ai trouvé deux exemples, des jeux
vidéo dans les navigateurs Web. Pour un jeu vidéo, nous pourrions définir une classe ennemie dans les propriétés Holt comme le nom de l'ennemi, leur état de santé actuel et leur niveau de puissance. Pour les comportements, ils pourraient être en mesure d'attaquer, de subir des dégâts, et enfin, si leur santé est assez faible, déclaré défaite. Les jeux vidéo sont un excellent exemple de conception logicielle orientée objet complexe. Ils sont construits avec beaucoup et beaucoup de classes et ensuite ils comptent les uns sur les autres d'une manière ou d'une autre. Le navigateur Web que vous utilisez actuellement peut également être conçu avec OOP. Les barrages individuels peuvent chacun être leurs propres objets instanciés à partir de la classe de tabulation. Les propriétés peuvent être le texte du titre, que l'onglet soit actuellement
affiché ou non , ainsi que la page Web affichée par l'onglet. Pour les comportements, nous pourrions avoir des vêtements et recharger. Maintenant, regardez chacune de ces propriétés attentivement. Je pense que le texte du titre est représenté sous forme
d'une chaîne et que l'onglet est ouvert ou non. Eh bien, ça pourrait être un booléen, vrai ou faux. Mais à quelle heure devrait notre propriété de page Web B, il n'y a pas de type de données intégré dans Python qui peut stocker tout sur une page Web. Donc, ici, nous pouvons réellement créer une classe distincte appelée page avec ses propres propriétés et comportements. Comme vous pouvez le voir, les propriétés d'une classe Python ne sont pas limitées aux types de données
intégrés en Python comme INT et SDR. Nos propres pages personnalisées comme la page peuvent également être utilisées comme propriétés d'autres classes. Lorsque nous instancions un TAM de classe ci-dessous, nous devons également lui fournir un objet de page à stocker, tout comme nous devons lui fournir un objet STR pour le nom. Le but de cet exercice était de vous montrer que logiciel est une collection d'objets qui interagissent les uns avec les autres. après mon expérience, la partie la plus difficile de l'apprentissage de la
POO n'est pas réellement d'apprendre les concepts eux-mêmes, mais d'apprendre à concevoir un logiciel en termes de POO, la planification de votre projet logiciel prend souvent beaucoup plus de temps que le revêtement ça. C' est quelque chose qui peut défier à la fois les nouveaux développeurs et les développeurs de la saison. Comme vous le savez maintenant, une classe a défini à la fois les propriétés et les comportements de son objet. Alors maintenant, écrivons un. Pour définir une nouvelle classe, nous commençons par un mot-clé classes suivi du nom de la classe. Assez facile. Et bien, nous n'avons pas vraiment appris comment définir les propriétés sont des comportements en Python. Alors écrivons simplement des chemins. C' est un mot-clé spécial qui indique à Python qu'il s'agit d'une classe vide. Avant de pouvoir ajouter des propriétés à notre classe, nous devons en apprendre davantage sur leur fonctionnement en Python. Tout d'abord, les propriétés sont en fait appelées attributs en Python. Il s'agit de deux types d'attributs, les attributs d'
instance et les attributs de classe. Les attributs d'instance sont ce que nous avons vu auparavant. Ce sont les attributs qui sont indépendants de chaque objet comme la couleur de la porte ou la hauteur. Dans l'exemple précédent. Dans cet exemple, notre chien classe à attributs instantanés, nom et âge. Ce déf soulignement, soulignement, init, soulignement, soulignement. C' est une fonction très spéciale qui appartient à notre classe. Ceci est appelé l'initialiseur, et il est en quelque sorte similaire à un constructeur. Si vous avez déjà vu ça dans une autre langue, nous n'appelons pas cette fonction nous-mêmes. Au lieu de cela, Python appellera automatiquement cette fonction lorsque nous instancions la classe. En d'autres termes, cette fonction est utilisée pour construire un nouvel objet à partir de la classe. L' objet de l'initialiseur est de fournir à notre objet des valeurs d'attribut initiales. Vous pouvez voir que cet initialiseur prend trois paramètres, nom de
soi et âge. Lorsque nous instancions la classe de chien, vous devrez passer les valeurs pour le nom en âge, puis cette fonction attribuera aux nouveaux objets ces valeurs. Self est un mot-clé très spécial, et le fait que nous devons l'inclure dans nos paramètres est l'un de ces petits bouchons Python. Nous ne transmettons pas de valeur pour soi lorsque nous créons l'objet. Au lieu de cela, self est utilisé pour faire référence à l'objet en cours créé pendant l'instanciation. Donc, quand on dit que self.age est égal à l'âge, on dit de prendre la valeur de l'âge, on passe et on attribue ça aux nouveaux objets. Ne pas l'attribut âge, et la même chose vaut pour le nom. Rappelez-vous avant comment nous avons dit que chaque objet a ses propres valeurs indépendantes pour ses attributs comme comment une porte peut être orange et une autre gris. Eh bien, ce n'est pas forcément le cas. C' est là que les attributs de classe entrent en jeu. Contrairement aux attributs instantanés, qui sont indépendants pour chaque instance de la classe, classe, les attributs sont les mêmes pour chaque instance. Pensez-y comme ça avec des attributs instantanés, nous pourrions peindre une porte une nouvelle couleur et cela n'affecterait pas les couleurs des autres portes. Cependant, si nous faisons de la couleur un attribut de classe et que nous la définissons sur jaune, alors toutes les portes seraient jaunes par défaut lorsqu'elles sont instanciées. Ceci est juste une valeur par défaut pour la classe. Cela ne veut pas dire qu'on doit instancier toutes nos portes. Changer la couleur d'une porte changera tous. Si vous pensez statique en
ce moment, c'est un peu différent. Dans l'exemple de la classe aube, espèce est définie à l'extérieur si la fonction d'initialiseur, ce qui signifie qu'il s'agit d'un attribut de classe. Cela signifie que chaque chien que nous instancions sera par défaut un mammifère. Et nous ne pouvons pas changer cela quand nous créons un nouvel objet Dog. Dans la vidéo suivante, nous commencerons à programmer notre classe de chien et nous verrons comment l'instanciation de classe fonctionne en Python.
114. Ajouter des attributs à un cours Python: Bienvenue dans notre série sur la programmation orientée objet en Python. Dans la dernière vidéo, nous avons appris comment les classes Python peuvent définir fois des attributs de classe et
des attributs d'instance pour mieux comprendre comment les classes sont instanciées. Allons vers le shell Python. Bon, donc je suis ici dans le shell Python et je vais commencer par créer un nouveau chien de classe. Et je vais juste écrire passe, qui dira à Python que nous voulons un objet vide. Maintenant, je vais simplement appeler un chien comme ça. Python instanciera cela et il
nous dira réellement l'adresse mémoire de notre nouvel objet Dog. C' est ce numéro fantaisiste juste ici. Maintenant, créons un autre objet chien. Pensez-vous que ce nouvel objet partagera la même adresse mémoire que le premier ? Ou est-ce que ça va être différent ? Si nous appuyons ici, vous verrez que ce nouvel objet a une adresse mémoire légèrement différente. C' est parce que chaque incident de notre classe de chien est unique. Bien sûr, les deux objets sont créés à partir de la même classe, mais ce sont toujours des objets différents en mémoire. Si nous remplissons réellement notre classe avec l'initialiseur, nous pourrions attribuer différents attributs à chaque objet. Et juste pour ramener ce point à la maison, je vais créer deux nouveaux chiens et je vais les stocker dans les variables a et b. Donc, à ce stade, a et B sont les deux variables qui pointent vers des objets en mémoire, des objets et des chiens de type. Nous pouvons facilement vérifier s'ils sont le même objet en utilisant l'opérateur double égal. Et si j'appuie sur Entrée, nous verrons qu'ils ne sont pas des objets de chien différents a et B pointés, même si les deux objets sont vides. Et pour prouver que ces deux variables sont de type chien, j'utiliserai la fonction intégrée de Python L, Donnez-lui un comme argument. Comme vous pouvez le voir que cette variable pointe vers un objet qui a été instancié à partir de la classe chien. Maintenant, nous allons enfin construire une vraie classe de chien et créer de vrais objets de chien. Je suis ici dans le Python inactif, et je vais commencer par définir une nouvelle classe appelée chien. Ensuite, je vais taper des espèces égales à des mammifères. Cela va créer un attribut de classe pour notre chien. Cela signifie que chaque nouveau chien que nous créons sera un mammifère par défaut. Mais maintenant, je veux écrire des attributs d'instance uniques. Donc, je vais ajouter un initialiseur à la classe en tapant ma fonction init. Et maintenant, nous aurons besoin de trois paramètres
: moi, nom et âge. Rappelez-vous, nous ne fournissons pas réellement de valeur pour soi, mais nous devons faire quelque chose avec ces noms et paramètres d'âge. Donc tous disent à Python que nous voulons les affecter à un nouvel objet en cours de création. Ici, des références auto à l'objet en cours de création. Donc self.name est égal au nom, signifie attribuer le paramètre name au nom de ce chien. Et c'est tout. Nous avons créé notre classe de chiens. Utilisons-le en fait. Nous allons créer une nouvelle variable appelée Tommy. Et ça va pointer vers un objet chien. Nous créons un nouvel objet en tapant le nom de la classe suivi par les parenthèses, presque comme s'il s'agissait d'une fonction. Lorsque nous faisons cela, Python va réellement appeler l'initialiseur dans les coulisses. De même, nous devrons fournir nos arguments de nom et d'âge. Alors, prenez le nom de Tommy et on lui donnera cinq ans. Ensuite, faisons un autre chien nommé Lily, et on lui donnera un âge de sept ans. Félicitations, si vous avez suivi, vous venez de créer un instancié de votre première classe. ce moment, nous avons deux chiens, un nommé Tommy avec cinq ans, et l'autre nommé Lily avec sept ans. Mais comment pouvons-nous réellement accéder aux données à l'intérieur de ces objets ? Pour ce faire, nous pouvons utiliser le modificateur d'accès, qui en python est le point. Donc, je vais taper une déclaration d'impression. Je dirai que le blanc est vide et le blanc est vide. Et puis j'appellerai la fonction de formation du DOD sur cette chaîne, qui nous permettra de remplir ces blancs. Parce que nous avons quatre blancs, devra passer dans la fonction de format Don pour les arguments. Donc je vais passer le nom de Tommy dot, Tommy dot, age, Lily, ne nomme pas Lilly Dawn age. Ceux-ci vont accéder à tous les attributs de nos deux objets. Regardez ensuite, voir si les deux chiens ont l'attribut mammifère. Je vais taper si Tommy dont espèce est égale à la corde mammifère, alors je veux imprimer vide est vide. Alors comme avant, je vais remplir ces blancs avec le nom de Tommy et espèces
Tommy en utilisant la fonction de format de point. D' accord, exécutons le code. Et le côté ci-dessus ici, nous pouvons voir exactement ce que nous attendions. Tommy a cinq ans et Lily a sept ans, ce qui est de notre première impression. Et puis parce que Tom est un mammifère, nous avons aussi vu que Tommy est un mammifère imprimé à l'écran. Maintenant, changeons un peu les choses. Après avoir créé de nouveaux objets d'un chien, modifions leurs attributs. Donc je vais monter quelques lignes et je vais taper Lily point h égal à huit, et ensuite Tommy a fait des espèces égales à la souris. Maintenant, mettez cette vidéo en pause et jetez un oeil à ce code et pensez à ce qu'il va imprimer. Bon, jetons un coup d'oeil. On voit que le Tommy a 5 ans et Lily a 8 ans. C' est parce qu'un changement de l'âge de Lily après que nous avons créé l'objet. Et remarquez que Tom n'est plus un mammifère. C' est parce qu'on change Tommy pour être un mammifère à une souris. Et encore une fois, nous l'avons fait après avoir créé l'objet. Lorsque nous attribuons une valeur à ces attributs, l'initialiseur n'a pas été utilisé et cela n'est utilisé que lorsque nous créons de nouveaux objets, pas modifions leurs attributs. En outre, si vous remarquez ici, les deux objets Doug sont complètement indépendants l'un de l'autre. Même s'ils venaient de la même classe. Même si je change Tommy pour être un mammifère à une souris, Lily est toujours un mammifère. Et ce droit là est juste gratter la surface de la puissance de la programmation orientée objet. Dans la vidéo suivante, nous allons jeter un oeil aux méthodes d'instance, qui est la façon fantaisie Python de dire les comportements de classe. Je te verrai là-bas.
115. Ajouter des méthodes à un cours Python: Bienvenue dans notre série et notre programmation orientée objet en Python. Dans la dernière vidéo, nous avons créé ce cours Dawn ici, et nous avons imprimé quelques informations sur chacun de nos objets de chien sur l'écran. Si vous vous en souvenez, nous avons créé des objets de porte qui pourraient être ouverts, fermés et des journaux. J' appelle ces comportements juste pour démontrer les concepts. Mais en Python, ces méthodes sont en fait appelées méthodes d'instance. Une méthode est juste fondamentalement une fonction qui appartient à une classe. Il utilise exactement la même manière qu'une fonction, sauf comme l'initialiseur, nous devons inclure un paramètre auto. Créons effectivement des méthodes d'instance. abord, nous avons besoin d'un moyen pour le chien de signaler ses attributs et d'une bonne façon formatée. Nous allons créer la nouvelle méthode d'instance appelée description. Et rappelez-vous que nous devons inclure le paramètre auto ici. Et maintenant, nous allons taper return a blank a vid years, et nous allons utiliser la fonction de format pratique pour remplir ces blancs passant dans self.name, self.age comme arguments. Notez ici, comment nous ne sommes pas directement imprimer sur la console. Au lieu de cela, nous avons cette méthode pour retourner une belle chaîne formatée avec un attribut de danse cuit dedans. Nous devrons donc imprimer manuellement plus tard. Ensuite, nous devrions ajouter un moyen pour le chien de parler quelque chose. Donc, créons une nouvelle méthode d'instance et nous appellerons celle-ci parler. Cela prendra le paramètre de cellule comme avant, mais je veux que son travail puisse dire ce qu'on lui dise. Et ajoutons un autre paramètre appelé son. Cela devra être fourni lorsque nous appelons cette méthode plus tard. Enfin, nous retournerons une chaîne formatée où le nom du point de chien indique le son que nous passons comme avant. Maintenant, supprimons tout cet ancien code de la dernière fois et nous allons créer un nouvel objet Dog appelé Tommy avec le nom de Tommy et un âge de six ans. Tout comme avec les attributs, nous pouvons utiliser dot pour accéder aux méthodes instantanées à. Maintenant, vous pourriez être tenté d'écrire la description de Tommy dot ici. Et bien que techniquement ce n'est pas mal, cela ne produirait rien sur la console. C' est parce que nous avons la méthode de description DOD renvoyant une chaîne formatée plutôt que de l'imprimer directement. Et donc ce code ici obtiendra cette chaîne formatée, puis ne fera littéralement rien avec elle. Si nous voulons réellement le voir, devra passer le retour de cet appel de méthode dans la fonction d'impression. La prochaine fente pour utiliser notre méthode de parole écrira imprimer Tommy, ne parle pas, et ensuite nous passerons dans le graphique, le graphique. Et maintenant, si nous exécutons le code, nous verrons qu'à droite nous avons Tommy a six ans, suivi du graphique Tommy Says, graphique. Comme vous pouvez le voir, les méthodes d'instance fonctionnent et ils peuvent accéder à la fois aux attributs qui appartiennent à l'objet actuel ainsi qu' nouvelles données que nous transmettons sous la forme d'un paramètre de méthode. Créons une autre méthode d'instance qui
sera appelée chaque fois que le chien célèbre son anniversaire. Nous reprendrons nos cours ici et nous appellerons cette nouvelle méthode d'anniversaire. Maintenant, dans le corps de la méthode, je vais taper l'âge auto plus un, ce qui augmentera l'attribut d'âge du chien d'un. En d'autres termes, chaque fois que cette méthode est appelée, l'attribut d'âge interne des chiens augmentera d'un. Donc maintenant tout en bas, je peux dire Tommy dot anniversaire et puis peut imprimer oh, Tommy DOD description à nouveau. Notez comment nous n'avons pas eu à mettre un appel de méthode d'anniversaire dans la fonction d'impression. C' est parce que la fonction d'anniversaire ne renvoie pas réellement de données que nous pouvons imprimer. Il change juste les attributs internes de l'âge de notre chien. Donc maintenant, si je lance le code, on peut voir que Tommy est six graphes et maintenant Tommy a sept ans. À ce stade, nous sommes presque à la fin de notre tutoriel POO, mais je dois vous avertir, la dernière partie peut être un peu difficile à saisir si vous n'avez pas déjà au moins une compréhension de base de tout ce que nous avons couvert jusqu'à présent. Je suggère fortement de pratiquer ces concepts en créant vos propres classes Python, puis en les instanciant. Rappelez-vous, une classe peut être pratiquement n'importe quel nom. Alors regardez autour de vous et voyez si vous pouvez modéliser quelque chose dans votre code et posez-vous quelques questions sur quand vous concevez votre classe, quels attributs que l'objet ont à tous les objets ont la même valeur pour cet attribut par défaut ? Ou sont-ils tous connus depuis le moment où ils sont créés ? Quels comportements l'objet présente-t-il réellement ? Et comment ces comportements pourraient-ils changer l'attribut de l'objet ? Si vous êtes vraiment prêt pour un défi, créez une classe où l'un de ses attributs est en fait un autre type personnalisé que vous définissez, tout comme nous l'avons fait avec la classe d'onglet stockant un objet de page. Si vous pouvez le faire, alors vous devriez certainement avoir une bonne compréhension de ce matériau et vous serez prêt à aller de l'avant. Et d'un autre côté, si vous êtes toujours aux prises avec ça, ne vous sentez pas mal du tout. Comme je l'ai mentionné au tout début, c'est un concept très difficile pour beaucoup de nouveaux programmeurs à saisir, y compris moi-même. Cela vous oblige à penser à votre logiciel d'une manière qui vous est probablement complètement étrangère. Et ce n'est pas quelque chose qui est facile à maîtriser. Si vous êtes confus à propos de quelque chose ou que vous l'avez oublié,
c' est une bonne idée de regarder à nouveau les parties précédentes de la section. Donnez-vous beaucoup de temps pour pratiquer. Et une fois que vous avez compris le concept, revenez et apprenez le dernier concept appelé héritage. Merci d'avoir regardé.
116. Introduction à Inheritance Introduction à OOP: Bienvenue dans notre série sur la programmation orientée objet en Python. Dans la dernière vidéo, nous avons appris sur les méthodes d'instance qui sont utilisées pour représenter les comportements sont les objets ont toute l'idée de classes créer des objets, petits paquets de données associées et des actions est une chose vraiment puissante. Mais il est également sensible aux mauvaises pratiques de codage appelées sèches. Dry signifie ne pas vous répéter. Cela dit, lorsque nous écrivons du code, nous devrions éviter de copier et de coller les mêmes morceaux de code chaque fois que possible. Si vous exécutez une programmation Python non triviale et que vous vous retrouvez à copier et coller des attributs et des méthodes instantanées entre beaucoup de classes différentes. Cela signifie qu'il est probablement temps de repenser la façon dont vous concevez votre logiciel. Jetez un oeil à cet exemple. Disons que nous sommes en train d'écrire un programme qui est censé construire, maintenir beaucoup de personnes différentes. Comme vous pouvez probablement le deviner, chaque personne va être un objet. Mais voici la cabane. Nous pouvons avoir des objets de gens généraux, et ensuite nous pouvons avoir un type spécial de personnes appelées un bébé. Un bébé peut faire tout ce qu'une personne normale pourrait faire, sauf qu'il pourrait faire les choses un peu différemment comme parler. En outre, il peut également
avoir des comportements uniques qui sont la personne générale n'a pas, tels que la capacité de faire une sieste quand il le veut. Être un bébé a l'air génial. Comme vous l'avez deviné, nous allons avoir besoin de deux cours différents ici, un pour la personne et l'autre pour le bébé. Vous remarquerez ici que ces deux classes sont exactement les mêmes, mais la classe bébé a maintenant un comportement de plus appelé sieste. Maintenant, nous pourrions concevoir notre logiciel de cette façon et cela fonctionnerait bien. Mais rappelez-vous, un bébé doit être capable de faire tout ce qu'une personne plus générale peut faire, quoique parfois un peu différemment. Cela signifie que notre classe de bébé va avoir exactement les mêmes méthodes d'instance qu' une classe de personne a dans la plupart de ces méthodes vont regarder exactement le même. Mais maintenant que se passe-t-il si nous voulons apporter un changement à la classe Person ? Si nous changeons l'action de quelque chose comme sauter à filer, alors nous devons également changer les méthodes d'action du bébé ainsi. Et si nous ajoutons une autre classe comme adulte ou adolescent, alors nous devrions aussi maintenir ces deux-là. copie de code peut rendre les choses plus faciles dans le moment, mais cela peut rendre notre logiciel vraiment difficile à maintenir plus tard,
surtout à mesure qu'il grandit. Pour résoudre ce problème. Prenons un peu de recul et réfléchissons aux relations qui existent entre ces deux classes. Je pense que vous seriez d'accord pour dire qu'un bébé est une personne, non ? C' est pourquoi il partage les mêmes comportements que la classe Person. Alors que se passe-t-il s'il y avait un moyen que nous puissions faire en sorte que la classe de bébé hérite
automatiquement de chaque attribut et méthode d'instance de la personne, mais ensuite les modifier un peu pour s'adapter aux besoins de la classe de bébé. Ensuite, nous pourrions même ajouter notre propre comportement comme sieste qui serait exclusif à la classe de bébé. C' est ici qu'on appelle l'héritage d'objet. Et s'il est utilisé correctement, cela rend la gestion de beaucoup de classes similaires beaucoup plus facile. héritage nous permet de faire une classe, la classe enfant, ou la classe dérivée, ou d'une autre classe appelée la classe parent ou la classe de base. En Python, la classe enfant hérite automatiquement chaque attribut et méthode d'instance de la classe parent. Mais nous pouvons également redéfinir certains attributs ou méthodes. Donc, si nous voulons que notre objet de bébé parle différemment d'un objet de personne. On peut faire ça ? Si nous voulons que notre objet bébé ait la capacité de faire la sieste, nous pouvons le faire aussi. Et si nous devons faire tourner notre personne au lieu de sauter, nous pouvons modifier la classe de personne et la classe de bébé qui va automatiquement reprendre avec ces changements. Il n'est pas nécessaire d'éditer le code à plus d'un endroit. Pour comprendre l'héritage, jetez un oeil à ce graphique à droite. Et tout en haut du graphique se trouve l'objet. Dans de nombreuses langues,
l'objet inclus Python est la classe parent de toutes les classes de la langue. Cela inclut les classes de construction comme l'INT ou le STR, ainsi que toutes les classes personnalisées que nous créons. Dans ce diagramme, vous pouvez voir que bébé hérite de Personne, qui à son tour hérite de l'objet. Comme nous le verrons plus loin, Python voit n'importe quel objet bébé que nous créons comme une personne et un objet.
117. Exemple de Inheritance: Bienvenue dans notre série sur la programmation orientée objet en Python. Dans la dernière vidéo, nous avons appris l'idée de l'héritage, ce qui nous permet de définir une classe enfant qui
hérite automatiquement des attributs et des méthodes de sa classe parent. Voyons maintenant comment l'héritage fonctionne en action. Donc, j'entends par l'éditeur Python et la première chose que
nous allons faire est de définir une nouvelle classe appelée Person. Je vais voir la description égale personne générale, ce qui sera notre seul attribut de classe. Maintenant, nous allons créer notre méthode d'initialiseur et cela va lui donner des paramètres de nom et d'âge. Comme d'habitude, nous allons définir les attributs égaux à ces paramètres. Maintenant, je voulais trouver quelques comportements que chaque personne aura. Je vais créer une nouvelle méthode d'instance appelée Speak, et le seul paramètre étant self. Et je vais faire cette impression de mon nom est vide et j'ai des années vierges. Ensuite, pour combler ces lacunes, j'utiliserai la fonction de format et je la passerai dans le self.name. Self.age est des arguments. Ensuite, je veux que notre personne puisse manger tout ce que nous lui donnons. Donc je vais dire ici, def, manger de l'auto-nourriture, point-virgule, et ensuite j'imprimerai un blanc, chaque blanc. Et pour remplir ces blancs passera en nom de soi ainsi que notre paramètre d'auto-alimentation. Enfin, donnons à notre personne la capacité d'effectuer une action. Donc, je vais créer une dernière méthode d'instance appelée action. Et quand ça s'appelle, tous disent des sauts vierges et je passerai en auto-nommé pour remplir le vide. Bon, maintenant que nous avons notre classe de personne générale, créons une sous-classe appelée bébé. Pour ce faire, je vais taper bébé comme avant, mais ensuite je vais mettre entre parenthèses. À l'intérieur de ces parenthèses devra clarifier ce que sera la classe parent du bébé. Donc, nous allons taper en personne. Et maintenant techniquement si je devais écrire des chemins dans le corps de la classe, alors notre bébé sera utilisable, mais ils feront exactement la même chose que cette personne ferait. Donc, nous voulons changer cela. Tout d'abord, je vais redéfinir notre attribut de classe de description. Je vais le mettre comme égal à quelque chose pour aimer bébé, et ça devrait marcher. Cette redéfinition ici est appelée overriding car tout objet bébé que nous créons utilisera une description spécifique à la place avec une description héritée automatiquement de la classe person. Pour ce faire, je vais taper def parler avec soi comme paramètre. Et puis je dirai imprimer maman, ce qui est juste quelques petits donneurs que j'ai inventés. De cette façon, on appelle la méthode de parler sur un bébé. Il dira ce charabia au lieu de ce que la classe parente aurait dit. Enfin, je veux donner à ces bébés et une fonctionnalité exclusive. Donnons au bébé la possibilité de faire la sieste quand il le veut. Tous disent def, sieste avec un périmètre de soi. Et puis je vais écrire imprimer en blanc, faire une sieste. Et à la place du vide, je dirai le nom de soi. Maintenant, tout objet bébé spécifique que nous créons aura la capacité de faire la sieste, mais un objet personnel plus général ne le sera pas. Tout ce que nous avons à faire, c'est d'instancier ces classes et de les mettre au travail. Je vais créer un nouvel objet de personne appelé « personne », et il aura un nom de John à l'âge de 30 ans. Ensuite, je veux appeler toutes ces méthodes d'instance de la personne. Donc, je vais taper personne point parler en personne point manger. Et nous lui donnerons du poisson. Et enfin personne.Toute action pour le voir sauter. Maintenant, créons un objet bébé appelé Baby. Je dois donner un nom et un âge à l'initialiseur pour le bébé. Mais si vous regardez, bébé n'a pas vraiment d'initialiseur. C' est parce qu'il a automatiquement hérité de la classe person. Rappelez-vous, ce bébé est également considéré comme une personne et en tant que tel, il a besoin de remplir les attributs instantanés de la personne ainsi. Donc nous allons donner à ce bébé le nom de Van EIIL et un âge d'un an. Ensuite, nous allons appeler les mêmes méthodes d'instance de notre objet bébé. Je vais imprimer les deux descriptions de notre personne et la description du bébé. Exécutons le code. Tout cet exercice nous montre comment nous pouvons définir une classe enfant ou
une classe dérivée qui
hérite automatiquement de tout de la classe parent ou de la classe de base. Nous pouvons remplacer les attributs et les méthodes comme la description et la parole. Et nous pouvons même étendre notre classe enfant pour
ajouter de nouvelles fonctionnalités comme nous l'avons fait avec la méthode NAT. Juste pour rendre cela encore plus clair, je vais passer à une nouvelle ligne et taper personne point. Si vous vous en souvenez, le Don est comme le modificateur d'accès qui
nous permet d'accéder aux attributs et d'appeler les méthodes d'un objet. Puisque cet objet est une personne, remarquez comment intellisense ne voit pas la méthode NAT. C' est parce que c'est spécifique à la classe enfant et, en tant que tel, seuls les objets enfants l'ont. Cependant, si je supprime ceci et que je suis passé à bébé et que j'appuie sur point, vous pouvez voir que nous avons accès à tout ce qui est défini dans la classe Person ainsi qu'à la méthode Net spécifique. Mais maintenant et si on nous dit que nous devons apporter un changement à la méthode d'action, peut-être que maintenant nous voulons que les deux personnes tournent autour au lieu de sauter, plutôt que d'avoir à modifier le code dans plusieurs classes différentes. Tout ce que nous avons à faire maintenant est de changer le mot saute au mot spins dans notre classe de personne. Maintenant, si nous exécutons ce code, vous remarquerez que John et les groupes tournent au lieu de sauter. Et nous n'avons pas eu à apporter une seule modification à la classe des bébés. C' est l'une des raisons pour lesquelles l'héritage est si puissant. Rappelez-vous comment plus tôt j'ai dit que dans les coulisses, Python voit chaque objet comme l'objet type. Maintenant que nous avons nos cours codés, je peux vous montrer que c'est vrai. Pour prouver qu'un bébé est une personne, je vais imprimer le résultat de cette fonction spéciale appelée est instance. Cette fonction nous dira que l'objet spécifique est un type spécifique. Cette fonction prend deux arguments, donc je vais le passer dans l'objet bébé pour le premier et je veux vérifier si l'objet bébé est une instance de personne. Si je lance le code ici, vous verrez que sur le côté droit nous voyons vrai. Et c'est parce qu'un bébé est une personne, l'objet de bébé du type bébé, mais aussi le type de personne parce qu'il hérite de tout de la classe de personne. Voyons maintenant si notre objet bébé est de type objet. Je vais changer le mot personne ici en objet minuscule. Et si nous exécutons ce code, nous verrons que notre bébé est en fait un objet. Parce que bébé est une personne et la personne hérite de l'objet. Par conséquent, bébé hérite de l'objet à comme je l'ai mentionné précédemment, chaque classe en Python hérite de l'objet. Et en fait, nous n'avons pas besoin d'écrire ça dans la déclaration de classe. La raison pour laquelle la classe d'objet existe même dépasse le cadre de ce tutoriel. Mais pour l'instant, sachez que nos objets de bébé sont techniquement considérés comme
un bébé, une personne et un objet. Et c'est une brève introduction à l'héritage. Nous n'avons pas tout couvert, mais cela vous donne une liste générale du fonctionnement de l'héritage. Comme vous pouvez le voir, l'héritage peut être extrêmement bénéfique, mais s'il n'est pas utilisé correctement, il peut être plus d'un mal de tête que tout autre. héritage est l'un des piliers fondamentaux de la programmation orientée objet, mais ce n'est pas le seul. Et il y a encore plus d'héritage que nous n'avons pas couvert ici. Mais ce tutoriel est plus axé sur les principes fondamentaux de POO
plutôt que sur les caractéristiques spécifiques de l'héritage, le polymorphisme, l'encapsulation. O p est un sujet énorme et c'est difficile à maîtriser. Mais j'espère maintenant que vous avez au moins une appréciation de base de façon dont le grand logiciel est conçu avec des classes et des objets. À mon avis, la programmation devient beaucoup plus amusante avec la compréhension de la POO. Parce que vous pouvez aller au-delà de l'écriture de programmes triviaux comme un jeu de devinettes de nombre, et passer à l'écriture de logiciels réels en utilisant des frameworks et des bibliothèques comme Django et map plot lib, codage heureux.
118. Scripts, Modules, paquets et bibliothèques 2022: Python utilise beaucoup de terminologie
sophistiquée que
vous ne connaissez
peut-être pas si vous
débutez dans la programmation ou si vous venez d'
un autre langage. Avant python, mon
arrière-plan était principalement en livres
c et
dot NET Framework de Microsoft. Je me souviens avoir
essayé d'apprendre Python, mais j'ai été un peu confus
par tous ces mots à la mode. Mon objectif dans cette leçon
est d'éclaircir certaines
choses afin que ce ne soit pas aussi
déroutant pour vous plus tard. Le script Python est mieux défini comme un fichier Python contenant des
commandes et un ordre logique. Pour que cela soit
considéré comme un script, le programme doit
faire quelque chose,
vraiment, n'importe quoi lorsqu'il est exécuté par l'interpréteur
Python. Pour mieux comprendre cela, jetez un coup d'œil à
ces deux programmes. Les deux programmes contiennent
une fonction qui renvoie la
somme de deux valeurs. Cependant, seul le programme
ou le droit
appellera cette fonction
et imprimera son résultat. Le fichier de droite est
destiné à être exécuté directement. Nous pouvons donc voir qu'
il s'agit d'un script Python. autre côté, le
programme de gauche ne
semble pas vraiment être
destiné à faire quoi que ce soit. exécution de ce fichier
ne produira aucune sorte de sortie puisque la fonction
n'a jamais été appelée, elle n'est pas destinée
à être exécutée directement. Le fichier de gauche est mieux
classé comme module. C'est parce que nous
pouvons l'importer dans d'autres fichiers pour
utiliser ses classes, fonctions, variables
et autres membres. C'est défini. Je vais changer le programme
à droite pour qu'au lieu de définir la fonction d'ajout de
parenthèses, nous l'importons à partir du
module de gauche. Cela a pour effet de rendre
la fonction d'ajout à gauche accessible
au script de droite. scripts courts sont donc Les scripts courts sont donc destinés à être exécutés directement, alors que les modules sont
destinés à être importés. script contient souvent des instructions hors du champ d'application d'
une classe ou d'une fonction. Considérant que les modules permettent
de trouver des classes,
des fonctions , des variables et d'autres membres à utiliser dans
des scripts aussi importants. Les mots scripts et modules sont souvent
utilisés de manière interchangeable. Sachez donc que vous pouvez
voir d'autres personnes les utiliser d'une
manière qui ne
respecte pas strictement ces définitions. Les paquets sont un ensemble
de modules associés. Un package peut être un module Python
individuel, mais il s'agit le plus
souvent d'un ensemble de plusieurs modules
associés regroupés ensemble. Voici le package date
util qui permet d'effectuer des opérations avancées
liées aux données. Il est regroupé dans un dossier
appelé date util. À l'intérieur, il y a un tas
de modules individuels, ainsi que des dossiers
contenant d'autres modules qui peuvent être
importés dans vos scripts Python. Ce sont des modules
car ils ne font rien d'intéressant
par eux-mêmes. Lorsque vous en importez un dans votre propre script,
rien ne se passe vraiment. Vous devez utiliser quelque chose
défini dans les modules, comme une
fonction de classe ou une variable. Ce fichier Intel spécial
indique à Python qu'il s'agit d'un package contenant potentiellement plus de modules imbriqués
dans des sous-dossiers. Nous ne pouvons pas parler de
bibliothèques sans mentionner Python
Standard Library. La bibliothèque standard Python est une vaste collection
de modules et de
packages
inclus dans votre version de Python. Cela signifie que
vous n'avez pas à les
télécharger depuis n'importe où. Vous pouvez simplement les importer dans vos scripts et commencer à les
utiliser immédiatement. Date util est un exemple de
package de bibliothèque standard, mais il y en a aussi d'autres
comme e-mail et JSON. Le principal point à retenir ici
est que beaucoup de
choses sont subjectives dans une certaine mesure
. Les scripts sont des programmes
Python exécutables qui font quelque chose lorsqu'ils sont exécutés. Les modules ou fichiers Python destinés à être
importés dans des scripts et d'autres modules afin
qu'ils soient des
membres définis tels que les classes et
les fonctions peuvent être utilisés. Les packages sont un ensemble de modules
associés qui visent
à atteindre un objectif commun. Enfin, la
bibliothèque standard Python est un ensemble de packages et de modules
pouvant être utilisés pour accéder aux
fonctionnalités intégrées. Dans un monde idéal, vous importez
sans problème tous les modules
nécessaires dans des scripts
Python. Malheureusement, ce n'est
souvent pas le cas. Dans la vidéo suivante, vous recevrez une
introduction aux modules et je vais vous montrer comment
écrire un module. Merci d'avoir regardé.
119. Écriture d'un module: Dans cette vidéo, vous obtiendrez une introduction aux modules en écrivant un court module. Il existe trois types de modules différents en Python. Le module peut être écrit en python lui-même, mais les modules peuvent également être écrits en C, puis chargés dynamiquement au moment de l'exécution. Et puis il y a aussi des modules intégrés qui sont intrinsèquement contenus dans l'interpréteur lui-même. Et vous avez peut-être déjà importé quelques-uns d'entre eux dans le passé, comme les mathématiques ou l'importation d'une ligne de date aléatoire. Pour cette vidéo, je vais vous demander d'essayer la première option, écrivant un module simple en Python lui-même. Laisse-moi te faire essayer ça et un éditeur. Tout d'abord, faisons un nouveau fichier et nommez-le mod dot PY. Mod dot PY est un fichier Python standard. À l'intérieur de celui-ci, vous allez créer une chaîne d'objets avec une petite liste et définir une fonction. Appelons simplement print_i. Pretty prend un argument appelé ARG et imprime l'impression en utilisant une chaîne F. Il y avait une déclaration d'argument selon laquelle le F est égal à l'arc dans lequel vous entrez, appelant la variable dans le rétrécissement F. Alors fais un cours. Je vais vous demander d'appeler ça le capital chic. Voilà votre classe classe classe. Et pour l'instant, ce cours ne fait rien. Il passe juste, enregistrez le fichier et exécutez-le. Ce que vous pouvez faire alors à partir du shell Python est de taper dans l'importation. Puisque vous étiez dans le même répertoire où vous avez créé le fichier, vous pouvez dire mode d'importation. Ok, qu'est-ce que ça a fait ? En important mod ? Vous avez importé tous les objets qui faisaient partie de ce code. Tu pourrais dire, OK, et bien, qu'est-ce que c'est ? Mod dot a volonté mob don a. Est-ce que lyse créé plus tôt pour mod dot S. Eh bien, c'est une chaîne. Si vous vouliez utiliser l'impression, vous pourriez dire, accord, model.predict est maintenant disponible aussi. L' argument est What is up in print_i imprime que l'ARG est égal à deux ce qui est en place ? Et vous pouvez faire un nouvel objet appelé x en utilisant MOD dot classe. Qu' est-ce que x ? Eh bien, x est un objet classe du module mod. Cool. Donc maintenant, vous avez accès à tous ces différents objets en important ce module, ce qui permet beaucoup de réutilisabilité du code. Maintenant que vous avez importé quelque chose, dans la vidéo suivante, vous allez vous concentrer sur l'endroit où l'interprète recherche les fichiers que vous importez.
120. La voie de recherche du module: Dans cette vidéo, vous allez explorer le chemin de recherche du module. Donc, d'où vous pouvez importer un module à partir de. Lorsque l'interpréteur exécute l'instruction import, il recherche ce fichier. Dans votre exemple ici, c'était math.pi. Il va chercher cela et des répertoires holistiques, les possibilités ou
le répertoire courant, ce qui signifie d'où le script d'importation a été exécuté. Et il recherche également dans la variable d'environnement de chemin Python, qui a une liste de répertoires. Lorsque vous installez Python, il y a un ensemble de répertoires qui sont configurés dans le cadre de l'installation de Python. En outre, lorsque vous importez à partir de modules de construction, c'est d'où provient le code. Et il y a un moyen de voir tous ceux, pour voir cette liste de répertoires. Laissez-moi vous montrer que dans le code à l'intérieur du répertoire Python 39, il y a un fichier math.pi. Si vous avez enregistré votre fichier math.pi dans ce répertoire, vous pouvez taper import dans mod. Le fichier math.pi est juste là. Super. Donc maintenant Ahmad don a est disponible, MA dot S est disponible. Ok. Si vous vouliez voir tous ces endroits qui peuvent être importés à partir de. Actuellement, il existe un outil appelé le
module SYN qui fait partie de la bibliothèque que vous pouvez importer. Et cela peut vous montrer le chemin Python actuel et les répertoires qui ont été configurés dans Python qui a été installé, importez SY S, qui est un module qui inclut des paramètres et des fonctions spécifiques au système auxquels vous pouvez accéder. Et l'un d'entre eux est le chemin de point syst. Donc, le chemin de point syst vous montrera une liste. Oups, j'ai oublié le point. Espérons que vous pouvez voir qu'ici, avec les crochets, ce sont tous les objets votre interprète va rechercher lorsque vous tapez le mot import, puis recherchez un module particulier que vous importez. Il s'agit du répertoire par défaut dans lequel vous vous trouvez, répertoire courant. Donc, il chercherait juste là. Ensuite, à partir de là, il va dans une version de Python que vous avez installée. Je vais sortir d'ici. Donc, ce sont tous les emplacements que vous pouvez enregistrer un fichier, soit dans le répertoire courant ou dans l'un de ces autres répertoires que vous voyez après l'exécution du chemin de point syst, que se passe-t-il si vous voulez ajouter des emplacements pour qu'il puisse importer ? C' est une possibilité de, pour prouver ce point. Je vais faire en sorte que ce ne soit pas le répertoire courant. Maintenant, si vous deviez taper import puis mod, cela va dire que le planning n'est pas trouvé, c'est actuellement dans ce répertoire ou dans
l'un des autres emplacements que si nous importons sys et utilisons this.tab, pas dans aucun de ces emplacements dans lesquels l'importation effectue une recherche. Donc, où devriez-vous mettre votre fichier de module pour vous assurer que votre script que vous utilisez la commande d'importation de l'a confiné. Vous avez quelques choix. Vous pouvez le mettre dans le même répertoire. Le script d'entrée est écrit dans, qui est considéré comme un répertoire généralement courant. Vous pouvez modifier la variable d'environnement de chemin Python, ou vous pouvez la placer dans l'un des répertoires déjà dans ce chemin Python. Vous pouvez également le placer dans l'un des répertoires
configurés dans le cadre de votre versement Python. Maintenant, il y a une autre solution qui peut être faite à l'exécution. Dans ce cas, vous pouvez modifier la liste des chemins d'accès SIS. Pour ce faire, vous allez utiliser une instruction ajouter une, tout comme vous dépendriez de n'importe quelle autre liste. Donc, dans ce cas particulier, à partir du chemin défini, vous pouvez ajouter. Et en tant qu'argument, vous allez entrer dans une chaîne brute. Donc, vous commencez par r et la citation unique. Maintenant, vous avez besoin du chemin du répertoire que vous pouvez simplement taper. En fermant mes guillemets là, c'est une erreur de nom. Peux-tu deviner pourquoi ? C'est parce qu'ils n'ont pas défini le paquet sys. Donc, nous allons taper import dot dit réexécuter cette ligne de code. Alors qu'est-ce que ça a fait ? Eh bien, si vous regardez ce chemin de point syst maintenant à la toute fin de
celui-ci, il a placé cet emplacement particulier, ce répertoire dans le chemin. Si vous deviez taper import mod, il peut maintenant l'importer dans. Super. Une chose dont vous devez vous souvenir cependant, si vous deviez ajouter ces emplacements, sont les répertoires
dans lesquels vous pouvez les importer qui ne dure que pour cette session particulière. Donc, si vous deviez quitter et recommencer pour essayer d'importer mod, il n'est pas disponible car si vous importez sys et utilisez à nouveau son chemin, vous pouvez voir qu'il ne fait plus partie de cette liste. Donc, cela devrait faire partie de votre script d'entrée. Ensuite, vous ajouteriez le chemin d'accès SIS au répertoire. Dans la vidéo suivante, vous allez approfondir cette déclaration d'importation.
121. La déclaration d'importation: Dans cette vidéo, vous allez plonger en profondeur dans la déclaration d'importation. formes rapides. L'instruction d'importation peut-elle prendre sa forme la plus simple ? C' est comme ce que vous avez déjà utilisé dans la vidéo précédente,
importer, puis le nom du module. Dans ce cas, le contenu du module ne sont pas directement accessibles à la couleur, vous devez
donc utiliser la notation par points. Le module crée un espace de noms distinct. Laisse-moi te montrer à quoi ça ressemble. Maintenant, vous avez déjà pratiqué cela, mais vous pouvez taper import mod et ensuite importer votre module. Maintenant, l'astuce est que les objets que vous avez déjà importés ne sont pas dans le même espace de noms local, ils ne sont pas dans la table de symboles locale. Donc, si vous deviez taper la lettre a et que l'objet n'est pas disponible, S n'est pas disponible. print_i, l'un de ces objets ne sont pas disponibles. Vous devez d'abord utiliser une notation Don commençant par le nom du module après avoir ajouté le DOD. Maintenant, je peux accéder à un ou vous pouvez accéder à s ou même print_i. Comme note, vous pouvez importer plusieurs modules à la fois, incluant
simplement une virgule entre les noms de chacun. Comme alternative, des objets individuels du module peuvent être importés comme ceci à partir de, puis le nom du module importer, puis les noms des objets importent. Et puis vous utiliseriez les noms d'objets où vous pouvez utiliser plusieurs avec des virgules entre eux. Les objets individuels sont directement accessibles à la couleur, puis ils sont importés directement dans la table des symboles de couleur, ce qui signifie que vous n'avez pas besoin de séparer l'espace de noms à ce stade. Laisse-moi te montrer à quoi ça ressemble. Ils ont donc été importés à partir de la table de symboles locale. S est réellement disponible et l'impression dans l'espace de noms local ne vous oblige pas à utiliser la notation de points. Il est nécessaire d'être prudent cependant, si vous deviez créer un objet a, et disons qu'un a quelques chaînes dans une liste. Il y a un. Mais si vous deviez importer un à partir de votre module de nœud, qu'arrive-t-il au local existant a ? Eh bien, il a été écrasé, et donc cela crée une collision, si vous voulez, écrasant l'objet existant. Il est donc nécessaire d'être prudent avec l'espace de noms ici dans des noms génériques simples. Maintenant, il est également possible d'importer tout à partir d'un module à la fois. Dans ce cas, il sera de puis l'importation du nom du module, puis un signe d'astérisque. Vous avez probablement vu cela auparavant dans un script ou deux, que cet endroit est tous les noms des objets dans la table de symboles locale. La seule chose qui ne sera pas importée comme tout ce qui commence par un trait de soulignement, en le gardant privé du module lui-même. Cela n'est pas nécessairement recommandé, sauf si vous connaissez tous
les noms qui ne vont pas entrer en conflit ou remplacer les noms existants, vous pouvez rencontrer des problèmes. Cela prendra tous les objets nommés du module dans le SymbolTable local. Alors maintenant les cours là-bas. L' objet de chaîne S. Je vais quitter à nouveau. Vous pouvez également avoir des objets individuels, puis les avoir nommés dans autre nom qui ressemblerait à ceci à partir de l'importation du module, quel que soit le nom de l'objet. Et puis comme ce que vous voulez que l'objet soit renommé, comme vous pouvez le faire plusieurs fois, ce qui permet de placer les noms directement dans le SymbolTable local. Par conséquent, cela éviterait les conflits avec les noms existants. Vous devez toujours faire attention à ce que vous choisissez comme noms alternatifs. Dans cet exemple, vous avez toujours des variables locales qui sont appelées a et une autre nommée S, qui est une chaîne. Voici les deux objets a et as. Donc, si vous deviez importer un et S à partir de votre module, il écrirait sur ces deux. Et ce que vous pouvez faire est de dire à partir d'une importation de mod demandant lui donner un nouveau nom, peut-être le nommer comme juste une chaîne. Et a est une liste. Encore une fois, vous pouvez utiliser cette virgule pour effectuer plusieurs importations à la fois. Donc maintenant un est toujours là et S est toujours là. Mais la chaîne est l'endroit où vous l'importez. Et une liste est également ce que vous l'importez à partir du module. Une autre possibilité est d'importer le module entier sous un autre nom. Et dans ce cas, vous importez le module est ce que vous souhaitez que l'autre nom soit. Une chose courante serait d'importer des pandas en tant que pd, par conséquent, ne pas avoir à l'épeler tout le chemin. Si un module a un nom vraiment long, certaines personnes aiment le raccourcir. Vous diriez import mod a, mod S, puis vous lui donneriez un nom différent. Alors nommez-le, dites mon module. Alors maintenant mon module est là et il a un, un cul. Les modules peuvent également être importés à partir d'une fonction. Laisse-moi te montrer à quoi ça ressemble. Dans ce dernier exemple, créez une fonction et je vous demanderai de le nommer importateur. À l'intérieur de la fonction, vous pourriez dire de MOD print_i important et ensuite utiliser l'impression à l'intérieur de celui-ci. Donc pour l'instant, MOD n'est pas là et print_i n'est pas disponible. Mais si vous exécutez importateur et appelez cette fonction, il a importé l'impression à partir du module mod
, puis l'appeler avec l'argument bonjour tout le monde. Ensuite, vous allez vérifier la fonction DIR.
122. La fonction dir(): Cette vidéo concerne la fonction DIR. Après avoir appris les différentes façons d'importer un module ou le contenu de votre module et comment cela affecte l'appel de ces objets. Vous pourriez être intéressé par la façon d'afficher
les Define Names qui se trouvent à l'intérieur d'un espace de noms. Et c'est là que le DIR ou la fonction de répertoire entre en jeu. C' est une fonction intégrée et elle renvoie une liste de noms définis dans un espace de noms. Si vous ne lui donnez aucun argument, il produit une liste alphabétique de tous les noms qui se trouvent actuellement dans la table de symboles locale. Jetons un coup d'oeil à ça. Lorsque DIR est exécuté par lui-même, vous verrez ces objets. Si vous deviez créer un nouvel objet, créez une liste nommée gagne. Et si vous deviez exécuter le DIR, vous verrez
maintenant quand il y a un objet qui est également disponible en tant que table de symboles locale. Si vous deviez créer une équipe de nom de classe, c'est une classe très simple qui passe juste. Et vous deviez créer l'objet, disons, X, qui fait partie de l'équipe de classe. Maintenant, si vous tapez DIR, vous pouvez voir ici équipe, puis vous pouvez voir les autres objets, vents et x. sont
donc les objets qui sont maintenant dans la table de symboles locale. Leurs noms sont, importons le module MOD et tapez DIR. Les objets individuels font partie de ce module mod ne font pas partie de la table de symboles locaux. Ils devraient être accessibles en tapant mod Dante ou mon point S en utilisant la syntaxe de notation ou l'impression mod dot. Mais si vous deviez importer des équipes individuelles, appreneriez-vous à faire la dernière fois l'importation d'une équipe que vous ne pouvez pas importer, un message d'erreur apparaît. Maintenant, si vous tapez l'équipe DIR, cette classe est là et un, cet objet est là, vous pouvez créer un objet Y de la classe d'équipe. C' est disponible. Et puis d'autres moyens que vous pouvez importer est d'importer mais avec un nom différent. Vous pouvez donc importer S et lui donner la chaîne de nom. Donc maintenant DIR ferait apparaître la chaîne est maintenant dans cette table locale aussi, S ne l'est pas, ce n'est pas défini, mais la chaîne l'est. Donc, jusqu'à maintenant, vous avez utilisé la fonction intégrée DIR sans aucun argument. Et si vous lui donnez un argument ? Eh bien, l'une des façons que vous pouvez l'utiliser est lui donner le nom du module intérieur en tant qu'argument. Ensuite, dans ce cas, la fonction DIR répertorie tous les noms à l'intérieur de ce module. Si vous deviez importer mod seul, vous pouvez le voir ici, mais vous ne pouvez pas voir les noms des objets qui ont été importés lorsque vous avez importé mod. Ceux-ci sont dans sa propre table de symboles. Pour les voir, tapez DIR open and close parenthèses. Et puis comme argument, mettez-le en mod. Il a sa propre classe d'équipe et signer la fonction de chaîne, une fonction print_i, et la chaîne S avec son propre nom. Je vais vous montrer un peu plus sur le nom dans la prochaine vidéo. Et le dernier que nous avons discuté en ce qui concerne l'importation était d'utiliser un caractère générique pour l'importation mod astérix, Qu'est-ce que cela met dans le répertoire ? Eh bien, il met tous les objets et donc il y a Team mod. Le module est toujours là à partir de quand vous l'importez, avant. Mais print_i et S et a sont tous maintenant dans la table de symboles locaux. Dans la vidéo suivante, vous apprendrez à exécuter un module en tant que script.
123. Exécution d'un module: Dans cette vidéo, vous apprendrez à exécuter un module en tant que script. Un module est-il également un script Python ? Eh bien, ouais, tout fichier dot py qui contient un module est essentiellement aussi un script Python. Laisse-moi te demander de jeter un oeil à ça. Si nous devions ouvrir le code pour mod DOD PY, comme vous pouvez le voir, c'est très simple. Que faire si vous deviez exécuter pi modifié est un script. Est-il possible à coup sûr tant que vous êtes dans le même répertoire, mais c'est seulement pour trouver des objets et alors il ne fait rien avec eux. Maintenant, si vous pouviez le modifier, vous pouvez imprimer en tant qu'impression un print_i, même définir X comme un objet classe, puis imprimer x. ok ? Donc je reçois, ça devrait être un peu plus intéressant. Ok, lancez-le. Donc, il a imprimé la chaîne, imprimé la liste, a montré l'argument pour print_i. Et puis il montre que lorsque cela est en cours d'exécution, le nom du module est l'objet principal et classe. À quoi cela ressemble lorsque vous l'importez ? Maintenant, démarrez le shell Python. Si vous deviez lancer l'importation MOND, que va-t-il se passer ? Ça va exécuter tout ce code. Une note que vous pourriez remarquer ici, elle servait à enregistrer cette principale. Maintenant, il dit mod et il le sort. Maintenant, ce n'est probablement pas ce que vous voulez. Vous voulez probablement lorsque vous exécutez model et pi pour afficher la sortie. Mais lorsque vous importez mod, vous ne voudrez peut-être pas que cette sortie se produise. Vous voudrez peut-être être en mesure d'afficher la sortie à des fins de test, mais vous ne voudrez peut-être pas avoir un chaque fois que vous l'importez. Ce serait beaucoup mieux si la sortie était facultative. Donc il y a quelque chose à aider. Existe-t-il quelque chose que vous pouvez faire si vous ne voulez pas que ce module génère un LPA lorsque vous l'importez simplement. Il y avait un outil qui peut aider à cela. Il utilise ce qu'on appelle une variable. Faire sous les variables sont les variables qui doubleront les traits de soulignement avant leur nom. Dans ce cas, la variable genre est en fait un nom. Le nom sera automatiquement défini sur le nom du module lors de son importation. C' est différent de lorsqu'un script Python est exécuté en tant que script autonome. Dans ce cas, le nom est défini sur la chaîne de main. Alors, comment peux-tu utiliser ça ? Je vais sortir d'ici. Retourne à mon point pi. Et je vais changer ce code un peu avant que tout cela commence. Créez une instruction if. Dans l'instruction if, vous allez utiliser cette variable sous la variable de nom. Donc, si ce nom est égal au domaine, ce
qui est arrivé lorsque vous exécutez le script par lui-même ne pas importer. Ensuite, allez-y et faites toute cette activité. Je vais vous demander d'examiner toutes ces informations. Donc seulement si le nom est principal. Donc, cette fois, si vous deviez exécuter math.pi et vous pouvez voir que l'exécuter par lui-même. Le nom est principal. Et si vous deviez importer mod, ce n'est pas le cas, ce qui est assez soigné. Encore une fois, nous retournons à DIR et voici le mod importé, non ? Mais quel est le nom actuel ? Qu' est-ce qui se passe ici en tant que séance principale ? Si vous deviez dire, quel est le nom du mod ? Eh bien, le nom du mod est MOD. Cependant, si un fichier s'exécute en tant que script autonome, le nom sera défini sur la chaîne comme Maine. Et c'est comme ça que vous pouvez utiliser ce test. Plutôt soigné. Une des raisons pour lesquelles vous pouvez vouloir exécuter le module est un script autonome est de tester le contenu de celui-ci. Donc, dans cet exemple suivant est tout au sujet de faire un nouveau fichier. Appelez ça Fact dot py. Et à l'intérieur du fait DOD pi, vous allez définir une fonction assez simple qui est un factoriel et juste l'appeler fait à nouveau. Vous pouvez configurer la même instruction conditionnelle. Si le nom actuel est égal à la chaîne principale, alors vous savez qu'il est exécuté en tant que script autonome. Vous importez un autre module, le module CIS ou système, et vous allez utiliser un outil appelé ARG v, puis vous permet d'utiliser des arguments de ligne de commande. Pour pouvoir faire quelques tests. Vous allez mettre en place une autre instruction if. Et voici qu'il cherche son argument facultatif que vous pouvez ajouter lorsque vous exécutez le code en tant que script. Ensuite, il va imprimer la sortie de cette fonction de fait après avoir converti cet argument en un entier à partir d'une chaîne. Enregistrez ce fichier et pour tester si vous pouvez importer des faits, allez-y et démarrez une nouvelle session shell. Donc, les facteurs disponibles et il faut un argument de fin. Disons quel est le factoriel de cinq ? Donc, cela montre que le fait fonctionne comme un module. Dans la vidéo suivante, vous explorerez le rechargement d'un module.
124. Relier un module: Dans cette vidéo, je vais vous montrer comment recharger un module jusqu'à maintenant, vous pouvez simplement importer un module une fois, même si vous deviez essayer, un module n'est chargé qu'une fois par session d'interprète. Et cela fonctionnera bien pour les fonctions dans définitions de
classe et l'importation initiale de tous ces objets. Mais parfois les modules peuvent également contenir des instructions exécutables. Habituellement, les instructions exécutables sont uniquement pour l'initialisation, et il est logique que ces instructions ne seront exécutées que la première fois que le module est importé. D' habitude, laisse-moi te demander de jeter un oeil à ça. Allez-y et rouvrez math.pi. Et à l'intérieur, je vais vous demander d'aller de l'avant et d'éclaircir ça si le nom est égal à principal. Il suffit de garder une déclaration d'impression simple pour imprimer l'IA. En fait, modifier un peu et utiliser une chaîne F. Et cela peut montrer que chaque fois que ce module est importé, il l'imprimerait, n'est-ce pas ? Alors sauvegardez cette ligne supplémentaire. Ok, ici dans le terminal. Que s'est-il passé si j'importe mod ? Eh bien, vous pouvez le voir ici. Initialement comme il importait mod, il est allé de l'avant et a fait la déclaration d'impression à l'intérieur en utilisant la force F. Et à l'intérieur, un mod Dante est disponible. Et si vous deviez importer à nouveau mod dans la même session ? Rien ne se passe, le montane est encore là ? Oui, en fait, tous les objets sont disponibles. Alors pourquoi ne réexécuterait-il pas ce code ? Will, c'est le truc. Il ne va l'importer qu'une seule fois et il n'a pas besoin de le réimporter. Donc, c'est une sorte de chose d'efficacité. Et si tu avais besoin de recharger ça ? Est-il possible de recharger un module ? Si tu avais vraiment besoin de le faire ? Il y a deux choix ici. Pour commencer, vous pouvez redémarrer l'interpréteur et vous avez pratiqué cela plusieurs fois. Ou il y a un module que vous pouvez importer appelé lib, et qui inclut une fonction appelée reload. Laisse-moi te montrer à quoi ça ressemble. Donc, parfois, vous pouvez vouloir le recharger, surtout si vous avez peut-être changé le code et que vous ne voulez pas redémarrer l'interpréteur. Comme peut-être que vous avez changé cela un peu et vous enregistrez, et maintenant vous voulez importer mod. Ces objets sont toujours là et l'importation de mod n'a rien imprimé. Encore une fois, si vous apportez des modifications à votre module, vous devrez utiliser un autre outil. Et cet outil est quelque chose qui peut être importé à partir d'import lib. Et à l'intérieur des libs d'importation, une fonction appelée Reload. Maintenant que vous l'avez importé, rechargement va recharger le module, puis le retourner à nouveau. Donc, dans ce cas, le module est appelé mod deux
lib dot important recharger Maud serait effectivement rechargé ici. Il a été rechargé à partir de la source ici. Donc maintenant, vous avez un outil pratique que vous apportez des modifications à votre module. Vous pouvez les recharger en utilisant import live et la charge fonctionnelle. Dans la vidéo suivante, nous commencerons à explorer les paquets Python. Merci d'avoir regardé.
125. Comment installer un paquet dans Python à l'aide de PIP: Hey tout le monde, de retour dans notre cours
Python, Python a une bibliothèque standard de paquets, mais de nombreux développeurs ont écrit leurs paquets pour étendre les capacités de Python encore plus loin. Ce sont des paquets tiers. Vous pouvez les installer à l'aide de l'outil pipe de Python. Cet outil télécharge et installe en toute sécurité des packages Python sur votre ordinateur à partir du point-virgule HTTPS, barre oblique
avant avant PY PI.org, le site Web de Python Software Foundation. Imaginez que l'index des paquets Python est une sorte d'application gratuite pour les modules Python. Allons allumer la page Web. Ce sont les dernières mises à jour des packages ou modules Python, si vous préférez. Cliquez sur Parcourir les projets à partir de ce lien et vous pouvez voir des milliers de paquets prêts à les installer. Revenons à l'outil PIP. Le fichier exécutable de l'outil PIP est appelé pip sous Windows et PIP3 sous OS X et Linux. Sous Windows, vous pouvez trouver Pip dans le répertoire suivant. Alors que Pip est automatiquement installé avec Python 3.9 et sur Windows ainsi que OSX, vous devez l'installer séparément en ligne x. maintenant, je vais vous montrer comment installer des paquets de Python en utilisant Pip. Je vais montrer comment désinstaller un paquet qui n'est plus nécessaire. Maintenant, si vous utilisez Windows, vous pourrez installer le package Python en ouvrant invite de commande
Windows, puis en tapant cette commande. Voyons les étapes un par un. Entrez d'abord invite de commande dans la zone de recherche de la fenêtre. le bouton droit sur l'invite de commandes Windows, puis sélectionnez Exécuter en tant qu'administrateur. En exécutant l'invite de commande en tant qu'administrateur, vous éviterez tout problème d'autorisation dans la barre oblique inverse du CD de l'invite de commande, car cette commande garantira que votre point de départ n'a que le nom du lecteur. Appuyez sur Entrée. Maintenant, vous verrez votre nom de lecteur de c, localisez votre chemin Python. Le dossier de scripts se trouve dans le dossier d'application Python où vous avez installé Python à l'origine. Dans mon cas, si j'ouvre l'Explorateur Windows, le chemin Python est celui-ci. Donc, si je clique avec le bouton droit, je peux copier cette adresse sous forme de texte. Maintenant, dans le type d'invite de commande cd suivi de votre chemin Python, je peux coller l'adresse contrôlerait plus V, appuyez sur Entrée. Maintenant, tapez cette commande pip install pour installer votre paquet Python. Puisque dans notre cas, nous aimerions installer le paquet pandas. Tapez ensuite la commande suivante dans l'invite de commandes. Enfin, appuyez sur Entrée et vous remarquerez que le paquet ici, c'est Panda, sera installé. Vous pouvez rapidement vérifier que Pankaj a été installé avec succès en Python en
ouvrant le Python inactif, puis en exécutant la commande import pandas. Si aucune erreur n'apparaît après avoir appuyé sur F5 pour exécuter la commande Importer
, le package a été installé avec succès, mission accomplie pour désinstaller un package à l'aide de Pip, tapez
simplement les commandes suivantes dans l'invite de commandes. N' oubliez pas de définir le chemin Python avant de taper cette commande. Enfin, tapez y, puis appuyez sur Entrée pour procéder à la suppression du paquet. Merci d'avoir regardé.
126. Forfaits Python: Jusqu' à présent, vous n'aviez qu'un seul module à importer. Mais ce qui se passe, c'est que vous commencez à construire une application beaucoup plus grande, c'est là
que les paquets Python peuvent entrer lorsque vous essayez de garder une trace d'un nombre croissant de modules. La création d'un package est généralement la solution. Les paquets permettent une structure hiérarchique a de l'espace de noms Module, en utilisant
encore une fois la notation par points. Voici donc un exemple de structure de paquet et vous aurez à jouer avec cela dans un instant. Au niveau supérieur, vous avez à nouveau un répertoire, Et disons que ce répertoire est nommé paquet pk GY. Et à l'intérieur de celui-ci, il comprend mod E1 dot pi, puis il a un deuxième module, mod deux points py. Donc maintenant, ces deux modèles sont à l'intérieur de la hiérarchie de répertoires du paquet. Eh bien, comment les importer et travailler avec ces modules ? Laissez-moi vous entraîner à l'intérieur du répertoire Python. J' ai déjà créé un nouveau répertoire, pk G. Donc voici le répertoire pk G et incentive dans j'ai créé deux modules, mode un et mode deux. Il ouvre ces deux fichiers. Donc, le mode un va avoir une fonction appelée load data. Les données de chargement lorsqu'elles
sont appelées, vont imprimer une ligne de texte sur le module. Il a aussi une classe. Cette classe va être la classe de clients. Mod deux va avoir une fonction nommée Clean Data module, avoir une classe aussi. Cette classe sera la classe d'emplacement. Super. Donc, à partir des fenêtres montrées,
Pourquoi est-ce que vous voulez importer des paquets ou des modules à partir de paquets ? Eh bien, vous pouvez utiliser la notation de points. En fait, vous pouvez importer les deux à la fois. Et vous pouvez créer un objet et x va
être un emplacement marquant l'endroit, si vous voulez. Super. Donc x est l'objet de localisation du mod 2 du paquet PKA G. Nice. Donc, c'est une façon est juste de les importer. Une autre façon serait d'importer des articles individuels. Donc maintenant à l'intérieur d'ici, les données de
chargement sont dans le SymbolTable local et sont disponibles et vous pouvez le voir en cours d'exécution. Donc, encore une fois, vous pouvez importer à partir du package des éléments individuels à partir des modules individuels en utilisant la notation par points. Ou vous pouvez utiliser la technique de nom alternative. Supposons que vous souhaitiez importer cette classification. Mais au lieu d'appeler un emplacement, vous voulez l'appeler primaire. Vous pouvez maintenant créer un nouvel objet en utilisant cette classe. Donc maintenant y est un objet local. Encore une fois, il utilise le nom que vous lui avez donné un primaire. Une autre façon que vous avez appris à importer auparavant consistait à utiliser l'instruction from. Vous ne pouvez pas importer directement le mode 1, comme vous pouvez le voir dans ce message d'erreur. Mais à partir de P KG, vous pouvez importer mod un. Donc, au lieu de la dénotation d'avoir le pic AGE d'abord, vous utiliseriez alors simplement mod un. Et de même, si vous le
vouliez, vous pouvez charger à partir de l'obligation d'importation EKG T2 et alors il lui donnerait un nom différent. Disons foo. Foo a nettoyé les données et si vous le souhaitez, vous pouvez appeler cette fonction. Il est bon de pratiquer à nouveau toutes ces techniques. Merci d'avoir regardé.
127. Créer des graphiques et des formes à l'aide du module de la Turtle de Python: Comme nous l'avons déjà appris, un module en Python fournit du code utile à utiliser par un autre programme. Python a un module spécial appelé Tortue que nous pouvons utiliser pour apprendre comment les ordinateurs dessinent des images sur un écran. Le module tortue comme un moyen de programmation graphique vectorielle, dessin avec des lignes simples, des points et des courbes. abord, pour utiliser la tortue, nous allons importer le module de tortue, utilisé le code. Maintenant que nous avons importé le module tortue, nous devons créer une toile, un espace vide pour dessiner comme une toile d'artiste. Pour ce faire, nous appelons le stylo à partir du module tortue, qui crée automatiquement une toile. Entrez ceci dans le shell Python. Vous devriez voir une boîte blanche ou la toile avec une flèche au centre. La flèche au milieu de l'écran est la tortue. Bien sûr que ce n'est pas très Turtle Lake. Vous envoyez des instructions à la tortue en utilisant les fonctions disponibles sur la variable que nous venons de créer, similaire à l'utilisation de la fonction stylo dans le module Tortue. Par exemple, l'instruction avant indique à la tortue de se déplacer vers l'avant, dire à la tortue d'avancer 50 pixels, entrez la commande suivante. Maintenant, nous allons dire à la tortue de tourner à 90 degrés avec la commande suivante. La tortue gauche 90 pointe la flèche vers le haut. Maintenant, nous allons dessiner un carré et le code suivant pour les lignes que vous avez déjà entrées. Pour effacer la toile, toile et remettre la tortue à sa position de départ. Vous pouvez également utiliser clair, qui efface simplement l'écran et laisse la tortue là où elle est. Nous pouvons également tourner notre tortue à droite ou la déplacer vers l'arrière. On peut utiliser jusqu'à lever le stylo de la page. En d'autres termes, dire à la tortue de commencer à sécher et de commencer à dessiner. Ces fonctions sont écrites de la même manière que les autres que nous avons utilisées. Essayons un autre dessin en utilisant certaines de ces commandes. Cette fois, la tortue dessine deux lignes. Nous déplaçons d'abord la tortue vers l'arrière 100 pixels avec T vers l'arrière 100, puis utilisons t up pour ramasser le stylo et arrêter le dessin. Ensuite, avec la commande t droite 90, nous tournons la tortue à droite 90 degrés pour pointer vers le bas vers le bas de l'écran. Avec t avant 20, nous avançons 20 pixels. Rien n'est dessiné à cause de l'utilisation de la commande up sur la troisième ligne. Nous tournons la tortue à gauche 90 degrés à la phase droite avec T à gauche 90. Et puis avec la commande Down, nous demandons à la tortue de remettre le stylo vers le bas et de recommencer à essayer. Enfin, nous tracons une ligne vers l'avant parallèle à la première ligne que nous avons tracée avec t avant 100, et nous avons tracé les deux lignes parallèles. En outre, vous pouvez utiliser une boucle for pour faire un carré comme celui-ci. Maintenant, avec quelques changements simples à notre boucle, nous pouvons créer agréable en utilisant le code similaire, nous pouvons créer diverses formes d'un carré de base à une étoile en spirale. Comme vous pouvez le voir en utilisant pour les boucles, nous avons simplifié le dessin de ces formes. Maintenant, essayons de dessiner un carré rempli, mais d'abord, nettoyez la toile à sec rempli carré. abord, nous devons définir une fonction carrée qui dessine un carré. Commencez à remplir. Testez votre fonction en l'appelant avec la taille 50, puis n remplissage. J' espère que vous apprendrez à utiliser le module tortue pour dessiner quelques formes géométriques de base en utilisant des boucles pour contrôler ce que la tortue fait à l'écran. Si vous avez des questions, faites-le moi savoir.
128. L'ouverture, Python's et écrivez dans un fichier de Python: Salut et bienvenue à cette série de tutoriels vidéo sur le travail avec des fichiers et Python. Tout au long de cette section, vous allez apprendre à peu près tout ce que vous pourriez
avoir envie de savoir sur une opération de fichier de base en Python. Et mes opérations de base de fichiers, je veux dire créer, supprimer des fichiers et des répertoires, les
déplacer, les copier, les renommer, travailler avec des archives, travailler avec des fichiers temporaires, parcourir le répertoire et obtenir les propriétés de fichier. Cette liste continue et encore,
mais à peu près tout ici je vais couvrir et même certaines choses qui ne sont pas tout à fait sur cette liste. Si vous cherchez à suivre dans votre propre terminal, je vous recommande de jeter un oeil aux fichiers de ressources que j'ai inclus car cela contiendra tous ces exemples de répertoires que je vais passer dans cette section organisé par moins de, il pourrait être vraiment pratique pour vous. Donc, généralement sur chaque leçon, je vais introduire la leçon, introduit certaines des fonctions que je vais utiliser. Et puis je vais vous montrer un exemple de répertoire et vous devriez le
regarder à votre propre terminal afin que vous puissiez suivre. Bon, allons entrer. Dans cette leçon, je vais couvrir Python avec un modèle d'ouverture,
autrement connu sous le nom de modèle de gestionnaire de contexte, qui je pense est le modèle de base le plus important pour travailler avec des fichiers et Python car il vous permet de créer et de lire à partir de fichiers existants dans votre système de fichiers. Afin de comprendre la largeur ouverte comme motif, vous devez d'abord comprendre la fonction ouverte, ce qui est vraiment assez simple. Il prend le nom de fichier et un mode, et il ouvre le nom de fichier donné à partir du répertoire courant, sauf indication contraire dans le mode que vous transmettez. Et puis une fois que ce fichier est ouvert, c'est quand vous pouvez faire des opérations dans ce fichier ou vous pouvez le passer pour lire à partir de celui-ci. Donc, les modes de fichier de base, et il y en a beaucoup plus. Mais ce sont les trois que je vais vous montrer pour commencer avec notre mode d'écriture w, qui efface le contenu du fichier existant créant un fichier qui n'existe pas et vous permet d'écrire le fichier. Il y a le mode rouge, mode r, qui vous donne un accès en lecture seule au contenu des fichiers. Et nous allons lancer une erreur si le fichier n'existe pas déjà. Et puis il y a le mode d'ajout a, qui écrit à la fin du fichier afin qu'il n'efface pas le contenu du fichier existant. Les zones sont donc les trois modes
de fichiers de base explorés tout au long de cette leçon. Alors passons au shell Python. Donc, ce que je peux faire est de dire quelque chose comme test.txt comme un nom de fichier. Et puis je l'ouvrirai en mode écriture pour que je puisse l'écrire. Et alors il est créé parce que test.txt n'existe pas encore. Et puis je dois dire est si avec ouvert comme et puis je donne à cela un nom. Normalement, je trouve pratique de dire quelque chose comme écrire un fichier de soulignement afin que je me rappelle exactement ce que j'écris deux dans ce cas. Ensuite, je peux dire quelque chose comme le bon point de fichier droit. Ou je peux écrire n'importe quel texte que je veux écrire. Je peux dire quelque chose comme bonjour, c'est un dossier. Appuyez sur Entrée et la fonction d'écriture renvoie le nombre de caractères écrits ici. Regardons le répertoire principal des Pythons. Tu vois ce dossier ? C' est ici, test.txt. Vous pouvez vérifier ce fichier en disant avec test.txt ouvert en mode lecture comme fichier de lecture. Et puis je peux juste dire imprimer, ReadFile point read, et ne pas lire la fonction retourne juste tout le contenu de ce fichier. Donc, comme vous pouvez le voir, ce sont vraiment des fichiers existants et il a le contenu. Bonjour, je suis un dossier. Il y a un autre mode que je vous ai montré. Donc, je vais vous montrer maintenant test.txt et le mode d'ajout est bon fichier. Et puis je peux dire le bon dossier, ne raids pas. Et je vais mettre une nouvelle ligne ici pour qu'il y ait une nouvelle ligne dans le fichier. Et je dirai, voici un autre texte. Et encore une fois, je ferai exactement la même chose que je viens de faire ici. Et comme vous pouvez le voir, j'y ai annexé. Mais si je devais l'ouvrir à nouveau en mode écriture et ensuite y écrire, tous les textes ont été supprimés. Vérifions le fichier à partir du répertoire principal de Python. Et comme vous pouvez le voir que c'est en fait vrai parce qu'en mode
écriture en fait juste droit sur tout ce qui existe déjà dans le fichier, alors que le mode plume ajoute simplement au texte existant. C' est ainsi que vous pouvez ouvrir, lire
et écrire dans un fichier de deux façons différentes. Une dernière chose que je veux couvrir dans cette leçon est qu'il est
préférable de toujours fermer le fichier après l'avoir ouvert, en tapant le point droit fermer. Sinon laissera ce FileResource ouvert avec votre système d'exploitation interprétera comme ayant besoin d'avoir ce fichier ouvert et il va quelque sorte accrocher les ressources de votre système d'exploitation. C' est ainsi que vous pouvez utiliser la largeur ouverte comme un motif pour créer, lire et écrire des fichiers. Dans la leçon suivante, je vais expliquer comment obtenir la liste des répertoires, comment regarder toutes les choses qui se trouvent dans votre répertoire qui ont été créées.
129. Obtenir une liste et des attributs de fichier: Dans cette leçon, je vais expliquer comment obtenir une liste de répertoires. Il vous suffit de mettre une liste de toutes les choses qui existent dans votre répertoire actuel ou n'importe quel répertoire que vous pouvez choisir. Et c'est vraiment important car à peu près n'importe quelle tâche que vous voulez faire en Python ou dans un autre langage de programmation où
vous travaillez avec des fichiers, vous allez devoir faire quelque chose là où vous voulez regarder à travers tous les fichiers de votre répertoire actuel et faites quelque chose avec eux. Voici quelques fonctions d'annuaire de base tout au long de cette série, je vais souvent vous montrer quelques façons différentes de faire la tâche. Alors je vais te montrer comment faire. Donc, avec tout ce qui dit, la première fonction ici est la liste de points du système d'exploitation DIR, qui prend un nom de répertoire et retourne ensuite une liste de fichiers et de sous-répertoires dans ce répertoire sous forme de chaîne. L' alternative légèrement plus sophistiquée est OS Dot scan DIR, qui renvoie un itérateur au lieu d'une liste. Cet itérateur n'est pas de chaînes, mais plutôt d'objets de fichier qui ont des propriétés pour eux, ce qui les rend un peu plus faciles à lorsque vous voulez réellement les traiter comme des fichiers. Et puis le module path live a un paradigme très similaire pour scanner DIR, sauf qu'il fonctionne sur un objet chemin. Et je vais vous montrer comment initialiser un objet chemin et travailler avec lui dans le Python Challenge est le second. Mon répertoire Python contient quelques sous-répertoires et plusieurs fichiers. Et chaque sous-répertoire a quelques fichiers différents à. Ok, allons un peu dans le code ici. La première chose à faire est d'obtenir des importations en cours, importer OS. Et puis je vais aussi dire chemin d'importation lib,
juste pour que j'aie toutes mes importations ici en un seul endroit. Donc, la première chose que vous pouvez faire si vous voulez obtenir une liste de répertoires est que vous pouvez simplement dire DIR liste de points OS. Et puis comme vous pouvez le voir à partir de mon shell pratique, il prend un paramètre de chemin facultatif. Si vous ne passez pas le chemin, il utilisera simplement le répertoire courant. Comme vous pouvez le voir si vous vous souvenez de mon répertoire Python, il a tous les fichiers et dossiers. Mais comme vous pouvez le voir ici, tous ce ne sont que des chaînes nues et aussi la liste des chaînes. Donc ce n'est pas super flexible. Si vous voulez réellement obtenir des informations à ce sujet, vous pouvez dire quelque chose comme peut-être le chemin du système d'exploitation est un fichier et ensuite vous pouvez appeler cela sur un fichier ou autre. Mais vous devez faire tout le cirriculum Kunshan pour trouver des informations sur ce dossier. Peux-tu deviner pourquoi c'est faux ? C' est parce qu'ils n'ont pas tapé l'extension dot py. Essayons encore ça. Ce n'est pas le cas avec quelque chose comme scan DIR. Vous pouvez dire quelque chose comme pour le nom et le système d'exploitation ne pas analyser DIR. Et cela prendra également un paramètre de chemin optionnel. Vous pouvez dire si le nom Don est Fichier. Et je ne suis pas sûr exactement pourquoi cela n'a pas de soulignement et cela a un soulignement. J' aimerais pouvoir vous en dire plus sur la raison, mais qui sait ? Ainsi, vous pouvez simplement être attribué directement à partir de l'objet. Parce que comme vous pouvez le voir. Les objets sont des entrées DIR plutôt que des chaînes simples. Donc, les entrées DLR ont des informations en eux, tandis que les chaînes, vous devez faire un peu plus de travail en tant que programmeur pour apprendre que les commandes nécessaires pour obtenir réellement cette information sur ces choses. Donc, c'est quelque chose à remarquer ici, c'est que le DIR de scan de points du système d'exploitation est un peu plus orienté objet, alors que le DIR de la liste de points du système d'exploitation fonctionne un peu plus comme un système de fichiers Linux traditionnel. Nous sommes à peu près tout est une chaîne et vous
avez juste à faire le travail par vous-même pour comprendre l'information à ce sujet. Donc chemin vécu prend une psychologie similaire, sauf que vous devez créer le chemin comme un objet explicite. chemin DIR est donc égal au chemin. Et puis je vais juste passer dans la barre oblique des points du répertoire actuel. Et puis vous pouvez faire exactement la même chose que vous pouvez faire avec le système d'exploitation Dot scan DIR. C' est juste qu'il appellera ITER DIR directement sur le chemin. Alors c'est exactement la même chose ici. Comme vous pouvez le voir, ce nom a un peu d'une fonction d'impression différente. Mais ce nom est toujours un objet où il a un peu plus d'informations qu'une simple chaîne nue. Donc, c'est relativement utile. Et toutes ces choses que vous pouvez utiliser sur n'importe quel chemin que vous aimez. Ce n'est pas seulement dans le répertoire courant. C' est donc trois façons différentes d'obtenir un répertoire listant le module OS et le module de chemin lib. Ils ont tous leurs avantages et leurs inconvénients. Os liste de points DIR est vraiment simple et facile. Os dot scan DIR et chemin lib dot path a un peu plus de nuance et vous pouvez faire un peu plus de choses avec eux. Mais vous n'avez pas nécessairement le même genre de facilité que vous faites avec la liste de points OS DIR. Donc, toutes les choses à considérer maintenant que vous avez une liste avec les fichiers dans le répertoire courant. Mais que se passe-t-il lorsque vous voulez réellement obtenir les attributs de ces fichiers ? Comme la dernière fois qu'ils ont été modifiés ou quand ils ont été créés, ou leur taille ou leurs autorisations ou quelque chose comme ça. Il existe trois options différentes pour obtenir des informations sur les fichiers. Le premier est toujours points stat, qui prend un chemin sous la forme d'une chaîne, puis retourne un objet de résultat de route stat qui contient des données de fichier. Donc, cet objet de résultat de stat est quelque chose que vous pouvez accéder aux champs de cet objet et obtenir les données de fichier. Ensuite, le système d'exploitation Dot scan DIR et le chemin lib Dot path dot dot dot ITER DIR fournissent ces informations avec les objets qu'ils retournent dans leurs itérateurs. Alors jetons un coup d'oeil dans la coquille. Ok, les données des fichiers. Comment tu l'as ? Essayons ça. D' abord. Je veux juste obtenir le contenu de ce répertoire. Et comme vous pouvez le voir, il y a beaucoup de fichiers à choisir. Et la première méthode que je regarde dans les diapositives avec la fonction OS dot stat qui prend juste un chemin de fichier, un nom de
fichier et vous donne un objet de résultat de stat point OS. Comme les résultats, vous aurez toutes sortes de choses différentes, nombre de liens vers la création et le temps de modification. Certains d'entre eux seront même différents selon le système sous Windows, Linux, Mac, et certains d'entre eux auront des valeurs différentes. Maintenant, je vais vous montrer les deux façons dont je veux vraiment obtenir ces données. Je pourrais enregistrer pour OBJ et OS Dot scan DIR sur le répertoire courant. Et puis faisons un peu plus d'une sortie informative. Disons que quelque chose comme le temps de Mod est égal à OBJ Darmstadt. Et c'est ainsi que vous obtenez les statistiques d'un objet DIR d'analyse. Et puis je peux dire point STM temps. Et maintenant, nous pouvons voir quelque chose de gentil comme f double guillemets le nom du point OBJ a été modifié pour la dernière fois à. Et puis je pourrais dire temps point c temps du temps mod. Et donc cela devrait donner à tout un bon format lisible. Il vous indique chaque nom de fichier et l'heure à laquelle ils ont été Dernière modification, puis le chemin vécu sur l'option Path. Ici fonctionne presque exactement de la même manière, sauf que vous devez d'
abord créer l'objet chemin avant de pouvoir commencer à l'itérer. C' est donc trois façons différentes d'obtenir des statistiques à partir de fichiers en utilisant Python. Dans la leçon suivante, je vais couvrir quelque chose que je n'ai pas encore couvert, à savoir comment créer des répertoires.
130. Créer et supprimer des Directories: Dans cette leçon, je vais venir ou comment faire répertoires et même des arborescences entières. Comme d'habitude, il y a plusieurs façons de le faire avec le module OS. Si vous voulez créer un seul répertoire, vous pouvez utiliser OS dot MKDIR make directory avec le nom du répertoire, ce qui crée un seul sous-répertoire avec un nom donné. Important de noter que cela ne créera pas de répertoire et de sous-répertoires. Et si vous en avez besoin, vous devez utiliser OS dot, faire DEA, IRS. Et puis vous pouvez passer un nom de chemin complet avec plusieurs sous-répertoires et il va créer l'arborescence complète du répertoire si nécessaire. Avec le module path lib, vous pouvez utiliser path list.pop dot MKDIR, qui fonctionne essentiellement de la même manière que O S point MKDIR, en ce qu'il ne crée pas non plus d'arborescence de répertoires complets. Dans cette leçon, je vais utiliser vraiment n'importe quel répertoire d'exemple spécifique parce que je vais juste créer des répertoires comme j'en ai besoin. Passons à droite dans le shell Python. Ok, faisons des répertoires. Os fait. Mkdir est le premier et le plus basique moyen de le faire. Il prend un paramètre de chemin, puis il peut également prendre un paramètre de mode, puis le paramètre DIR FDI. Donc, si je veux créer un répertoire appelé test, c'est assez simple à faire. Et puis je peux utiliser la liste DIR pour voir qu'il est en cours de création. Maintenant, si je veux faire quelque chose d'un peu plus spécifique, et je voulais dire quelque chose comme OS dot MKDIR, test2 sous-tâches barre oblique. Ensuite, vous verrez que cela ne fonctionne pas parce que test2 n'existe pas encore. Donc, les sous-tests ne peuvent pas être créés par MKDIR. Si j'ai besoin de faire quelque chose comme ça, je peux utiliser OS dot, faire DEA ,
IRS, qui fera ce répertoire, et ensuite il fera tous ces. Il fera juste tout ce dont j'ai besoin pour accéder à ce répertoire final. Ainsi, comme vous pouvez le voir, la liste DIR et le test deux sont là-dedans. Ensuite, si j'appelle la liste DIR sur le test deux, alors vous pouvez voir qu'il a le dossier des sous-tests tout comme j'avais besoin. Donc c'est vraiment assez simple et génial. La raison pour laquelle MKDIR existe de cette façon et la raison pour laquelle il a le comportement est juste pour être vraiment une sorte de soupape de sécurité, un mécanisme de sécurité pour vous assurer que vous
savez vraiment ce qui se passe avec votre système de fichiers à tout moment. Faire DEA IRS est génial. Mais cela peut également provoquer un comportement inattendu si vous êtes celui dans le répertoire et que vous créez toute une chaîne de sous-répertoires et que vous vous retrouvez dans un endroit totalement inattendu. Alors que MKDIR est construit pour une sorte d'erreur L avant que cela ne se produise. Pour que vous puissiez gérer cela. Quelque chose d'autre à noter ici est que ces deux vont lancer une exception si vous essayez de créer un répertoire qui existe. Si je dis OS dot test MKDIR ou un west ne fait pas le test DEA IRS, alors Python me lancera un fichier existe erreur car il essaie de créer quelque chose qui existe déjà. L' alternative chemin lib dot path, qui peut être accomplie de cette façon. Vous pouvez éviter ce problème si vous essayez de le faire. Donc tu peux dire quelque chose comme ça. Un nouveau chemin est égal au test de chemin. Et puis vous pouvez dire un nouveau point de chemin MKDIR. Et vous pouvez utiliser le paramètre okay existant et le définir sur true si vous ne voulez pas qu'il lance une erreur s'il existe déjà. Maintenant, le problème est avec ceci, bien sûr, est qu'il finit juste par ne rien faire parce qu'il ne fait pas de répertoire parce qu'il existe déjà. C' est certainement quelque chose d'important à noter, c'est que même si vous ne voulez pas que cette erreur se produise, vous devriez probablement toujours enrouler pour savoir que quelque chose se passe là parce que sinon, vous pourriez rencontrer où vous pensez que vous créez quelque chose de nouveau, mais vraiment vous créez quelque chose et il y a déjà un répertoire existant. Donc ce comportement, vous pouvez éliminer si vous en avez besoin,
mais vous pourriez ne pas vouloir en tout temps. Donc, ce sont les différentes façons de créer des répertoires et Python. Et je pense que c'est très simple et direct. Utilisez path dot live MKDIR si vous voulez utiliser un framework plus orienté objet, ou si vous n'avez besoin de créer qu'un seul répertoire à la fois, utilisez OS dot MKDIR sinon. Et puis si vous avez besoin de créer une arborescence de répertoire complète, sous-répertoires
utiliseraient OS dot oméga d IRS, où vous pouvez utiliser les paramètres
du parent du chemin lib dot path, dot-dot-dot, option MKDIR. Regardons maintenant comment fonctionnent les répertoires. Les répertoires principaux. Pour supprimer des répertoires, vous pouvez utiliser OS point ARM DIR, supprimer le répertoire, où vous passez dans le chemin d'accès du répertoire, puis vous supprimez le répertoire unique, ou c'est ce que fait la fonction. Il est en train de supprimer ces répertoires uniques. Si le répertoire n'est pas vide, il déclenche une erreur du système d'exploitation car il ne veut pas que vous supprimiez accidentellement des répertoires complets. Il veut s'assurer que vous les avez effacés avant de les supprimer. Chemin vécu sur le chemin na.rm. Dir est identique sauf qu'il fonctionne sur un objet chemin comme d'habitude. Donc, créez d'abord le chemin, puis appelez sa méthode Don RM DIR. Si vous devez supprimer des répertoires non vides ou une arborescence complète de répertoires, vous pouvez toujours Shuttle. Vous devez importer la navette, ce qui est court pour shell vous till, et puis il a une fonction d'arborescence RM où vous pouvez appeler cela comme le chemin du répertoire et il supprimera toute l'arborescence du répertoire enracinée à ce chemin. Donc, si vous avez des sous-dossiers à l'intérieur de ce répertoire que vous appelez, ceux-ci seront tous supprimés deux, qu'ils soient pleins ou vides. Donc, c'est une sorte de l'option nucléaire de supprimer des répertoires et Python. Très bien, supprimons quelques répertoires. Donc d'abord, je vais vous montrer le système de fichiers ici. Donc, faisons un premier essai ici et voyons juste ce qui se passe si vous appelez OS na.rm DIR sur le dossier un. Et bien sûr, je dois mettre dans les chaînes car il doit être le chemin plutôt qu'il n'y a pas de variable appelée Folder one. Ainsi, comme vous pouvez le voir, une erreur du système d'exploitation car le répertoire n'est pas vide. Parce que bien sûr, si j'appelle OS Dot list DIR sur le dossier un, il a des fichiers Python dedans. Donc ça ne va pas marcher. Si je veux réellement supprimer quelque chose en utilisant OS dot RMD IR, je vais devoir aller très rapidement pour faire un nouveau répertoire qui tous appellent test. Et puis je vais devoir faire une liste DIR pour vous montrer qu'il est là dedans. Le test existe déjà, donc nous allons créer un répertoire avec le nom test1. Donc maintenant, il y a le répertoire barre oblique test1, et ce répertoire barre oblique test1 est en fait vide afin qu'il puisse être supprimé. Cela peut sembler une fonctionnalité non conventionnelle que vous ne pouvez supprimer qu'avec ces choses de base, des répertoires vides. Mais en fait, c'est juste une caractéristique de sécurité. Il ne veut pas que vous supprimiez des choses quand il
peut y avoir des fichiers utiles dans ce répertoire. Il ne veut pas que vous les meniez sans au moins penser à ce qu'il y a dedans. Maintenant, cependant, je peux voir OS point RMD. Et maintenant, vous pouvez voir qu'il est de retour, il est parti à nouveau. Maintenant, je vais vous montrer comment vous pouvez réellement supprimer un de ces dossiers non vides. Pour eux, vous devrez importer shell util,
navette, puis vous pouvez simplement dire essayé de supprimer sur le dossier vide. Bien sûr que je ne pouvais pas. Faisons un autre exemple avec un dossier de test. Encore une fois, la même chose. Maintenant, je vais supprimer un dossier non vide comme les modules et les paquets. Et maintenant, si je fais ma liste DIR ici, le dossier des
modules et des paquets est totalement parti même s'il y avait du contenu, n'est-ce pas ? Et cela fonctionne même pour les sous-répertoires. C' est vraiment l'option de frappe lourde qui supprime
tout sans porter ce qu'il y a dedans. Et cela peut être si utile si vous savez
que tout ce qui se trouve dans votre dossier est une ordure que vous pouvez le supprimer. Mais si vous ne le savez pas, vous devriez vraiment faire attention à essayer utiliser certaines de ces autres fonctions qui vous avertiront en lançant une erreur si vous essayez de supprimer quelque chose qui contient des choses utiles. C' est ainsi que vous pouvez supprimer des répertoires en Python.
131. Supprimer et coper, déplacer et renommer des fichiers: Maintenant que vous savez comment créer et lister des fichiers avec leurs attributs, ce serait génial si vous pouviez les supprimer chaque fois que vous en avez fini avec eux. Et cela, bien sûr, sera le sujet de cette leçon. Suppression de fichiers. Pour supprimer des fichiers, vous avez quelques options comme d'habitude, avec le module OS, vous avez en fait deux fonctions presque identiques. Toujours ne pas supprimer et OS point sur le lien, qui a pris le chemin du fichier de chaîne et supprimer ce fichier unique, pas un répertoire, ils élèvent un fichier introuvable dans le fichier n'existe pas. Et la raison pour laquelle les deux fonctions identiques avec des noms différents est juste une question de compatibilité avec différents paradigmes de programmation. Certaines personnes dans des systèmes anciens ou des types de systèmes
unix aiment utiliser unlink comme nomenclature préférée. Alors que certaines personnes dans différents systèmes utilisent remove. C' est juste pour s'assurer que tout le monde est satisfait du module path lib. Vous avez également une méthode point sur lien, mais c'est une méthode d'objet chemin. Donc, comme d'habitude, vous devez initier cet objet chemin avant de pouvoir appeler dot on link. Donc, le répertoire exemple alors je vais utiliser pour supprimer la chose, les fichiers avec la section du répertoire de début fille de cette leçon seront les mêmes. J' ai quelques sous-dossiers avec des fichiers à l'intérieur, et puis j'ai juste quelques fichiers avec le répertoire exemple de niveau supérieur. Ok, regardons comment ce dossier fonctionne en pratique. J' utiliserai la liste de points du système d'exploitation DIR pour vous montrer où je suis dans mon système de fichiers. J' ai quelques fichiers texte ici et j'ajoute quelques dossiers que je pourrais vous montrer
aussi pour estimer totalement sûr que ces dossiers sont ce que nous attendons d'avoir en eux. Quelques fichiers Python et quelques autres dossiers ont des trucs dans eux. Essayons d'abord l'option de suppression du point du système d'exploitation ici. Je vais l'appeler. Et l'un de ces fichiers texte de haut niveau, juste pour le plaisir, OS point supprimer. Cela ne vous donne pas de sortie particulière, mais faites confiance que c'est du travail. Et vous pouvez vérifier cela en utilisant à nouveau la liste DIR et vous pouvez voir test1 point TXT a disparu. Donc c'est plutôt bon. Cela fonctionne comme prévu. Et puis O S point sur lien fonctionne exactement de la même manière. Je vais appeler cela sur le test 2.txt. Et comme vous pouvez le voir, la liste de points OS DIR, ces
deux fichiers texte ont disparu. Il ne me reste que quelques dossiers. Maintenant, je vais vous dire un peu comment copier, déplacer et renommer des fichiers et des répertoires. Il existe plusieurs fonctions utiles pour copier et déplacer des fichiers à copier. Il y a deux options. Il y a en fait trois options avec le module utilitaires shell Shuttle, que je devrai importer. Il y a copie qui prend une source et un chemin de fichier de destination, et copie le fichier à partir des chemins source vers le chemin de destination. Ainsi, le fichier source existera toujours. Bien sûr, vous ne faites que copier, vous ne supprimez pas le premier fichier. La chose importante à propos de la copie, cependant, est qu'elle copie simplement
le fichier, le contenu du fichier, mais pas ses métadonnées. Ainsi, par exemple, des choses comme c'est l'heure de la dernière modification et ainsi de suite ne seront pas conservées. Cela sera simplement réinitialisé aux valeurs de base. Si vous deviez effectuer les métadonnées, vous pouvez toujours utiliser le point tional. Copier vers la fonction, qui a une syntaxe identique. Il copie simplement les métadonnées aussi. Ce sont donc des cas d'utilisation distincts. Ensuite, vous avez shuttled.com P3, qui copie les arborescences de répertoires complets. C' est ce que vous devriez utiliser si vous voulez copier des répertoires à n'importe quelle capacité, mais essayez simplement de garder cela à l'esprit pendant que l'arborescence entière est enracinée dans SRC DIR. Et puis il le copiera dans le répertoire de destination pour déplacer le renommage. Ou parce que vraiment les deux sont essentiellement équivalents, vous avez deux options. Un avec le module Shuttle et un avec le système d'exploitation. point de navette se déplace. Il prend à nouveau une source et un paramètre de destination. Et il déplace le fichier ou le répertoire de SRC ou source vers dst, la destination. Puis toujours renommer fait vraiment la même chose parce que déplacer et renommer sont vraiment les deux côtés d'une même pièce, pour ainsi dire. Il renomme le fichier ou le répertoire avec l'ancien et le nouveau nom. Je vais écrire, J'ai importé OS et navette util déjà. La première chose à faire est de montrer la fonctionnalité de la copie de points de navette. Je vais juste copier le test 1.2x d dans un nouveau fichier et appeler les balises de sauvegarde. Et je vais l'appeler backup 1.2x t Juste pour
être sûr que vous savez que c'est une sauvegarde de Test1 TXT. Comme vous pouvez le voir, la navette DOD copy renvoie le chemin d'accès du fichier de sauvegarde TXT nouvellement copié. Et si je dis ls liste de points DIR, vous pouvez voir qu'il y a maintenant un test 1.2x T et une sauvegarde 1.2x T. Donc ces fichiers originaux conservés et la nouvelle sauvegarde est également créé et ces fichiers seront exactement le même contenu. Maintenant, si vous avez besoin de copier une copie de point de la navette de répertoire ne fonctionnera pas. Si j'essaie de copier le dossier un dans Nouveau dossier un, cela ne fonctionnera pas car le dossier Un est un répertoire. Pour cela, vous devrez utiliser l'arbre shuttle.com, qui fera exactement la bonne chose. Il copiera le dossier un dans Nouveau dossier un. Je peux jeter un oeil à ça. Il est là, Dossier un, Nouveau Dossier, un copié par-dessus parfaitement. Je peux lister le contenu du dossier un dans la liste des contenus de la nouvelle version juste pour m'assurer que vous pouvez voir qu'ils sont en fait identiques. Donc même fichier, même tout, tous copiés très bien. Soyez prudent avec cela car il copie toute
l'arborescence des répertoires là-bas et les sous-répertoires, ceux-ci seront également copiés. Parfois, ce n'est peut-être pas exactement ce que vous voulez. Peut-être que tu veux un peu plus de granularité. Et si c'est le cas, alors vous devrez faire un peu plus de travail et les itérer à travers les répertoires par vous-même. Parlons maintenant de déplacer et de renommer des fichiers parce que ce sont vraiment la même opération. Donc, vos opsins sont navrés point déplacer, et essayons de déplacer test.txt dans le dossier une barre oblique test.txt. Comme vous pouvez le voir, test.txt est parti du répertoire de niveau supérieur, mais il apparaît dans le dossier un. Donc c'est comme vous pourriez vous y attendre. Maintenant, OS point renommer fonctionne presque exactement de la même manière si vous essayez de déplacer la sauvegarde 2.txt, qui est un fichier qui n'existe pas dans le message d'erreur apparaîtra sur notre écran. Donc beaucoup de choses là-bas qui fonctionnent très bien. Et ces deux fonctions fonctionnent également sur les répertoires. Donc, c'est un vous pouvez copier, renommer et déplacer des fichiers et des répertoires en Python.
132. Projet de phase Créer un jeu de math interen: Bienvenue à tout le monde dans cette section Projet jalon du cours. Nous allons commencer cette section en passant par quelques exercices d'échauffement du projet. Nous avons maintenant couvert suffisamment de programmation fondamentale en Python, commencez à coder notre premier programme complet. Dans cette section, nous allons coder un programme qui teste notre compréhension de l'ordre des opérations mathématiques et des règles d'un calcul arithmétique, notre programme enverra au hasard une question arithmétique pour que nous puissions répondre. Si nous obtenons la réponse erronée, le programme affichera la bonne réponse et demandera si nous voulons une nouvelle question, si nous l'obtenons correctement, le programme demandera si nous voulons une nouvelle question. En outre, le programme gardera une trace de nos scores et enregistrera les scores dans un fichier texte externe. Après chaque question, nous pouvons mettre fin au programme. Nous allons écrire dans des fichiers pour notre programme. Nous les appellerons première et deuxième partie. Le premier fichier ou la première partie si vous préférez, est MathFunctions dot pi. Et le deuxième fichier, ou la deuxième partie est le jeu de maths dot py. J' ai décomposé le programme en petits exercices afin que vous puissiez essayer de coder le programme vous-même. Essayez les exercices avant de vous référer aux réponses. Les réponses sont fournies dans vos fichiers de ressources. Rappelez-vous, apprendre la syntaxe Python est facile mais ennuyeux. résolution de problèmes est où le plaisir réside si vous rencontrez des difficultés lors de ces exercices, essayez plus fort. C' est là que la récompense est la plus grande. Si vous êtes prêt à relier les points entre ce que vous avez déjà appris lors de la création d'un programme interactif. Allons plonger dedans.
133. Motifs importer et obtenir le Score de l'utilisateur: Pour commencer, créons les fonctions maths du fichier dot pi. Nous allons définir trois fonctions dans ce fichier. La première étape consiste à importer deux modules, le module aléatoire et le module OS. Je voudrais décrire l'utilisation du module aléatoire en Python,
le module aléatoire fournit l'accès aux fonctions qui prennent en charge de nombreuses opérations. Peut-être la chose la plus intéressante est qu'elle vous permet de générer des nombres aléatoires, utilisera la fonction randint pour le module aléatoire. La fonction aléatoire génère un entier aléatoire dans la plage fournie par nous. Nous allons les utiliser pour générer des nombres pour nos questions plus tard rencontré accepte deux paramètres, un nombre le plus bas et le plus élevé. Le module OS en Python fournit des fonctions pour créer et supprimer un répertoire ou un dossier, récupérer son contenu, changer dans l'identification du répertoire courant, et cetera, à partir du module OS utilisera les fonctions de suppression et de renommage . Mettez la vidéo en pause et essayez d'importer ces deux modules. Les lignes de code correctes sont les suivantes. L' étape suivante consiste à obtenir le score de l'utilisateur. Ici, nous allons définir notre première fonction. Cette fonction accepte un paramètre, le type de nom d'utilisateur. Il ouvre les scores des utilisateurs de fichiers data.txt. Dans notre mode, les scores des utilisateurs ne t x t ressemble à ceci. Chaque ligne enregistre les informations d'un utilisateur. La première valeur est le nom d'utilisateur de l'utilisateur et la seconde est le score de l'utilisateur. Ensuite, la fonction doit lire le fichier ligne par ligne pour utiliser une boucle. Chaque ligne est ensuite fractionnée à l'aide de la fonction fractionnée. Split utilise une virgule comme délimiteur. Stockons le résultat de la fonction divisée IIT dans le contenu de la liste. Ensuite, la fonction que nous allons vérifier si l'une des lignes a le même nom d'utilisateur est la valeur qui est transmise en tant que paramètre. Si c'est le cas, la fonction ferme le fichier et renvoie le score à côté de ce nom d'utilisateur. S' il n'y en a pas, la fonction ferme le fichier et renvoie la chaîne minus1.
134. Tradition de l'exception et mise à jour du score utilisateur: Maintenant, nous devons faire quelques modifications à notre code ouvrirait notre fichier précédemment, nous utilisons le mode ARM. Cela permet d'éviter toute modification accidentelle du fichier. Cependant, lors de l'ouverture d'un fichier et notre mode dans erreur
IO se produit si le fichier n'existe pas déjà. Par conséquent, lorsque nous exécutons le programme pour la première fois, nous allons finir avec une erreur puisque les utilisateurs de fichiers scores point TXT n'existe pas auparavant. Pour éviter cette erreur, nous pouvons effectuer l'une des opérations suivantes. Au lieu d'ouvrir le fichier dans notre mode, on peut l'ouvrir avec le mode W. Lors de l'ouverture avec le mode W, un nouveau fichier sera créé si le fichier n'existe pas auparavant. Le risque avec cette méthode est que nous pourrions accidentellement écrire dans le fichier, ce qui entraîne l'effacement du contenu précédent. Cependant, puisque notre programme est un petit programme, nous pouvons vérifier attentivement notre code pour éviter toute écriture accidentelle. La deuxième méthode consiste à utiliser une instruction try except pour gérer l'erreur d'E/S. ce faire, nous devons mettre tous nos codes précédents dans le bloc try, puis utiliser sauf erreur IO pour gérer le fichier introuvable. Erreur dans le bloc except informera les utilisateurs que les fichiers introuvables, puis continuez à créer le fichier. Nous allons utiliser la fonction ouverte avec le mode W pour le créer. La différence ici est que l'utilisation du mode W lorsque le fichier n'est pas trouvé. Si le fichier n'existe pas initialement, il n'y avait aucun risque d'effacer un contenu antérieur. Après avoir créé le fichier, se ferme, le fichier retourne ensuite la chaîne de moins un. Vous pouvez choisir l'une des méthodes ci-dessus pour terminer cet exercice, mais je préfère la deuxième méthode. Alors modifions le code. Maintenant, nous allons définir une autre fonction appelée mise à jour des points utilisateur, qui prend en trois paramètres, nouvel utilisateur, nom d'utilisateur et le score. Le nouvel utilisateur peut être vrai ou faux. Si le nouvel utilisateur est vrai, la fonction ouvrira les scores des utilisateurs du fichier point TXT et le mode d'ajout, et ajoutera le nom d'utilisateur de l'utilisateur et le score au fichier lorsqu'il ou elle quitte le jeu. Si le nouvel utilisateur a la valeur false, la fonction mettra à jour le score de l'utilisateur dans le fichier. Cependant, il n'y a pas de fonction en Python qui nous permet de mettre à jour le fichier texte. Nous ne pouvons écrire que pour y ajouter, mais pas mis à jour. Par conséquent, nous devons créer un fichier temporaire. Il s'agit d'une pratique assez courante dans la programmation. Appelons ce fichier utilisateurs scores point TMP et ouvrez-le en mode W. Maintenant, nous allons devoir boucle à travers les utilisateurs score t x t, et copier la ligne de données par ligne aux utilisateurs force.html. Cependant, avant de copier va vérifier le nom d'utilisateur sur cette ligne est le même que celui fourni par le paramètre. Si c'est le même, changera le score en nouveau score avant d'écrire dans le fichier temporaire. Par exemple, si un périmètre fourni à la fonction ou est faux, Andreas et 30, par exemple, mettre à jour les points utilisateur tombe Andreas 30. Le tableau ci-dessous montre la différence entre les scores utilisateur d'origine point TXT et les nouveaux scores utilisateur point TMP. Une fois que nous avons terminé d'écrire à l'utilisateur score point TMP
fermera les deux fichiers et supprimera les scores points TXT. Enfin, nous allons renommer les utilisateurs scores Don TMP en utilisateurs scores point TXT.
135. Partie 1 Générer les questions et la mathématiques: Nous sommes maintenant arrivés à la partie la plus importante du programme, générer les questions mathématiques, dégénérer les questions. Déclarez d'abord trois variables, deux listes dans un dictionnaire. Nous nommerons la liste des deux, la liste des opérandes dans la liste des opérateurs. La liste des opérandes doit stocker cinq nombres avec 0 est leurs valeurs initiales. La liste des opérateurs doit stocker les chaînes avec de l'espace comme valeurs initiales. Le dictionnaire se compose de quatre paires avec les entiers un à quatre est les clés du dictionnaire et addition, soustraction, multiplication et exponentiation ajoute les données. Appelons cet opérateur dict. abord, nous devons remplacer les valeurs initiales de notre liste d'opérandes par des nombres aléatoires générés par la fonction INT aléatoire. Rand INT fonction prend en deux paramètres, début et fin et renvoie un entier aléatoire n est tel que inférieur ou égal à n ou moins égal à la fin. Par exemple, si la dyneine Rand INT1 est appelée, elle retournera aléatoirement un entier des nombres un à
neuf pour mettre à jour notre variable de liste d'opérandes avec des nombres aléatoires, nous pouvons le faire un par un, puisque la liste d'opérandes seulement compte cinq membres comme celui-ci. Chaque fois que rand INT une dyneine est appelée, Il retournera aléatoirement un entier des nombres un à neuf. Mais ce n'est pas la façon la plus intelligente de mettre à jour notre liste d'opérandes. Correspondant à quel point ce serait lourd si la liste des opérandes a 100 000 membres. Une meilleure alternative est d'utiliser une boucle for comme celle-ci. Super. Maintenant que nous avons les nombres sur lesquels opérer, nous devons générer aléatoirement des symboles mathématiques pour notre question. Pour ce faire, nous allons utiliser la fonction rand INT et le dictionnaire ICT de l'opérateur D. Ran Di Andy va générer la clé du dictionnaire, qui sera ensuite mappée à l'opérateur correct en utilisant le dictionnaire dict de l'opérateur. Par exemple, pour assigner un symbole à la liste d'opérateurs 0, nous écrivons. Vous devriez donc utiliser une boucle for pour effectuer cette tâche. Cependant, il y a un problème qui rend cet exercice assez difficile. Rappelons qu'en Python, exponentiation ou deux astérisques signifie exposant par exemple. Le problème est, c'est quand nous avons deux opérateurs exposants consécutifs en Python, donc juste deux exposants, trois exposants deux. Dans le premier cas, la réponse est deux à la puissance de neuf, qui est 512. Dans le second cas, la réponse est huit à la puissance de deux, qui est 64. Par conséquent, lorsque nous présentons une question comme exposant trois, exposant à, l'utilisateur se trompera de réponse s'il l'a interprétée comme ceci. Pour éviter ce problème, nous allons modifier notre code afin que nous n'obtenions pas deux signes consécutifs. En d'autres termes, cette liste d'opérateurs va bien. Mais cette liste d'opérateurs ne l'est pas. Ce parc est la chose la plus difficile parmi toutes les parties du projet. Essayons de trouver une solution pour éviter deux signes d'exposants consécutifs. À partir du deuxième élément, l' indice
IE est égal à un et la liste des opérateurs, la ligne si l'index est supérieur à 0 et l'index de la liste des opérateurs moins un, pas égal à deux exposants consécutifs. Signs vérifie si l'élément précédent de la liste des opérateurs est le symbole exposant. Si ce n'est pas l'opérateur d'instruction est égal à opérateur. Dick rand IN T12 quatre s'exécutera puisque la plage est donnée à la fonction Rand INT est de un à quatre, les nombres 123 ou quatre seront générés, où les symboles plus moins multiplient notre exposant seront assignés à la opérateur variable. Toutefois, si le symbole précédent est exposant, l'opérateur d'instruction else égal à l'opérateur dict rand IN T1. T3 va s'exécuter. Dans ce cas, la plage donnée à la fonction rand INT est de un à trois. Par conséquent, le symbole exposants, qui a une clé de quatre et l'opérateur Dick ne sera pas affecté à la variable opérateur.
136. Partie 1 Générer une expression mathématique et évaluer le résultat: Maintenant que nous avons nos opérateurs et opérandes, nous allons essayer de générer l'expression mathématique sous forme de chaîne. Cette expression utilise les cinq nombres de notre liste d'opérandes
et le format des symboles médicaux de notre liste d'opérateurs pour former une question, nous devons déclarer une autre variable appelée
chaîne Question et assigner l'expression mathématique à chaîne de questions. Exemples de chaîne de questions : Nous allons utiliser une boucle for pour se concentrer sur
les sous-chaînes individuelles de la liste des opérandes et de la liste des opérateurs. Pour obtenir l'expression mathématique. Nous devrions maintenant avoir l'expression mathématique sous la forme d'une chaîne affectée à la chaîne de questions variable. Pour évaluer le résultat de cette expression, nous allons utiliser une fonction intégrée brillante qui vient avec Python. Mal. Evil interprète une chaîne comme un code et exécute le code. Par exemple, si nous écrivons un courriel plus deux plus quatre, nous obtiendrons le numéro sept. Par conséquent, pour évaluer le résultat de notre expression mathématique, nous passons en chaîne de question à la fonction eval et assignons le résultat à une nouvelle variable nommée résultat. Cette profondeur est assez simple et peut être complétée en une seule ligne de code. Enfin, nous allons interagir avec notre utilisateur. Dans cet exercice, nous allons faire quelques choses. Étape 1, affichage de la question à l'utilisateur. Deuxième étape, invitant l'utilisateur à fournir une réponse. Troisième étape, évaluer la réponse, afficher le message approprié et renvoyer le score de l'utilisateur. Pour l'étape 1, nous devons utiliser une fonction intégrée pour manipuler les chaînes, comme mentionné précédemment sur Python, le symbole deux astérix signifie exposant, c'est-à-dire 32, astérix trois égal à 27. Cependant, pour la plupart des utilisateurs, à astérix n'a pas de sens. Par conséquent, si nous affichons une question comme celle-ci, l'utilisateur sera probablement confus. Pour éviter cela remplacera deux
symboles abstraits dans la chaîne de question par un symbole carat. Pour ce faire, nous allons construire dans la fonction remplacer en l'utilisant est simple. Juste juste. Vous pouvez maintenant imprimer l'expression résultante à l'utilisateur. Pour l'étape deux, nous pouvons utiliser la fonction d'entrée pour accepter l'entrée de l'utilisateur. Pour l'étape trois, nous devrions utiliser une instruction if pour évaluer la réponse et afficher le message correct. Si l'utilisateur obtient le bon, nous allons complimenter l'utilisateur et retourner la valeur un. Si l'utilisateur se trompe, affichera la bonne réponse et retournera la valeur à 0. Que faire si la fonction d'entrée renvoie l'entrée utilisateur sous la forme d'une chaîne ? Dans ce cas, lorsque vous comparez l'entrée de l'utilisateur avec la bonne réponse, vous devez faire un peu de typographie pour changer l'entrée de l'utilisateur en un entier. Lorsque vous changez l'entrée de l'utilisateur en un entier. Et vous devriez essayer d'utiliser une instruction try except pour vérifier si l'utilisateur a tapé un nombre. Si l'utilisateur a saisi une chaîne à la place, le programme doit informer l'utilisateur de l'erreur et lui demander de la taper en numéro. Donc, nous devons utiliser une vraie boucle tout en demandant à l'utilisateur un numéro tant qu'il est barre oblique, elle ne parvient pas à le faire. Écrire alors que vrai équivaut à écrire quelque chose comme un égal à un, puisque l'on est toujours égal à un, les mains toujours vraies. La boucle s'exécutera indéfiniment. Éditons le code. La boucle while True continuera à boucler puisque la condition while est toujours vraie. Quittez uniquement lorsque le bloc try s'exécute correctement et atteint l'instruction return.
137. Partie 2 Écriture du programme principal: Félicitations pour avoir complété la première partie et bienvenue à la deuxième partie. La deuxième partie va être un jeu d'enfant car nous allons principalement appeler les fonctions que nous avons définies plus tôt. abord, nous allons inclure notre programme principal dans une déclaration try except. Nous voulons gérer toutes les erreurs imprévues. Un exécutant le programme principal commencera par écrire le code pour le bloc try. abord, nous devrons importer le module de fonctions mathématiques. Ensuite, nous allons demander à l'utilisateur son nom d'utilisateur et assignons la valeur au nom d'utilisateur de la variable. Passez cette variable en tant que paramètre à la fonction et obtenez le score des utilisateurs. Obtenir le score des utilisateurs renvoie le score de l'utilisateur ou renvoie moins un si l'utilisateur n'est pas trouvé. Convertons ce résultat en un entier et assignons-le à la partition utilisateur variable. Maintenant, nous devons définir la valeur d'une autre variable, nouvel utilisateur. Si l'utilisateur est introuvable, nouvel utilisateur est égal à true, sinon le nouvel utilisateur est égal à false. Si le nouvel utilisateur est égal à vrai, nous devons le changer de score de moins un à 0. La prochaine partie de notre programme implique une boucle while. Plus précisément, notre programme invitera notre utilisateur à faire des commentaires pour déterminer s'il devrait mettre fin au programme ou faire autre chose. Étape 1, vous devez déclarer une autre variable quel choix de l'utilisateur, et lui donner une valeur initiale de 0. Deuxième étape. Ensuite, tout en utilisant une boucle while, comparez le choix de l'utilisateur avec une chaîne de votre choix, disons moins un. Si le choix de l'utilisateur n'est pas le même que minus1 appelé le générateur de fonctions. Pour générer une nouvelle question. Étape trois, Janvier question retournera un score que le Dieu de l'utilisateur pour cette question, utiliser ce résultat pour mettre à jour le score de l'utilisateur variable. Quatrième étape, enfin, afin d'éviter une boucle infinie, nous devons utiliser à nouveau la fonction d'entrée avec la boucle while pour
accepter l' entrée de l'utilisateur et pour l'utiliser pour mettre à jour la valeur du choix de l'utilisateur. Enfin, après la fin de la boucle while, l'étape suivante consiste à mettre à jour le fichier TXT point de score utilisateurs. Pour ce faire, nous appelons simplement la fonction de points utilisateur de mise à jour. C' est tout pour le bloc d'essai. Maintenant, le bloc except, nous informons simplement l'utilisateur qu'une erreur s'est produite et que le programme va quitter. Va terminer cette humidité, vous aurez un programme complet. Exécutons le programme. Le programme demandera un nom d'utilisateur. Tapons mon nom. Ensuite, le programme génère une question. L' expression mathématique que je dois calculer, je ne vais pas calculer les nombres maintenant, donc je vais mettre un nombre aléatoire. Bien sûr, ma réponse est fausse et il y a une réponse correcte. Après cela, le programme me demandera si je veux
continuer ou taper minus1 pour terminer le programme. Je vais faire un autre exemple. Ça fonctionne très bien. Excitée. J' espère que tu es aussi excitée que moi. Nous sommes arrivés à la fin de son projet jalon et espérons que vous avez codé avec succès votre premier programme. Si vous avez des problèmes pour terminer un exercice, s'il vous plaît laissez-moi savoir. Mais nous n'avons pas encore fini. J' ai un exercice supplémentaire pour vous permettre de vous défier. Parfois, la question générée peut donner lieu à une réponse qui est très grande ou très petite. Il est très gênant pour les utilisateurs de calculer et de clé en très grand ou très petit nombre. Par conséquent, nous voulons éviter les réponses trop grandes ou petites. Pouvez-vous modifier le programme pour empêcher les questions qui se traduisent par des réponses supérieures à 10 mille et moins que négatif 10 mille. Essayez de modifier le code et vérifiez le code à partir de vos fichiers de ressources. Merci d'avoir regardé.