Python

2 Fondamentaux

Comme expliqué précédemment, le système Linux et le langage Python sont devenus des incontournables du monde des réseaux. Autant il est facile de trouver une formation Linux qui réponde aux objectifs, autant les formations Python sont souvent orientées scientifiques avec beaucoup de prérequis mathématiques ou développement web, se terminant presque toujours avec l’étude du framework Django.

La formation Python recherchée doit permettre de focaliser uniquement sur le langage. Même si l’étude de Pyhton2 est indispensable pour une approche réseau, il ne faut pas, non plus, négliger Python3 qui représente l’avenir. Dans tous les cas, il convient de comprendre, qu’en Python, tout est un objet. Que l’on parle d’entier, de chaîne de caractères ou même de fonctions, tout n’est qu’objet qui possède un type déterminant ce qu’il est possible de faire avec cet objet, une identité et une valeur.

En outre, le type d’objet, qui forme le contenant, va déterminer si le contenu peut être modifié ou pas. Un objet dont la valeur peut être modifiée est appelé un objet mutable et celui dont le contenu ne peut être changé est nommé immuable (non-mutable). A titre d’exemples : les entiers, les nombres à virgule flottante, les nombres complexes, les booléens, les chaînes de caractères, les N-uplets (tuples), les intervalles (X ranges) et les collections figées (frozenset) sont des objets immuables. En revanche : les listes et les dictionnaires (dict) sont des objets mutables.

Quoiqu’il en soit et même si la valeur d’un objet est mutable, son identité et son type ne peuvent pas être changés. Il est de la responsabilité du programmeur que de tester le type des objets afin de ne pas effectuer des opérations impossibles entre certains objets incompatibles.

Les objets ne sont jamais explicitement détruits, mais lorsqu’ils deviennent inaccessibles, ils peuvent être pris en charge par le « Garbage Collector », afin de libérer l’espace mémoire. Dans ce contexte, une variable est un nom qui pointe vers un espace mémoire où l’objet est stocké, mais elle ne copie pas cette valeur. C’est une référence vers cette valeur plutôt que la valeur elle même.

Une fois établies ces bases du langage, une bonne lecture du PEP 8 permettra de démarrer l’apprentissage sur des fondations seines. Un approfondissement des types existants et des opérations associées, des boucles, des fonctions, des fichiers, des classes, des espaces de nommage, des exceptions, … pourra démarrer conjointement à l’étude des librairies spécialisées pour la gestion des réseaux.