Systèmes Numériques PYTHON Classe : TSTI2D
S.I.N
Initiation
à la programmation
Python
1 Pourquoi Python:
Le langage python est utilisé pour développer des applications graphiques sous Pcduino.
Dans un premier temps nous allons nous intéresser aux bases de la programmation Python, puis
utiliser une interface graphique ( PyGTK par exemple) avec Qt.
1.1 Choix et Intérêts de la programmation Python
Python est portable, non seulement sur les différentes variantes d'Unix, mais aussi sur les
OS propriétaires : Mac OS, BeOS, NeXTStep, MS-DOS et les différentes variantes de
Windows.
Un nouveau compilateur,baptisé JPython, est écrit en Java et génère du bytecode Java.
Python est gratuit, et utilisable sans restriction dans des projets commerciaux.
La syntaxe de Python est très simple et, combinée à des types de données évolués
(listes,dictionnaires...), cela permet des programmes à la fois très compacts et très lisibles.
Python est orienté-objet. Il supporte l'héritage multiple et la surcharge des opérateurs.
Python intègre, comme Java ou les versions récentes de C++, un système d'exceptions, qui
permettent de simplifier considérablement la gestion des erreurs.
Python est dynamique (l'interpréteur peut évaluer des chaînes de caractères représentant des
expressions ou des instructions Python)
Tout objet manipulable par le programmeur possède un type bien défini à l'exécution, qui n'a
pas besoin d'être déclaré à l'avance.
Python possède actuellement deux implémentations. L'une, interprétée, dans laquelle les
programmes Python sont compilés en instructions portables, puis exécutés par une machine
virtuelle (comme pour Java, avec une différence importante : Java étant statiquement typé, il
est beaucoup plus facile d'accélérer l'exécution d'un programme Java que d'un programme
Python). L'autre génère directement du bytecode Java.
Python est extensible : comme Tcl ou Guile, on peut facilement l'interfacer avec des
bibliothèques C existantes. On peut aussi s'en servir comme d'un langage d'extension pour
des systèmes logiciels complexes.
• La bibliothèque standard de Python, et les paquetages contribués, donnent accès à une
/5
grande variété de services : chaînes de caractères et expressions régulières, services UNIX
standards (fichiers, pipes, signaux,sockets, threads...), protocoles Internet (Web, News, FTP,
CGI, HTML...), persistance et bases de données, interfaces graphiques.
Python est un langage qui continue à évoluer, soutenu par une communauté d'utilisateurs
enthousiastes et responsables, dont la plupart sont des supporters du logiciel libre.
Parallèlement à l'interpréteur principal,écrit en C et maintenu par le créateur du langage, un
deuxième interpréteur, écrit en Java, est en cours de développement.
Python est un langage de choix pour traiter le XML.
1.2 Rappels sur les langages:
1.2.1 Des langages de différents niveaux :
Chaque processeur possède un langage propre, directement exécutable : le langage
machine. Il est formé de 0 et de 1 et n’est pas portable, mais c’est le seul que l’ordinateur puisse
utiliser .
le langage d’assemblage est un codage alphanumérique du langage machine. Il est plus
lisible que le langage machine, mais n’est toujours pas portable. On le traduit en langage
machine par un assembleur ;
les langages de haut niveau. Souvent normalisés, ils permettent le portage d’une machine à
l’autre. Ils sont traduits en langage machine par un compilateur ou un interpréteur.
1.2.2 Compilation et interprétation
La compilation est la traduction du source en langage objet.
Elle comprend au moins cinq phases :
Phase d'analyse :
lexicale, syntaxique et sémantique
Phase de production de code objet qui génère le langage machine.
Phase édition de liens
La compilation est contraignante mais offre la plus une grande vitesse d’exécution.
Chaîne de compilation
lorsque l'on réalise une interprétation chaque ligne du source analysé est traduite au fur et
à mesure en instructions directement exécutées.
Aucun programme objet n’est généré. Cette technique est très souple mais les codes générés sont
peu performants : l’interpréteur doit être utilisé à chaque exécution...
Interprétation
1.2.3 Python interprété ou compilé ?
/5
Python utilise une technique mixte, il interprète du bytecode compilé.
Cela réalise un bon compromis entre la facilité de développement et la rapidité d’exécution .
Le bytecode (forme intermédiaire) est portable sur tout ordinateur muni de la machine
virtuelle Python.
Pour exécuter un programme, Python charge le fichier source .py (ou .pyw) en mémoire
vive, en fait l’analyse syntaxique, produit le bytecode et enfin l’exécute. Pour chaque
module importé par le programme, Python vérifie d’abord s’il existe une version précompilée
du bytecode (dans un fichier .pyo ou .pyc) dont la date correspond au fichier .py. S’il
y en a un, Python l’utilise, sinon il fait une analyse syntaxique du module .py, et utilise le
bytecode qu’il vient de générer.
En pratique, il n’est pas nécessaire de compiler explicitement un module, Python gère ce
mécanisme de façon transparente.
1.2.4 Technique de programmation
Le génie logiciel étudie les méthodes de construction des programmes. Plusieurs modèles
sont envisageables, entre autres :
la méthodologie procédurale. On emploie l’analyse descendante (division des problèmes)
et remontante (réutilisation d’un maximum de sous algorithmes). On s’efforce
ainsi de décomposer un problème complexe en sous-programmes plus simples. Ce modèle
structure d’abord les actions ;
la méthodologie objet. On conçoit des fabriques (classes) qui servent à produire des
composants (objets) qui contiennent des données (attributs) et des actions (méthodes).
Les classes dérivent (héritage et polymorphisme) de classes de base dans une construction
hiérarchique.
Python permet d'utiliser les deux techniques de programmation.
2 Installation de python sous Windows et Ubuntu
Éditeur de code Pyscripter
Cet IDE est d'abord un éditeur de code très pratique qui permet de créer des projets Python, et
d'éditer des scripts Python. Il dispose également de l'autocomplétion qui permet d'accéder
facilement aux fonctions natives du langage Python.
Il y a aussi une fonction qui vérifie la syntaxe en vous avertissant en soulignant le code qui pose
problème, directement pendant la saisie (ce qui évite de découvrir les erreurs à la compilation).
L'IDE permet de lancer le script à la volée simplement en cliquant sur le bouton Run.
Et pour couronner le tout, il est compatible avec plusieurs versions de Python, très utile quand on
est amené à travailler sur différents projets qui n'utilisent pas les mêmes versions de Python, ou
pour tester sur d'autres versions.
/5
Débuggueur python
Le débuggeur qui propose les fonctions classiques :
point d'arrêt (breakpoint)
pile d'appels (call stack)
inspecteur de variable (espion, aussi appelé watch)
exécution pas à pas : step into, step over, step out, pause
2.1 Installation sous Windows
Si Python n'est pas déjà installé, lancez le fichier exécutable :
PortablePython_3.2.5.1.exe
Cet exécutable installera python et son IDE (Environnement de développement
intégré ) Pyscripter.
2.2 Installation sous Ubuntu
Nous utiliserons sous Ubuntu l'éditeur de texte Geany.
3 Utilisation de l'IDE Pyscrypter
Lancez le logiciel
Vous devriez obtenir une fenêtre de ce type .
/5
L’interpréteur
L’interpréteur contient le triple chevron >>> qui est l’invite de Python (prompt en anglais) et qui
signifie que Python attend une commande.
Tapez la séquence suivante 2+3*5 dan l'interpréteur puis validez .
Ceci ressemble un peu au fonctionnement d'une calculatrice...
L’éditeur
On peut y écrire des scripts, c’est-à-dire des programmes petits ou grands.
Lire la vidéo suivante Python _ Installing Python and PyScripter under Windows.mp4
in english of course !
4. Points clés à retenir et questionnement.
Qu'est-ce qu'un langage machine ?
Qu'est-ce qu'un langage de haut niveau ?
Quelles sont les différences entre un langage compilé et interprété ?
Le Python est il interprété ou compilé ?
Donnez deux techniques de programmations.
Qu'est-ce qu'un IDE ?
Notre première activité s'arrête ici ….
/5
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !