Python 1 : Différence entre versions
De TARENTINO
Aller à la navigationAller à la recherche| (39 révisions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
| − | {{ | + | {{Menu_Python}}{{En_resume_Python_Init}}{{Coulpython}}{{Pythonline3}}{{SideInit}}{{Navigationp}}{{Sidebaradm}}<p align="right" style="color: blue">'''{{CURRENTDAY}}/{{CURRENTMONTH}}/{{CURRENTYEAR}}'''</p> |
| − | {{ | + | __NOTOC__ |
| − | + | <br> | |
| − | + | = <font size=6 color=red>'''PYTHON Initiation'''</font> = | |
| − | + | == <font color=green>'''Introduction'''</font> == | |
| − | + | <font color=black> | |
| − | |||
| − | |||
| − | <font size=6 color=red>'''PYTHON Initiation'''</font> | ||
| − | == Introduction == | ||
| − | <font color= | ||
* Développeur dans de multiples langages, je me suis intéressé à Python récemment. | * Développeur dans de multiples langages, je me suis intéressé à Python récemment. | ||
* Autodidacte, je n'ai jamais vraiment su ce qu'était la programmation orientée objet, ni comment l'aborder. | * Autodidacte, je n'ai jamais vraiment su ce qu'était la programmation orientée objet, ni comment l'aborder. | ||
| Ligne 17 : | Ligne 12 : | ||
* 3 personnes que je remercie chaleureusement pour leur accompagnement, et leur pédagogie. | * 3 personnes que je remercie chaleureusement pour leur accompagnement, et leur pédagogie. | ||
* 3 personnes que j'apprécie vraiment par leur simplicité, leurs méthodes d'approche, et leur humilité dans leurs savoirs. | * 3 personnes que j'apprécie vraiment par leur simplicité, leurs méthodes d'approche, et leur humilité dans leurs savoirs. | ||
| − | |||
'''<font color=red>Dominique Ribouchon</font><br>Python introduction et algorithmie.''' | '''<font color=red>Dominique Ribouchon</font><br>Python introduction et algorithmie.''' | ||
'''<font color=red>Alexandre Guy</font><br>Python programmation objet.''' | '''<font color=red>Alexandre Guy</font><br>Python programmation objet.''' | ||
| Ligne 23 : | Ligne 17 : | ||
Tout trois, formateurs chez ORSYS. | Tout trois, formateurs chez ORSYS. | ||
{{#widget:YouTube|id=qGkfpib82t0}} | {{#widget:YouTube|id=qGkfpib82t0}} | ||
| − | |||
* Je pars volontairement d'une façon grand débutant en occultant ce que j'ai appris avec les autres langages, ceci pour appliquer uniquement leurs façons de procéder. | * Je pars volontairement d'une façon grand débutant en occultant ce que j'ai appris avec les autres langages, ceci pour appliquer uniquement leurs façons de procéder. | ||
* Je leur demanderai avant si je peux mettre en ligne ce que je résumerai dans mes notes car ils sont les auteurs de quelques mots, phrases et exemples. | * Je leur demanderai avant si je peux mettre en ligne ce que je résumerai dans mes notes car ils sont les auteurs de quelques mots, phrases et exemples. | ||
</font> | </font> | ||
| − | == Que peut-on faire avec Python? == | + | == <font color=green>'''Que peut-on faire avec Python?'''</font> == |
| + | <font color=black> | ||
* Beaucoup de choses ! | * Beaucoup de choses ! | ||
** du calcul scientifique (librairie [http://www.numpy.org/ NumPy]) | ** du calcul scientifique (librairie [http://www.numpy.org/ NumPy]) | ||
| Ligne 44 : | Ligne 38 : | ||
** ... | ** ... | ||
* Des dizaines de milliers de librairies sont disponibles sur le dépôt officiel [https://pypi.python.org/pypi PyPI]. | * Des dizaines de milliers de librairies sont disponibles sur le dépôt officiel [https://pypi.python.org/pypi PyPI]. | ||
| + | </font> | ||
| − | == Python Initiation == | + | == <font color=green>'''Python Initiation'''</font> == |
| + | <font color=black> | ||
<table> | <table> | ||
<tr> | <tr> | ||
| Ligne 54 : | Ligne 50 : | ||
<font size=4 color=green>[https://www.python.org/downloads/ '''>>> Page de téléchargement de Python <<<''']</font> | <font size=4 color=green>[https://www.python.org/downloads/ '''>>> Page de téléchargement de Python <<<''']</font> | ||
| − | == Pourquoi le langage s'appelle-t-il "Python" ? == | + | == <font color=green>'''Pourquoi le langage s'appelle-t-il "Python" ?'''</font> == |
* Pourquoi Python ? | * Pourquoi Python ? | ||
* C’est une référence à Monty Python, un groupe de comiques anglais qui a eu énormément de succès et d’influence dans les années 1970 at au début des années 80. Évidemment, si vous dîtes « Monthy Python » à un anglais il ne va rien comprendre, vous aurez davantage de chances avec « Monty Python ». | * C’est une référence à Monty Python, un groupe de comiques anglais qui a eu énormément de succès et d’influence dans les années 1970 at au début des années 80. Évidemment, si vous dîtes « Monthy Python » à un anglais il ne va rien comprendre, vous aurez davantage de chances avec « Monty Python ». | ||
* Ce groupe était composé de 5 anglais, tous diplômés d’Oxford ou de Cambridge, et d’un Américain, Terry Gilliam, qui à sa décharge est aujourd’hui citoyen britannique. Vous connaissez peut-être John Cleese, qui joue Q dans certains films de James Bond. Van Rossum est un fan de leur humour déjanté (si vous êtes bon en anglais, il y a plein d’échantillons sur Youtube), et dans la documentation en anglais du langage il y a beaucoup d’exemples basés sur des sketches des Monty Python. | * Ce groupe était composé de 5 anglais, tous diplômés d’Oxford ou de Cambridge, et d’un Américain, Terry Gilliam, qui à sa décharge est aujourd’hui citoyen britannique. Vous connaissez peut-être John Cleese, qui joue Q dans certains films de James Bond. Van Rossum est un fan de leur humour déjanté (si vous êtes bon en anglais, il y a plein d’échantillons sur Youtube), et dans la documentation en anglais du langage il y a beaucoup d’exemples basés sur des sketches des Monty Python. | ||
* Beaucoup de gens pensent plutôt au serpent parce qu’un éditeur informatique très connu aux États-Unis, O’Reilly, est célèbre pour ses couvertures avec des gravures d’animaux. Évidemment pour Python ils n’allaient pas utiliser un canari. | * Beaucoup de gens pensent plutôt au serpent parce qu’un éditeur informatique très connu aux États-Unis, O’Reilly, est célèbre pour ses couvertures avec des gravures d’animaux. Évidemment pour Python ils n’allaient pas utiliser un canari. | ||
| − | == Interpréteur Python == | + | |
| − | === En ligne de commande === | + | == <font color=green>'''Interpréteur Python'''</font> == |
| + | === <font color=Magenta>'''En ligne de commande'''</font> === | ||
[[Fichier:Linux.jpg|100px|vignette]] | [[Fichier:Linux.jpg|100px|vignette]] | ||
| − | == Editeurs IDE Python == | + | == <font color=green>'''Editeurs IDE Python'''</font> == |
| − | === PyCharm === | + | === <font color=Magenta>'''PyCharm'''</font> === |
<table> | <table> | ||
<tr> | <tr> | ||
| Ligne 72 : | Ligne 69 : | ||
</table> | </table> | ||
| − | === Studio Code === | + | === <font color=Magenta>'''Studio Code'''</font> === |
<table> | <table> | ||
<tr> | <tr> | ||
| Ligne 80 : | Ligne 77 : | ||
</table> | </table> | ||
| − | === Atom === | + | === <font color=Magenta>'''Atom'''</font> === |
<table> | <table> | ||
<tr> | <tr> | ||
| Ligne 87 : | Ligne 84 : | ||
</tr> | </tr> | ||
</table> | </table> | ||
| − | === Sublime Text === | + | === <font color=Magenta>'''Sublime Text'''</font> === |
<table> | <table> | ||
<tr> | <tr> | ||
| Ligne 94 : | Ligne 91 : | ||
</tr> | </tr> | ||
</table> | </table> | ||
| − | === Wing IDE === | + | === <font color=Magenta>'''Wing IDE'''</font> === |
<table> | <table> | ||
<tr> | <tr> | ||
| Ligne 109 : | Ligne 106 : | ||
</tr> | </tr> | ||
</table> | </table> | ||
| − | === Les commentaires en python === | + | === <font color=Magenta>'''Les commentaires en python'''</font> === |
<div style="width:50%; height:170px; overflow:auto; border:solid 1px black;"> | <div style="width:50%; height:170px; overflow:auto; border:solid 1px black;"> | ||
* Les commentaires en python commencent par le signe # | * Les commentaires en python commencent par le signe # | ||
| Ligne 116 : | Ligne 113 : | ||
# Cette fonction pose une question à l'utilisateur | # Cette fonction pose une question à l'utilisateur | ||
# et celui-ci devra répondre par un nombre obligatoirement | # et celui-ci devra répondre par un nombre obligatoirement | ||
| − | age = input("Quel est votre age? : ") | + | age = int(input("Quel est votre age? : ")) |
print("Vous avez %d ans" % age) | print("Vous avez %d ans" % age) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</div> | </div> | ||
| − | === Mots clé en Python === | + | === <font color=Magenta>'''Mots clé en Python'''</font> === |
| − | <div style="width:50%; height: | + | <div style="width:50%; height:170px; overflow:auto; border:solid 1px black;"> |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Ligne 141 : | Ligne 138 : | ||
</div> | </div> | ||
| − | === Les variables === | + | === <font color=Magenta>'''Les variables'''</font> === |
* Une variable est une sorte de boite virtuelle dans laquelle on peut mettre une (ou plusieurs) donnée(s). | * Une variable est une sorte de boite virtuelle dans laquelle on peut mettre une (ou plusieurs) donnée(s). | ||
* L'idée est de stocker temporairement une donnée pour travailler avec. | * L'idée est de stocker temporairement une donnée pour travailler avec. | ||
| Ligne 178 : | Ligne 175 : | ||
</div> | </div> | ||
| − | === Conditions === | + | === <font color=Magenta>'''Conditions'''</font> === |
<div style="width:50%; height:400px; overflow:auto; border:solid 1px black;"> | <div style="width:50%; height:400px; overflow:auto; border:solid 1px black;"> | ||
* Cette notion est l'une des plus importante en programmation. | * Cette notion est l'une des plus importante en programmation. | ||
| Ligne 301 : | Ligne 298 : | ||
</div> | </div> | ||
| − | === Les boucles for et while Python === | + | === <font color=Magenta>'''Les boucles for et while Python'''</font> === |
<div style="width:50%; height:400px; overflow:auto; border:solid 1px black;"> | <div style="width:50%; height:400px; overflow:auto; border:solid 1px black;"> | ||
<center> | <center> | ||
| Ligne 355 : | Ligne 352 : | ||
</div> | </div> | ||
| − | === Fonctions === | + | === <font color=Magenta>'''Fonctions'''</font> === |
<div style="width:50%; height:400px; overflow:auto; border:solid 1px black;"> | <div style="width:50%; height:400px; overflow:auto; border:solid 1px black;"> | ||
* Pour les projets les plus ambitieux il sera vite important d'organiser son travail.<br>Les fonctions vont se multiplier et il faudra les enregistrer dans des fichiers distincts pour plus de flexibilité. | * Pour les projets les plus ambitieux il sera vite important d'organiser son travail.<br>Les fonctions vont se multiplier et il faudra les enregistrer dans des fichiers distincts pour plus de flexibilité. | ||
| Ligne 369 : | Ligne 366 : | ||
# coding: utf-8 | # coding: utf-8 | ||
from func import * | from func import * | ||
| − | age = input("Quel est votre age? : ") | + | age = int(input("Quel est votre age? : ")) |
print("Vous avez %d ans" % age) | print("Vous avez %d ans" % age) | ||
age_plus_un = ajoute_un(age) | age_plus_un = ajoute_un(age) | ||
| Ligne 376 : | Ligne 373 : | ||
</div> | </div> | ||
| − | === Range === | + | === <font color=Magenta>'''Range'''</font> === |
<div style="width:50%; height:120px; overflow:auto; border:solid 1px black;"> | <div style="width:50%; height:120px; overflow:auto; border:solid 1px black;"> | ||
* Il est possible de créer une boucle facilement avec range : | * Il est possible de créer une boucle facilement avec range : | ||
Version actuelle datée du 11 août 2025 à 08:57
Array
(Opérateurs:Magenta) (Méthodes:Green) (Fonctions:Red)
5/11/2025
PYTHON Initiation
Introduction
- Développeur dans de multiples langages, je me suis intéressé à Python récemment.
- Autodidacte, je n'ai jamais vraiment su ce qu'était la programmation orientée objet, ni comment l'aborder.
- Python est mon premier langage dans ce sens.
- Ce document est développé en fonction de ce que j'ai pu voir dans divers tutos, mais également avec mes 3 formateurs que je remercie.
- Ils ont été d'excellents conseils et guides.
- 3 personnes que je remercie chaleureusement pour leur accompagnement, et leur pédagogie.
- 3 personnes que j'apprécie vraiment par leur simplicité, leurs méthodes d'approche, et leur humilité dans leurs savoirs.
Dominique Ribouchon
Python introduction et algorithmie. Alexandre Guy
Python programmation objet. Jean Francois Bouchaudy
Python perfectionnement. Tout trois, formateurs chez ORSYS.
- Je pars volontairement d'une façon grand débutant en occultant ce que j'ai appris avec les autres langages, ceci pour appliquer uniquement leurs façons de procéder.
- Je leur demanderai avant si je peux mettre en ligne ce que je résumerai dans mes notes car ils sont les auteurs de quelques mots, phrases et exemples.
Que peut-on faire avec Python?
- Beaucoup de choses !
- du calcul scientifique (librairie NumPy)
- des graphiques (librairie matplotlib)
- du traitement du son, de la synthèse vocale (librairie eSpeak)
- du traitement d'image (librairie PIL), de la vision artificielle par caméra (framework SimpleCV)
- de la bio-informatique (librairie Biopython)
- des applications avec interface graphique GUI (librairies Tkinter, PyQt, wxPython, PyGTK...)
- des jeux vidéo en 2D (librairie Pygame)
- des applications multi-touch (framework kivy pour tablette et smartphone à écran tactile)
- des applications Web (serveur Web Zope ; frameworks Web Flask, Django)
- interfacer des systèmes de gestion de base de données (librairie MySQLdb...)
- des applications réseau (framework Twisted)
- communiquer avec des ports série RS232 (librairie PySerial), en Bluetooth (librairie pybluez)...
- ...
- Des dizaines de milliers de librairies sont disponibles sur le dépôt officiel PyPI.
Python Initiation
|
>>> Page de téléchargement de Python <<<
Pourquoi le langage s'appelle-t-il "Python" ?
- Pourquoi Python ?
- C’est une référence à Monty Python, un groupe de comiques anglais qui a eu énormément de succès et d’influence dans les années 1970 at au début des années 80. Évidemment, si vous dîtes « Monthy Python » à un anglais il ne va rien comprendre, vous aurez davantage de chances avec « Monty Python ».
- Ce groupe était composé de 5 anglais, tous diplômés d’Oxford ou de Cambridge, et d’un Américain, Terry Gilliam, qui à sa décharge est aujourd’hui citoyen britannique. Vous connaissez peut-être John Cleese, qui joue Q dans certains films de James Bond. Van Rossum est un fan de leur humour déjanté (si vous êtes bon en anglais, il y a plein d’échantillons sur Youtube), et dans la documentation en anglais du langage il y a beaucoup d’exemples basés sur des sketches des Monty Python.
- Beaucoup de gens pensent plutôt au serpent parce qu’un éditeur informatique très connu aux États-Unis, O’Reilly, est célèbre pour ses couvertures avec des gravures d’animaux. Évidemment pour Python ils n’allaient pas utiliser un canari.
Interpréteur Python
En ligne de commande
Editeurs IDE Python
PyCharm
>>> Download <<< |
Studio Code
>>> Download <<< |
Atom
>>> Download <<< |
Sublime Text
>>> Download <<< |
Wing IDE
>>> Download <<< |
Python, pour commencer....
|
Les commentaires en python
- Les commentaires en python commencent par le signe #
1 # coding: utf-8
2 # Cette fonction pose une question à l'utilisateur
3 # et celui-ci devra répondre par un nombre obligatoirement
4 age = int(input("Quel est votre age? : "))
5 print("Vous avez %d ans" % age)
Mots clé en Python
| and | del | from | none | true |
| as | elif | global | nonlocal | try |
| assert | else | if | not | while |
| break | except | import | or | with |
| class | false | in | pass | yield |
| continue | finally | is | raise | |
| def | for | lambda | return |
Les variables
- Une variable est une sorte de boite virtuelle dans laquelle on peut mettre une (ou plusieurs) donnée(s).
- L'idée est de stocker temporairement une donnée pour travailler avec.
- Pour la machine une variable est une adresse qui indique l'emplacement de la mémoire vive où sont stockées
les informations que nous avons liées avec.
Types de variables
- Nombres entiers
4
- Nombres flottants
4.123
- Chaînes de caractères
- On peut écrire une chaîne de caractères de différentes façons :
- entre guillemets ("ceci est une chaîne de caractères") ;
- entre apostrophes ('ceci est une chaîne de caractères') ;
- entre triples guillemets ("""ceci est une chaîne de caractères""").
- On peut écrire une chaîne de caractères de différentes façons :
1 >>> chaine3 = """Ceci est un nouvel
2 ... essai sur plusieurs
3 ... lignes"""
4 >>>
Astuce
- Permutation:
1 >>> a = 5
2 >>> b = 32
3 >>> a,b = b,a # permutation
4 >>> a
5 32
6 >>> b
7 5
Conditions
- Cette notion est l'une des plus importante en programmation.
- L'idée est de dire que si telle variable a telle valeur alors faire cela sinon cela.
- Prenon un exemple, on va donner une valeur à une variable et si cette valeur est supérieur à 5, alors on va incrémenter la valeur de 1
1 >>> a = 10
2 >>> if a > 5:
3 ... a = a + 1
4 ...
5 >>> a
6 11
- Que se passe-t-il si la valeur était inférieure à 5?
1 >>> a = 3
2 >>> if a > 5:
3 ... a = a + 1
4 ...
5 >>> a
6 3
- On remarque que si la condition n'est pas remplie, les instructions dans la structure conditionnelle sont ignorées.
Condition if else
- Il est possible de donner des instructions quelque soit les choix possibles avec le mot clé else .
1 >>> a = 20
2 >>> if a > 5:
3 ... a = a + 1
4 ... else:
5 ... a = a - 1
6 ...
7 >>> a
8 21
- Changeons uniquement la valeur de la variable a :
1 >>> a = 3
2 >>> if a > 5:
3 ... a = a + 1
4 ... else:
5 ... a = a - 1
6 ...
7 >>> a
8 2
Condition elif
- Il est possible d'ajouter autant de conditions précises que l'on souhaite en ajoutant le mot clé elif , contraction de "else" et "if", qu'on pourrait traduire par "sinon".
1 >>> a = 5
2 >>> if a > 5:
3 ... a = a + 1
4 ... elif a == 5:
5 ... a = a + 1000
6 ... else:
7 ... a = a - 1
8 ...
9 >>> a
10 1005
- Dans cet exemple, on a repris le même que les précédent mais nous avons ajouté la conditions "Si la valeur est égale à 5" que se passe-t-il? Et bien on ajoute 1000.
Les comparaisons possibles
- Il est possible de comparer des éléments:
== égal à != différent de (fonctionne aussi avec ) > strictement supérieur à >= supérieur ou égal à < strictement inférieur à <= inférieur ou égal à
Comment fonctionne les structures conditionnelles?
- Les mots clé if, elif et else cherchent à savoir si ce qu'on leur soumet est True .
- Comment savoir si la valeur qu'on soumet à l'interpreteur est True? Il est possible de le voir directement dans l'interpréteur.
- Demandons à python si 3 est égal à 4:
1 >>> 3 == 4
2 False
- Il vous répondra gentiment que c'est False , c'est à dire que c'est faux .
- Maintenant on va donner une valeur à une variable est on va lui demander si la valeur correspond bien à ce que l'on attend.
1 >>> a = 5
2 >>> a == 5
3 True
AND / OR
- Il est possible d'affiner une condition avec les mots clé AND qui signifie " ET " et OR qui signifie " OU ".
- On veut par exemple savoir si une valeur est plus grande que 5 mais aussi plus petite que 10:
1 >>> v = 15
2 >>> v > 5 and v < 10
3 False
- Essayons avec la valeur 7 :
1 >>> v = 7
2 >>> v > 5 and v < 10
3 True
- Pour que le résultat soit TRUE , il faut que les deux conditions soient remplies .
- Testons maintenant la condition OR
1 >>> v = 11
2 >>> v > 5 or v > 100
3 True
- Le résultat est TRUE parce qu' au moins une des deux conditions est respectée .
1 >>> v = 1
2 >>> v > 5 or v > 100
3 False
- Dans ce cas la aucune condition n'est respectée, le résultat est donc FALSE .
Chainer les comparateurs
- Il est également possible de chainer les comparateurs:
1 >>> a, b, c = 1, 10, 100
2 >>> a < b < c
3 True
4 >>> a > b < c
5 False
Les boucles for et while Python
|
while
1 >>> i = 0
2 >>> while i < 10:
3 ... print("Je ne dois pas poser une question sans lever la main")
4 ... i = i +1
5 ...
for
1 >>> v = "Bonjour toi"
2 >>> for lettre in v:
3 ... print(lettre)
4 ...
5 B
6 o
7 n
8 j
9 o
10 u
11 r
12
13 t
14 o
15 i
Stopper une boucle avec break
- Pour stopper immédiatement une boucle on peut utiliser le mot clé break :
1 >>> liste = [1,5,10,15,20,25]
2 >>> for i in liste:
3 ... if i > 15:
4 ... print("On stoppe la boucle")
5 ... break
6 ... print(i)
7 ...
8 1
9 5
10 10
11 15
12 On stoppe la boucle
Fonctions
- Pour les projets les plus ambitieux il sera vite important d'organiser son travail.
Les fonctions vont se multiplier et il faudra les enregistrer dans des fichiers distincts pour plus de flexibilité. - Créons un autre fichier que nous nommerons func.py dans le même dossier que le fichier fiche.py
func.py :
1 # coding: utf-8
2 def ajoute_un(v):
3 return v + 1
fiche.py :
1 # coding: utf-8
2 from func import *
3 age = int(input("Quel est votre age? : "))
4 print("Vous avez %d ans" % age)
5 age_plus_un = ajoute_un(age)
6 print("Dans un an vous aurez %d ans" % age_plus_un)
Range
- Il est possible de créer une boucle facilement avec range :
1 for i in range(0,100):
2 print(i)