Premier programme Python

Premier programme Python

Le premier programme que nous allons développé ensemble est le fameux Hello World! Voici ce qu’il donne en Python :

Cette ligne de code permet d’afficher Hello World!

  1. Sauvegarder la ligne du code ci-dessus dans fichier .py (par exemple HW.py)
  2. Executer la commande python HW.py

Exemple 1 – (mon premier programme Python se trouve sur C:):

premier programme python

En python les deux instruction sont identiques Les guillemets (simples ou doubles, Python ne faisant pas la différence) signifient que ce qui se trouve à l’intérieur est une chaîne de caractères.:

Exemple 2 :

Ce qui donne le résultat suivant:

deuxieme programme Python

Si le littéral n’est composé que de chiffres, alors il s’agit d’un nombre entier. S’il y a un point, il s’agit d’un nombre réel

 

Le site d’administration de Django

Le site d’administration de Django

Lors de la création d’applications web, un temps important est consacré à écrire une interface d’administration. Avec Django, en seulement quelques lignes de codes, vous disposez d’une interface d’administration de vos utilisateurs et de vos modèles afin de les gérer comme bon vous semble.

Comment accèder au site d’administration de Django

Pour pouvoir visiter le site d’administration de Django, il faut s’assurer que le serveur de développement est démarré :

Il ne vous reste maintenant que d’accéder à l’adresse suivante : http://127.0.0.1:8000/admin/ pour arriver à  l’interface d’administration, sur la page de connexion :

Le site d’administration de Django

Le site d’administration de Django

Traduire le site d’administration de Django

Par défaut la langue est en anglais, mais vous pouvez définir le français par defaut en changeant la variable LANGUAGE_CODE du fichier settings.py

Le site d’administration de Django (traduction françsaise)

Le site d’administration de Django (traduction françsaise)

Créer votre premier application avec Dajngo

Créer votre premier application avec Dajngo

Projet vs application Django

Un projet est composé d’applications web assemblées, il contient donc le code de chaque application ainsi que du code global au projet. Pour savoir comment créer un projet Django, rendez-vous à la page suivante: Créer votre premier projet avec Dajngo.

Une application est une web-app qui fournit un certain ensemble de fonctionnalités. Une même application peut appartenir à plusieurs projets. Enfin il peut exister des dépendances entre les applications.

Créer votre premier application avec Dajngo

Allez à la racine du projet (là où est installé manage.py) et tapez la commande suivante :

La commande ci-dessus va créer un répertoire monapplication, avec le contenu suivant :

application Django

Le contenu d’une application Django

Nous aurons par la suite besoin à créer d’autres répertoires comme par exemple un répertoire pour les templates de l’application, un autre pour les fichiers statiques de l’application, encore un autre pour les commandes, etc.

Instructions conditionnelles Python

Un bloc conditionnel est un bloc de code qui s’exécute si et seulement si l’instruction de contrôle le contenant voit sa condition respectée. Dès lors qu’un des blocs est exécuté, la suite des instructions conditionnelle est terminée.

Rien ne s’oppose à ce qu’un bloc prenne place dans une fonction, dans une méthode, dans un module, voire même dans une classe. Un bloc conditionnel peut prendre place dans une boucle, voire même dans un autre bloc conditionnel.

Instruction if

Le mot-clé if n’exécute des instructions que si une condition est remplie :

Comme déjà dit, il n’y a pas de fioritures en Python. Nous avons déjà vu qu’un bloc ne nécessite pas d’accolades et l’on voit maintenant que l’écriture d’une condition ne nécessite pas de parenthèses. L’instruction if et le bloc qui suit se suffisent à eux-mêmes.

À noter que pass peut être utilisé dans le bloc. Ceci est rare car si une fonction vide ou une classe vide est utile, une boucle conditionnelle vide ne l’est pas :

Le principe de cette instruction est de contenir une partie de code qui ne s’exécute que si la condition est analysée comme vraie.

Instruction elif

L’instruction elif n’est utilisée que si l’ensemble des instructions précédentes ont vu leurs conditions évaluées à False.

