Tout ce que vous devez savoir sur ce langage de programmation.

Tout d’abord, qu’est-ce que Python? Selon son créateur, Guido van Rossum, Python est:

« Le langage de programmation de haut niveau, et sa philosophie de conception de base est tout sur la lisibilité du code et une syntaxe qui permet aux programmeurs d’exprimer des concepts en quelques lignes de code. »

Pour moi, la première raison d’apprendre Python était qu’il s’agit en fait d’un beau langage de programmation. C’était vraiment naturel de le coder et d’exprimer mes pensées.

Une autre raison était que nous pouvons utiliser le codage en Python de plusieurs manières: la science des données, le développement Web et l’apprentissage automatique brillent tous ici. Quora, Pinterest et Spotify utilisent tous Python pour leur développement web backend. Alors apprenons-en un peu plus.

Les bases

1. Variables

Vous pouvez considérer les variables comme des mots qui stockent une valeur. Aussi simple que cela.

En Python, il est vraiment facile de définir une variable et de lui attribuer une valeur. Imaginez que vous souhaitez stocker le numéro 1 dans une variable appelée «un». Faisons-le:

C’était simple? Vous venez d’affecter la valeur 1 à la variable «un».

Et vous pouvez attribuer n’importe quelle autre valeur à toutes les autres variables que vous souhaitez. Comme vous le voyez dans le tableau ci-dessus, la variable  » deux  » stocke l’entier 2 et  » un_nombre  » stocke 10 000 .

Outre les nombres entiers, nous pouvons également utiliser des booléens (True / False), des chaînes, float et tant d’autres types de données.

2. Flux de contrôle: instructions conditionnelles

« Si » utilise une expression pour évaluer si une déclaration est vraie ou fausse. S’il est vrai, il exécute ce qui se trouve à l’intérieur de l’instruction «if». Par exemple:

2 est supérieur à 1 , le code « print » est donc exécuté.

L’ instruction « else » sera exécutée si l’ expression « if » est fausse .

1 n’est pas supérieur à 2 , donc le code à l’intérieur de l’ instruction « else » sera exécuté.

Vous pouvez également utiliser une instruction « elif »:

3. Boucle / Itérateur

En Python, nous pouvons itérer sous différentes formes. J’en parlerai deux: pendantet pour .

Pendant la boucle: alors que l’instruction est vraie, le code à l’intérieur du bloc sera exécuté. Ainsi, ce code imprimera le nombre de 1 à 10 .

Le tout en boucle a besoin d’ une « condition de la boucle. «Si cela reste vrai, il continue à répéter. Dans cet exemple, quand numest 11la condition de boucle égale False.

Un autre morceau de code de base pour mieux le comprendre:

La condition de boucle est Truedonc elle continue d’itérer – jusqu’à ce que nous la réglions sur False.

Pour la boucle : vous appliquez la variable  » num  » au bloc, et l’ instruction  » for  » l’itérera pour vous. Ce code imprimera le même que le code while : de 1 à 10 .

Voir? C’est tellement simple. La plage commence par 1et va jusqu’au 11troisième élément ( 10est le 10troisième élément).

Liste: Collection | Array | Structure de données

Imaginez que vous souhaitez stocker l’entier 1 dans une variable. Mais peut-être que maintenant vous voulez en stocker 2. Et 3, 4, 5…

Ai-je une autre façon de stocker tous les entiers que je veux, mais pas dans des millions de variables ? Vous l’avez deviné – il existe en effet une autre façon de les stocker.

Listest une collection qui peut être utilisée pour stocker une liste de valeurs (comme ces entiers que vous souhaitez). Alors utilisons-le:

C’est vraiment simple. Nous avons créé un tableau et l’avons stocké sur my_integer .

Mais vous demandez peut-être: « Comment puis-je obtenir une valeur de ce tableau? »

Grande question. Lista un concept appelé index . Le premier élément obtient l’index 0 (zéro). Le second obtient 1, et ainsi de suite. Vous avez eu l’idée.

Pour le rendre plus clair, nous pouvons représenter le tableau et chaque élément avec son index.

En utilisant la syntaxe Python, c’est aussi simple à comprendre:

Imaginez que vous ne souhaitiez pas stocker de nombres entiers. Vous voulez simplement stocker des chaînes, comme une liste des noms de vos proches. Le mien ressemblerait à ceci:

Cela fonctionne de la même manière que les entiers. Agréable.

Nous venons d’apprendre le fonctionnement des Listsindices. Mais je dois encore vous montrer comment nous pouvons ajouter un élément à la Liststructure de données (un élément à une liste).

