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.
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.
Opérations et syntaxe division type float et texte
Les commentaires en python
Les commentaires en python commencent par le signe #
1 # coding: utf-82 # Cette fonction pose une question à l'utilisateur 3 # et celui-ci devra répondre par un nombre obligatoirement4 age=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 nouvel2 ... essai sur plusieurs3 ... lignes"""4 >>>
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".
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==42 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=52 >>>a==53 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=152 >>>v>5andv<103 False
Essayons avec la valeur 7 :
1 >>>v=72 >>>v>5andv<103 True
Pour que le résultat soit TRUE , il faut que les deux conditions soient remplies .
Testons maintenant la condition OR
1 >>>v=112 >>>v>5orv>1003 True
Le résultat est TRUE parce qu' au moins une des deux conditions est respectée .
1 >>>v=12 >>>v>5orv>1003 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:
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-82 defajoute_un(v):3 returnv+1
fiche.py :
1 # coding: utf-82 fromfuncimport*3 age=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 :