Python 1 : Différence entre versions

De TARENTINO
Aller à la navigationAller à la recherche
 
(23 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
{{Pythonline3}}{{SideInit}}{{Navigationp}}{{Sidebaradm}}<p align="right" style="color: blue">'''{{CURRENTDAY}}/{{CURRENTMONTH}}/{{CURRENTYEAR}}'''</p>  
+
{{Menu_Python}}{{En_resume_Python_Init}}{{Coulpython}}{{Pythonline3}}{{SideInit}}{{Navigationp}}{{Sidebaradm}}<p align="right" style="color: blue">'''{{CURRENTDAY}}/{{CURRENTMONTH}}/{{CURRENTYEAR}}'''</p>  
 
__NOTOC__
 
__NOTOC__
<font size=6 color=red>'''PYTHON Initiation'''</font>
+
<br>
 +
= <font size=6 color=red>'''PYTHON Initiation'''</font> =
 
== <font color=green>'''Introduction'''</font> ==
 
== <font color=green>'''Introduction'''</font> ==
 +
<font color=black>
 
* 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 19 :
 
* 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 color=green>'''Que peut-on faire avec Python?'''</font> ==
 
== <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 34 : 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>
  
 
== <font color=green>'''Python Initiation'''</font> ==
 
== <font color=green>'''Python Initiation'''</font> ==
 +
<font color=black>
 
<table>
 
<table>
 
<tr>
 
<tr>
Ligne 107 : 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>
Ligne 113 : Ligne 119 :
  
 
=== <font color=Magenta>'''Mots clé en Python'''</font> ===
 
=== <font color=Magenta>'''Mots clé en Python'''</font> ===
<div style="width:50%; height:210px; overflow:auto; border:solid 1px black;">
+
<div style="width:50%; height:170px; overflow:auto; border:solid 1px black;">
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Ligne 360 : 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)

Version actuelle datée du 11 août 2025 à 08:57

Array
Ft.png
(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

  • Qu'est ce qu'un langage de programmation?
  • Qu'est ce qu'un compilateur?
  • Qu'est ce qu'un langage de script?
  • Pourquoi un langage de script?
  • D'ou vient Python?
  • Comment installer et lancer Python?

>>> 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

Linux.jpg

Editeurs IDE Python

PyCharm

Pycharmini.png
>>> Download <<<
Pycharm.png

Studio Code

Sc.jpeg
>>> Download <<<
Vstab.gif

Atom

Atomini.jpeg
>>> Download <<<
Atom git.png

Sublime Text

Sublime text logo.png
>>> Download <<<
Ide-sublimetext-demo.png

Wing IDE

Wingmini.jpeg
>>> Download <<<
Wing7-screenshot-classic-small.jpg

Python, pour commencer....

  • Comment lancer Python?
  • GUI et IDLE?
  • variables et types de données
  • print
  • Opérations et syntaxe division type float et texte

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""").
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

  • if then elif else
  • indentations
  • Boucles for
  • Boucles while
  • Boucles infinies

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)