La méthode la plus courante pour ajouter une nouvelle valeur à a Listest append. Voyons voir comment ça fonctionne:

appendest super simple. Il vous suffit d’appliquer l’élément (par exemple, « L’ingénieur efficace ») comme appendparamètre.

Eh bien, assez parlé ListsParlons d’une autre structure de données.

Dictionnaire: structure de données valeur-clé

Maintenant, nous savons qu’ils Listssont indexés avec des nombres entiers. Mais que faire si nous ne voulons pas utiliser des nombres entiers comme indices? Certaines structures de données que nous pouvons utiliser sont des indices numériques, des chaînes ou d’autres types d’indices.

Apprenons-en plus sur la Dictionarystructure des données. Dictionaryest une collection de paires clé-valeur. Voici à quoi ça ressemble:

La clé est l’index pointant vers la valeur . Comment accède-t-on à la Dictionary valeur ? Vous l’avez deviné – en utilisant la clé . Essayons:

J’ai créé un Dictionarysujet sur moi. Mon nom, mon surnom et ma nationalité. Ces attributs sont les Dictionary clés .

Comme nous avons appris à accéder à l’ Listindex using, nous utilisons également des index ( clés dans le Dictionarycontexte) pour accéder à la valeur stockée dans le Dictionary.

Dans l’exemple, j’ai imprimé une phrase sur moi en utilisant toutes les valeurs stockées dans le Dictionary. Assez simple, non?

Une autre chose intéressante Dictionaryest que nous pouvons utiliser n’importe quoi comme valeur. Dans le DictionaryJ’ai créé, je veux y ajouter la clé « âge » et mon âge réel réel:

Ici, nous avons une paire clé (âge) valeur (24) utilisant une chaîne comme clé et un entier comme valeur .

Comme nous l’avons fait avec Lists, apprenons comment ajouter des éléments à a Dictionary. La clépointant vers une valeur est une grande partie de ce qui Dictionaryest. Cela est également vrai lorsque nous parlons d’ajouter des éléments:

Nous avons juste besoin d’attribuer une valeur à une Dictionaryclé . Rien de compliqué ici, non?

Itération: boucle dans les structures de données

Comme nous l’avons appris dans les bases de Python , l’ Listitération est très simple. Nous, les Pythondéveloppeurs, utilisons couramment le Forbouclage. Faisons le:

Donc, pour chaque livre de la bibliothèque, nous pouvons ( tout faire avec ) l’imprimer. Assez simple et intuitif. C’est Python.

Pour une structure de données de hachage, nous pouvons également utiliser la forboucle, mais nous appliquons key:

Ceci est un exemple d’utilisation. Pour chacun keydans le dictionary, nous printle keyet son correspondant value.

Une autre façon de le faire est d’utiliser la iteritemsméthode.

Nous avons nommé les deux paramètres comme keyet value, mais ce n’est pas nécessaire. Nous pouvons les nommer n’importe quoi. Voyons ça:

Nous pouvons voir que nous avons utilisé l’attribut comme paramètre pour le Dictionary key, et cela fonctionne correctement. Génial!

Classes et objets

Un peu de théorie:

Les objets sont une représentation d’objets du monde réel comme des voitures, des chiens ou des vélos. Les objets partagent deux caractéristiques principales: les données et le comportement .

Les voitures ont des données, comme le nombre de roues, le nombre de portes et la capacité en sièges.Elles présentent également un comportement : elles peuvent accélérer, s’arrêter, montrer la quantité de carburant restante, et bien d’autres choses.

Nous identifions les données comme des attributs et le comportement comme des méthodes dans la programmation orientée objet. Encore:

Données → Attributs et comportement → Méthodes

Et une classe est le plan à partir duquel des objets individuels sont créés. Dans le monde réel, nous trouvons souvent de nombreux objets du même type. Comme des voitures. Tous de même marque et modèle (et tous ont un moteur, des roues, des portes, etc.). Chaque voiture a été construite à partir du même ensemble de plans et a les mêmes composants.

Mode de programmation orienté objet Python: ON

Python, en tant que langage de programmation orienté objet, a ces concepts: classe et objet .

Une classe est un plan directeur, un modèle pour ses objets.

Encore une fois, une classe c’est juste un modèle, ou un moyen de définir les attributs et le comportement (comme nous en avons parlé dans la section théorie). Par exemple, une classe de véhicules a ses propres attributs qui définissent quels objets sont des véhicules. Le nombre de roues, le type de réservoir, la capacité en sièges et la vitesse maximale sont tous des attributs d’un véhicule.

Dans cet esprit, regardons la syntaxe Python pour les classes :

Nous définissons les classes avec une déclaration de classe – et c’est tout. Facile, non?

Les objets sont des instances d’une classe . Nous créons une instance en nommant la classe.

Voici carun objet (ou une instance) de la classe Vehicle .

N’oubliez pas que notre classe de véhicules a quatre attributs : le nombre de roues, le type de réservoir, la capacité en sièges et la vitesse maximale. Nous définissons tous ces attributs lors de la création d’un objet véhicule . Donc, ici, nous définissons notre classe pour recevoir des données lorsqu’elle l’initie:

Nous utilisons la init méthode . Nous l’appelons une méthode constructeur. Ainsi, lorsque nous créons l’ objet véhicule , nous pouvons définir ces attributs . Imaginez que nous aimons la Tesla Model S et que nous voulons créer ce genre d’ objet . Il a quatre roues, fonctionne à l’énergie électrique, a cinq places et la vitesse maximale est de 250 km / heure (155 mph). Créons cet objet:

Quatre roues + «type de réservoir» électrique + cinq sièges + vitesse maximale de 250 km / heure.

Tous les attributs sont définis. Mais comment pouvons-nous accéder aux valeurs de ces attributs? Nous envoyons un message à l’objet demandant à leur sujet . Nous appelons cela une méthode . C’est le comportement de l’ objet . Implémentons-le:

Ceci est une mise en œuvre de deux méthodes: number_of_wheels et set_number_of_wheels . Nous l’appelons gettersetter. Parce que le premier obtient la valeur d’attribut et le second définit une nouvelle valeur pour l’attribut.

En Python, nous pouvons le faire en utilisant @propertydecorators) pour définir getterset setters. Voyons cela avec du code:

Et nous pouvons utiliser ces méthodes comme attributs:

Ceci est légèrement différent de la définition des méthodes. Les méthodes fonctionnent comme des attributs. Par exemple, lorsque nous définissons le nouveau nombre de roues, nous n’appliquons pas deux en tant que paramètre, mais définissons la valeur 2 sur number_of_wheels. C’est une façon d’écrire pythonic getteret de settercoder.

Mais nous pouvons également utiliser des méthodes pour d’autres choses, comme la méthode  » make_noise « . Voyons ça:

Lorsque nous appelons cette méthode, elle renvoie simplement une chaîne « VRRRRUUUUM. « 


Encapsulation: masquage des informations

L’encapsulation est un mécanisme qui restreint l’accès direct aux données et méthodes des objets. Mais en même temps, il facilite l’opération sur ces données (méthodes des objets).

«L’encapsulation peut être utilisée pour masquer les membres des données et la fonction des membres. Selon cette définition, l’encapsulation signifie que la représentation interne d’un objet est généralement cachée à l’extérieur de la définition de l’objet. »- Wikipedia

Toute représentation interne d’un objet est cachée de l’extérieur. Seul l’objet peut interagir avec ses données internes.

Tout d’abord, nous devons comprendre comment publicet comment les non-publicvariables et méthodes d’instance fonctionnent.

Variables d’instance publique

Pour une classe Python, nous pouvons initialiser un public instance variabledans notre méthode constructeur. Voyons ça:

Dans la méthode constructeur:

Ici, nous appliquons la first_namevaleur comme argument au public instance variable.

Au sein de la classe:

Ici, nous n’avons pas besoin d’appliquer le first_namecomme argument, et tous les objets d’instance auront un class attributeinitialisé avec TK.

Cool. Nous avons maintenant appris que nous pouvons utiliser public instance variableset class attributes. Une autre chose intéressante à propos de la publicpièce est que nous pouvons gérer la valeur variable. Qu’est-ce que je veux dire par là? Notre objectpeut gérer sa valeur variable: Getet ses Setvaleurs variables.

En gardant la Personclasse à l’esprit, nous voulons définir une autre valeur pour sa first_namevariable:

Et voilà. Nous venons de définir une autre valeur ( kaio) pour la first_namevariable d’instance et il a mis à jour la valeur. Aussi simple que cela. Puisqu’il s’agit d’une publicvariable, nous pouvons le faire.

Variable d’instance non publique

Nous n’utilisons pas ici le terme «privé», car aucun attribut n’est vraiment privé en Python (sans une quantité de travail généralement inutile). – PEP 8

En tant que public instance variable, nous pouvons définir les non-public instance variabledeux dans la méthode constructeur ou dans la classe. La différence de syntaxe est: pour non-public instance variables, utilisez un trait de soulignement ( _) avant le variablenom.