Une fois cette condition remplie, la condition liée à cette instruction est évaluée et en cas d’évaluation positive, le bloc correspondant est exécuté.

Pour s’en convaincre, il suffit de tester ce morceau de code :

La première expression n’est pas vraie, le premier bloc est exécuté et la suite d’instructions continue d’être lue. La seconde expression est vraie, le second bloc est exécuté et la suite des instructions conditionnelles de l’algorithme s’arrête alors.

Une instruction elif suit obligatoirement une instruction if et il peut y en avoir autant que nécessaire.

 Instruction else

Pour traiter distinctement le cas où une condition est respectée et celui où elle ne l’est pas, il est possible de le réaliser par deux blocs distincts :

Mais cette écriture est lourde et potentiellement génératrice d’erreurs pour des conditions complexes, en plus d’imposer de les évaluer deux fois.

L’instruction else permet alors de traiter le cas où la première condition n’est pas vraie. Voici un code équivalent à ce qui précède et à la fonction du début :

La solution est plus élégante et plus compréhensible.

Les instructions if et else peuvent traiter tous les cas possibles, mais elif apporte une simplification de l’algorithme. Voici l’algorithme de la section sur l’instruction elif réalisé sans cette instruction :

 

On voit immédiatement l’intérêt de l’instruction elif. Là encore, la troisième condition n’est pas validée.

L’instruction else peut également être utilisée en complément de elif, mais elle est forcément la dernière :

Les variables – Python

Qu’est-ce qu’une variable ?

Le contenu d’une variable est sa valeur. Il s’agit forcément d’une instance d’un objet, stockée en mémoire. Celle-ci est donc reliée à une classe. Le type de l’instance est le nom de sa classe.

Par exemple 42 est une instance de la classe int, elle est de type int :

Toute opération réalisée sur une variable l’est sur sa valeur.

Le contenant n’est rien d’autre que l’association d’un nom et d’un pointeur vers le contenu, soit la valeur associée à ce nom.

L’affectation est l’opération qui permet d’associer un contenu (opérande de droit) à un contenant (opérande de gauche) et donc d’associer un nom avec un pointeur vers une valeur.

Ainsi, l’utilisation de ce nom renvoie systématiquement la valeur associée :

L’unique moyen de supprimer cette association entre contenu et contenant est de supprimer l’association entre le nom et le pointeur :

Le contenant n’existe alors plus, et il n’est plus possible d’utiliser le nom de variable :

Le fait que le contenant n’existe plus ne signifie pas forcément que le contenu associé n’existe plus également, car si un contenant n’est associé qu’à un seul contenu, un contenu peut être associé à plusieurs contenants.

Pour savoir si les contenants pointent vers le même contenu, il faut procéder ainsi :

Voici donc un exemple ou un contenant est supprimé, mais pas le contenu :

Lorsque tous les contenants pointant vers un contenu sont supprimés, le contenu devient inaccessible dans le sens où il ne reçoit plus aucun pointeur.

Cela ne signifie pas pour autant qu’il est immédiatement supprimé, puisque cette opération est réalisée par le ramasse-miettes de la machine virtuelle de Python.

Le nommage des contenants doit suivre certaines règles qui sont en partie imposées, en partie tacites.

Tous les mots-clés (les trente instructions + None + True + False) vus au chapitre précédent ne sont pas utilisables en tant que noms de variable (erreur détectée par l’analyse lexicale) :

Une telle erreur est immédiatement détectée. Par contre, il est possible d’utiliser des mots réservés, c’est-à-dire que le langage utilise déjà :

Par contre, ce faisant, on s’expose à rencontrer des erreurs qui se produisent de manière logique. En effet, si un peu plus loin dans le code, on veut convertir un n-uplet en liste comme ceci, on aura :

Ce type d’erreur est plus insidieux, puisque non détecté lors de l’analyse lexicale étant donné que list n’est pas un mot-clé, mais seulement un mot réservé.

En effet, Python suppose que vous savez ce que vous faites et que si vous remplacez la fonction list, c’est que vous la remplacez par un équivalent et que vous le faites dans les règles de l’art.

