L'abstraction en Python

Table des matières
L'abstraction dans le développement de logiciels est assez importante car elle nous permet de définir des morceaux de code qui fonctionnent seuls avec une complexité partagée, nous pouvons souvent utiliser des fonctions abstraites qui s'appliquent à tant de cas que nous pouvons les utiliser quand nous le voulons.
Si nous voyons les programmes que nous avons peut-être écrits dans Python En suivant les tutoriels, nous voyons que ce sont de petits programmes avec un maximum de 15 à 20 lignes, cependant si nous voulions écrire un programme beaucoup plus gros ce serait un gros problème si nous ne manions pas l'abstraction. Rappelez-vous que la vertu du programmeur est qu'il ne fait pas de travail inutile, c'est-à-dire qu'il ne travaille pas deux fois la même chose ou ne se répète pas.
Voyons le code suivant, il calcule les 10 premiers nombres d'un séquence de Fibonacci:
 fibs = [0, 1] pour i dans la plage (8) : fibs.append (fibs [-2] + fibs [-1]) 

Cela donne effectivement les 10 premiers nombres

Maintenant, que se passe-t-il si nous voulons que l'utilisateur définisse qu'au lieu d'être 10 nombres, il s'agit d'une quantité dynamique, alors nous reconditionnons notre code comme suit :
 fibs = [0, 1] num = input ('Combien de nombres de Fibonacci voulez-vous ?') pour i dans la plage (num-2) : fibs.append (fibs [-2] + fibs [-1]) print fibs 

Jusqu'à présent tout semble normal, nous ne voyons aucun problème technique, cependant il y a un problème de philosophie de programmation, par exemple si nous voulons faire cela en plusieurs parties d'un programme nous devons écrire toutes ces lignes encore et encore, ce serait ce que nous appelons un travail inutile. Ce que nous appelons abstraction est un code plus court où ce qui se passe derrière est isolé, fait de telle manière qu'il fonctionne n'importe où, que nous ne nous soucions que d'obtenir ce qui est nécessaire pour nos conditions, une façon plus abstraite de voir les codes précédents serait celle-ci :
 num = input ('Combien de nombres voulez-vous ?') print fibs (num) 

Notons que c'est totalement direct, nous demandons de saisir combien de nombres l'utilisateur veut, puis nous imprimons un résultat, étant donné que nous avons défini une fonction fibs ailleurs qui nous permet de l'invoquer quand nous le voulons, en évitant le besoin faire la boucle de calcul encore et encore, rendant notre programme plus lisible et moins complexe.
La lisibilité est primordiale quand on développe un gros programme, la gestion des ressources système et l'efficacité sont aussi importantes, mais comment améliorer un programme si on ne le comprend pas en le lisant, par exemple ce code :
 page = download_page () freqs = compute_frequencies (page) pour word, freq in freqs: print word, freq 

En le lisant on sait ce qu'il fait et ce qu'il doit rendre, c'est de l'abstraction à l'état pur, comment fonctionnent les méthodes et les fonctions à ce stade ne nous intéresse pas, maintenant si l'efficacité et la gestion des ressources deviennent problématiques, on travaille simplement sur le fonction et le programme ne serait pas affecté, donc nous ne travaillerions qu'une seule fois.
C'est tout pour ce tutoriel, il nous reste du matériel pour continuer à réfléchir et améliorer notre mentalité de programmeur, afin que nous puissions abstraire notre code et travailler beaucoup plus efficacement.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave