Cours Python : 1. Les bases et les variables

Moderator: Mod

Cours Python : 1. Les bases et les variables

Postby Manu404 » Sat Mar 15, 2008 2:39 am

Salut tout le monde, comme vous pouvez le voir je me diversifie dans mes tutos et j'essaye de poster de nouveaux dès que j'ai le temps en fonction des derniers travaux que j'ai fait et la en l'occurence j'ai rebosser un petit peux en Python et vous propose donc une petite introduction sur ce langage...
Allez.... C'est partit...
[b:33898300ac][size=16:33898300ac]
COURS[/size:33898300ac][/b:33898300ac]

[b:33898300ac][size=14:33898300ac]I - COMPILATEURS ET INTERPRETEURS[/size:33898300ac][/b:33898300ac]

Je sais que beaucoup de gens pensent savoir comment fonctionne un compilateur ce qui n'est généralement pas le cas car ils confondent souvent compilateurs et interpreteurs. De plus, le compilateur est aussi complexe à réaliser qu'un OS complet....

De plus, le compilateur même si il n'est pas forcément simple a comprendre quand on rentre dans les details, est le programme informatique le plus logique et infaïbles qui soit, les compilateurs dans 200ans seront encore et toujours réalisé de la même manière car c'est un domaine de l'informatique dans lequel nous sommes au bout du tunnel...

Donc, définissons un compilateurs de manière simple :

- Un compilateurs vas lire tout le code, vas ensuite le traduire en langage machine concret (486,P6,Power) ou en langage machine abstrait (SECD, WAM, JVM, P-Machine)
Le langage machine est le seul langage compris par l'ordinateur, c'est ce qui permet de faire effectuer des series d'ordre au pc.
Le compilateur se compose de deux parties, l'avant et l'arrière, l'avant est décomposé en 4 étapes :

[b:33898300ac]1[/b:33898300ac] - Analyse lexical
[b:33898300ac]2[/b:33898300ac] - Crible
[b:33898300ac]3[/b:33898300ac] - Analyse syntaxique
[b:33898300ac]4[/b:33898300ac] - Analyse sémantique

[b:33898300ac]Et a l'arriére il y a:[/b:33898300ac]

[b:33898300ac]5[/b:33898300ac] - Optimisation du code
[b:33898300ac]6[/b:33898300ac] - Allocation de la mémoire
[b:33898300ac]7[/b:33898300ac] - Génération du code en langage machine
[b:33898300ac]8[/b:33898300ac] - Otpmisitations de la cible (le code finale)

Les définitions de chaques étapes sont obsoletes, les mots parlent d'eux même...

Donc voila ce que fait en résumé un compilateur. Maintenant le compilateur est un pogramme qui est très complexe à comprendre et pour ceux qui s'y interesses il a cet ouvrage qui est certes assez cher et long a lire mais qui est la référence mondiale a ce niveaux (traduit dans plus de 40 langues...) "Compilateurs" par "Grune Bal Jacobs", ils en sont à une réédition par ans qui en générale s'epuise en 2-3 mois car tout le monde se jette dessus, l'editions que j'ai contient +/- 1300 pages et parle aussi de la pensée informatique mais est reservé aux gens possédant un minimum de bases non pas en programmation mais en Hardware pur et dur. Personelement, je le conseil à tous ceux qui voient l'informatique serieusement dans le future (par ex :Analyste-programmeurs ou ingenieurie informatique...)

Donc voila pour les compilateurs, les interpreteurs maintenant, les interpreteurs sont plus simple et à la fois plus complexe et je ne m'attarderai pas sur ces derniers car ils ne sont pas trés souvent utilisé dans le cas de développement d'applications.
[b:33898300ac]
Que fait l'interpreteur :[/b:33898300ac]
Il va lire le code et ainsi générer le bytecode (langage machine) au fur et à mesure de sa lecture, vous l'aurez compris ça à des avantages (dans le cas du demo making on vois directement les changement graphiques apportés ) et des inconveignants car pas de notions d'heritage d'appel de fonctions antérieurs etc... On apel ça de la programmation dynamique (par opposition aux compilateurs qui fonctionnent par programmation statique)
[b:33898300ac]
Pourquoi parler des deux dans le cas de Python ?[/b:33898300ac]
Car il peut utiliser les deux, un peu comme le java par exemple.
C'est a dire que vous pouvez taper vos commandes dans l'interpreteur (shell ou Ms-Dos) et voir les resultats au fur et a mesure ou alors les taper dans un éditeur de texte classique et les compiler par la suite.
L'avantage est evident car quand vous tapez du texte dans le Shell vous ne pouvez pas le sauvegarder à moin de faire un copier coller et refaire la mise an page.
Mais les deux techniques ont leurs avantages et inconveiniants et Python à réussit à prendre le meilleurs de chacune.
Je tiens à préciser ceci car comprendre comment se comporte le code une fois lancé est aussi important que de comprendre sont but et ses effets, cela permet de mieux l'optimiser et de voir la programmation sous un jour différent.


[b:33898300ac][size=14:33898300ac]PREMIER PETIT SCRIPT[/size:33898300ac][/b:33898300ac]

Bon maintenant rentrons dans le vif du sujet....
Python est, contrairement à beaucoup de langages de programmation, un langage avec une syntaxe très simple, qui ne nécessite pas beaucoup de definitions avant utilisation de fonctions.
Par exemple, pour afficher du texte il suffit de taper :

[code:1:33898300ac] <<< print "le texte"[/code:1:33898300ac]

alors qu'en C++ par exemple (pour ceux qui suivent mes autres cours) il faudrait tapper

[code:1:33898300ac] # include <iostream>
int main()
{
std::cout<<"le texte";
return 0;
}[/code:1:33898300ac]

Donc, en Python, il n'y a pas besoin de faire d'appel de bibliothèque ou autre en-têtes de programmes. Une fois le Shell lancé, vous pouvez directement écrire du code "actif".
Ecrivons notre premier programme avec nos premiéres variables.
Nous supposons que vous connaissez les variables si ce n'est pas le cas cliquez ici.
Les triples crochets ne sont pas tappés dans le code et servent juste de repère par rapport à la structure du code :

[code:1:33898300ac]
<<< a=5
<<< b="Salut"
<<< a
<<< b [/code:1:33898300ac]

Nous observons que pour déclarer une variable, il suffit d'inscrire le nom de la variable suivit du signe "=" et de sa "valeur". Je met valeur entre guillement car le signe "=" ne signifie pas "est égal à" mais "correspond à". La différence est subtile mais a son importance, le signe correspondant à "est egal à" est "==" mais nous y reviendrons plus tard, lors de conditions et boucles.
Nous remarquons aussi que pour déclarer des variables contenant des chaines de caractères il faut mettre cette dernière entre guillemet...

Autre remarque, les variables sont auto-typé en Python, c'est a dire qu'il n'y a pas besoin de déclarer le type (long, float double etc...) avant de la rentrée, le programme choisis lui même le type qui correspond le mieux au contenu de la variable, et fait lui même le changement d'un à l'autre par exemple :
[code:1:33898300ac]
<<< a=5 a est une variable type short)
<<< b=a/2 b est une variable de type float divisant a par 2
<<< b=b*2 b devient une variable de type short car 2.5*2=5, soit un nombre entier.[/code:1:33898300ac]


Revenons a nos moutons.
En tapant donc le code de l'exercice vous obtenez :

[code:1:33898300ac]<<< 5
<<< "Salut"
[/code:1:33898300ac]

Tapez maintenant ceci :

[code:1:33898300ac]
<<<a=5
<<<b="Salut"
<<<print a
<<<print b[/code:1:33898300ac]

Vous observez que les guillements on disparus, pourquoi ?
Simplement parce qu'en tapant uniquement le nom de la variable vous afficherez, dans le cas de caractéres, tout ce qui mentioné aprés le "=" alors qu'avec print on affiche la "valeur" de la variable.

Nous allons maintenant voir comment affecter plusieurs valeurs au variables en une seule ligne.
[code:1:33898300ac] <<<a,b,c = 1,2,3
<<<print a,b,c
[/code:1:33898300ac]
Dans cette exemple chaques variable reçoit la valeur correspondant à sa position après le =.
C'est à dire, a est la premiére variable déclarée, elle recevra donc la première valeur, b la seconde, elle recevra donc la seconde et ainsi de suite.
Interessons nous a présent à print, print affichera la valeur de différentes variables et les affichera sur une ligne grâce à la virgule qui précède la variable qui signifie : pas de saut de ligne.

Vous savez maintenant comment afficher des mots à l'ecran et connaissez le fonctionnement basique des variables.
Dans le prochain cours nous apprendrons comment effectuer des operations mathématiques avec les variables ainsi que les conditions.


Sur ce....
A bon entendeur....
Salut !
By Manu404 and </Skorm>
User avatar
Manu404
 
Posts: 2219
Joined: Tue Feb 26, 2008 3:44 pm
Location: ::1:

python

Postby KIZAME35 » Tue Mar 15, 2011 2:17 am

Merci pour le cours manu mais on ecrit ce code dans quoi?notepad ou autre chose et le shell ou l ecrit-on?merci d avance. [color=orange:5f0df03ef8][/color:5f0df03ef8]
User avatar
KIZAME35
Projets
 
Posts: 18
Joined: Fri Mar 11, 2011 3:24 am
Location: Cameroun

Postby Manu404 » Tue Mar 15, 2011 2:50 am

Tu l’écris soit dans l’interpréteur python soit dans un éditeur de texte et tu load le fichier dans l’interpréteur.
User avatar
Manu404
 
Posts: 2219
Joined: Tue Feb 26, 2008 3:44 pm
Location: ::1:


Return to Python

Who is online

Users browsing this forum: No registered users and 1 guest

cron