Elle n’est pas non plus détectée par les autres mécanismes et pour cause puisque le développeur peut réellement vouloir remplacer la classe list existante par une classe personnalisée et une des forces de Python consiste justement à permettre ce genre de possibilités.

Tout repose donc sur la bonne utilisation des noms de variables par le développeur et la philosophie même de Python consiste à faire confiance au développeur et à lui donner le maximum de clés.

Sur une console, le moyen de revenir en arrière sur ce genre d’erreurs est de retourner chercher la variable depuis le module builtins :

Attention, avec Python 2, il faut procéder ainsi :

 

Installer des bibliothèques Python externes

Installer des bibliothèques Python externes avec Pip

Python est fourni piles incluses. C’est-à-dire que seul, il est capable de faire l’essentiel. Cependant, il existe certaines bibliothèques qui permettent de proposer des alternatives ou des interfaces de plus haut niveau, voire des frameworks.

Celles-ci sont bien souvent indispensables et nombre d’entre elles sont présentées ultérieurement dans ce cours.

Manipulation des bibliothéques

Pour chercher une bibliothèques tierce, vous pouvez utiliser le site suivant https://pypi.python.org/pypi ou utiliser directement votre terminal en utilisant la commande : pip search nomBibliothéque.

Exemple :

Cette ligne vous donnera une liste de bibliothèques accompagnée d’une courte description.

Installer une bibliothéque

l’installation d’une bibliothéque tierce avec pip se fait par la commande : pip install nomBibliothéque.

Exemple :

Cette ligne vous permettra d’installer une bibliothèque à sa dernière version ainsi que toutes les bibliothèques dépendantes.

Il est aussi possible de choisir la version à installer :

Ou mettre à jour la bibliothèque à une version précise :

Ou mettre à jour la bibliothèque à la dernière version :

Pour désinstaller une bibliothéque :

Et pour avoir avoir des informations sur un paquet déjà installé :

Informations sur le paquet Django

Informations sur le paquet Django

BONUS (Installation de pip)

pip est maintenant le gestionnaire de paquets de référence pour Python. Depuis la version 3.4, il est installé automatiquement avec Python.

Pour la version 3 de Python, utilisez la commande suvante :

Pour la version 2 de Python, utilisez la commande :

Si vous utilisez une version très ancienne de Python, il se peut que vous ne disposez pas de ce gestionnaire de paquets, voici comment l’installer sur Linux :

Pour les autres systemes d’exploitation, il y a des instructions à suivre sur la page suivante: https://pypi.python.org/pypi/setuptools

Présentation de Python

QU’EST-CE QUE PYTHON ?

Python est un langage de programmation interprété, multi-paradigme et multiplateformes, de haut niveau à typage dynamique fort, doté d’une gestion automatique des ressources par ramasse-miettes et d’un système de gestion d’exceptions ; il est ainsi similaire à Perl, Ruby, Scheme, Smalltalk et Tcl.

Le langage Python est placé sous une licence libre proche de la licence BSD, il s’agit de la licence Python Software Foundation License. Python est apparu en 1990 et possède plusieurs implémentations, dont CPython, Jython et PyPy.

Il est conçu pour optimiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe minimaliste, claire, simple, suffisamment proche du langage naturel pour qu’un algorithme soit compris dès la première lecture par un lecteur qui connaît l’anglais.

L’histoire de Python :

la première version du langage Python, nommée ainsi en l’honneur des Monty Python dont il est fan. Python est ainsi inspiré des langages ABC, de Modula-3 , de C et des outils Unix.

La première version rendue publique est la 0.9.0 qui est postée sur un forum Usenet en février 1991.

Caractéristiques du langage Python

  • Python est portable
  • Python est gratuit
  • Python est orienté-objet
  • Python gère ses ressources (mémoire, descripteurs de fichiers…) sans intervention du programmeur
  • Python est un langage qui continue à évoluer, soutenu par une communauté d’utilisateurs enthousisates et responsables, dont la plupart sont des supporters du logiciel libre.