«Les variables d’instance« privées »auxquelles on ne peut accéder que depuis l’intérieur d’un objet n’existent pas en Python. Cependant, il existe une convention qui est suivie par la plupart du code Python: un nom préfixé avec un trait de soulignement (par exemple _spam) doit être traité comme une partie non publique de l’API (qu’il s’agisse d’une fonction, d’une méthode ou d’un membre de données) » – Fondation Python Software

Voici un exemple:

Avez-vous vu la emailvariable? C’est ainsi que nous définissons non-public variable:

Nous pouvons y accéder et le mettre à jour. Non-public variablesne sont qu’une convention et doivent être traités comme une partie non publique de l’API.

Nous utilisons donc une méthode qui nous permet de le faire à l’intérieur de notre définition de classe. Implémentons deux méthodes ( emailet update_email) pour le comprendre:

Maintenant, nous pouvons mettre à jour et accéder à l’ non-public variablesaide de ces méthodes. Voyons voir:

  1. Nous avons lancé un nouvel objet avec first_nameTK et emailtk@mail.com
  2. Imprimé l’e-mail en accédant à non-public variableavec une méthode
  3. J’ai essayé de mettre un nouveau emailhors de notre classe
  4. Nous devons traiter non-public variabledans le non-publiccadre de l’API
  5. Mis à jour non-public variableavec notre méthode d’instance
  6. Succès! Nous pouvons le mettre à jour dans notre classe avec la méthode helper

Méthode publique

Avec public methods, nous pouvons également les utiliser hors de notre classe:

Testons-le:

Génial – nous pouvons l’utiliser sans aucun problème.

Méthode non publique

Mais avec non-public methodsnous, nous ne pouvons pas le faire. Implémentons la même Personclasse, mais maintenant avec un show_age non-public methodutilisant un trait de soulignement ( _).

Et maintenant, nous allons essayer d’appeler cela non-public methodavec notre objet:

Nous pouvons y accéder et le mettre à jour. Non-public methodsne sont qu’une convention et doivent être traités comme une partie non publique de l’API.

Voici un exemple de la façon dont nous pouvons l’utiliser:

Ici, nous avons un _get_age non-public methodet un show_age public method. Le show_agepeut être utilisé par notre objet (hors de notre classe) et le _get_ageseul utilisé dans notre définition de classe ( show_ageméthode inside ). Mais encore une fois: par convention.

Résumé de l’encapsulation

Avec l’encapsulation, nous pouvons garantir que la représentation interne de l’objet est cachée de l’extérieur.

Héritage: comportements et caractéristiques

Certains objets ont des points communs: leur comportement et leurs caractéristiques.

Par exemple, j’ai hérité de certaines caractéristiques et certains comportements de mon père. J’ai hérité de ses yeux et de ses cheveux comme caractéristiques, et de son impatience et de son introversion comme comportements.

Dans la programmation orientée objet, les classes peuvent hériter des caractéristiques (données) et du comportement (méthodes) communs d’une autre classe.

Voyons un autre exemple et implémentons-le en Python.

Imaginez une voiture. Le nombre de roues, la capacité en sièges et la vitesse maximale sont tous des attributs d’une voiture. On peut dire qu’une classe ElectricCar hérite de ces mêmes attributs de la classe Car régulière .

Notre classe Car implémentée:

Une fois initié, nous pouvons utiliser tous les éléments instance variablescréés. Agréable.

En Python, nous appliquons a parent classà en child classtant que paramètre. Une classe ElectricCar peut hériter de notre classe Car .

Aussi simple que cela. Nous n’avons pas besoin d’implémenter une autre méthode, car cette classe l’a déjà (héritée de la classe Car ). Prouvons-le:

Magnifique.

C’est ça!

Nous avons appris beaucoup de choses sur les bases de Python:

  • Fonctionnement des variables Python
  • Fonctionnement des instructions conditionnelles Python
  • Fonctionnement du bouclage Python (pendant et pour)
  • Comment utiliser les listes: Collection | Array
  • Collection de valeurs-clés du dictionnaire
  • Comment nous pouvons parcourir ces structures de données
  • Objets et classes
  • Attributs en tant que données d’objets
  • Les méthodes comme comportement des objets
  • Utilisation de getters et setters Python et décorateur de propriété
  • Encapsulation: masquer des informations
  • Héritage: comportements et caractéristiques

Félicitations! Vous avez terminé ce contenu dense sur Python.

Si vous voulez un cours complet sur Python, apprenez plus de compétences de codage dans le monde réel et construisez des projets, essayez « Obtenez la certification « Développeur d’Application – Python ». À bientôt ☺

Amusez-vous, continuez à apprendre et continuez à coder.

Article écrit par @leandrotk sur Medium: https://medium.com/free-code-camp/learning-python

Catégories : Uncategorized

0 commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *