Programmation en Python
Unknown Author
May 7, 2014
Part I
Programmation en Python
Avertissement
Ce notebook est directement inspiré du fameux wikibook http://en.wikibooks.org/wiki/Python_Programming
Convention
Tous les noms de variable et les commentaires sont en anglais
Le code est formatté suivant la PEP8 http://www.python.org/dev/peps/pep-0008/
1 Introduction
Python est un langage interprété,dynamiquement,implicitement et fortement typé, utilisé en administration système,
applications web, calcul scientifique, enseignement de l’algorithmique. . .
Il est mutli-paradigme : orienté objet,impératif et fonctionnel.
Cosmétiquement, il se distingue d’autres langages par l’utilisation de l’indentation pour délimiter les blocs.
L’introduction se doit de commencer par le fameux:
In []:
print "hello world"
1.1 Python 2 versus Python 3
Il existe deux versions majeurs de Python 2.7 et 3. La version 3 n’est pas complètement compatible avec la version
2.7, même si un outil 2to3 permet une première conversion naïve automatique. Tous les modules majeurs ne sont
pas encore compatible Python 3, cf. http://wiki.python.org/moin/Python2orPython3 pour le détail sur les difficultés du
passage de l’un à l’autre.
2 Installation sous Linux
Python est généralement installé sur toutes les bonnes distributions
In []:
!which python
In []:
!python --version
Éventuellement, sous debian/ubuntu:
$ sudo apt-get install python2.7
ou
3 Le mode intéractif
Démarrons l’interpéteur pour enter en mode intéractif, mode ou chaque instruction est executée à la volée:
In []:
!python
In []:
5
In []:
print 5*7
In []:
"hello" *4
On peut également demander à l’interpréteur d’executer un script et de reprendre la main en fin de script
In []:
%%file /tmp/hello.py
print ’hello world’
In []:
!python -i /tmp/hello.py
Ce qui peut être très utile pour le debug !
4 Chercher de l’aide
Python intègre la documentation de chaque fonction dans le code de la fonction elle même, et fournit des outils pour
manipuler ces informations, depuis l’interpréteur ou le shell:
In []:
help(len)
In []:
!pydoc str.startswith # équivalent à help(str.startswith)
5 Éxecuter un programme Python
Reprenons le code du hello whorld écrit précédemment
In []:
!cat /tmp/hello.py
Il est de bon ton de l’agrémenter d’un shebang approprié:
In []:
%%file /tmp/hello2.py
#!/usr/bin/env python
print "hello world!"
On peut ensuite l’executer directement, après lui avoir donné les bons droits:
In []:
%%shell
chmod u+x/tmp/hello2.py
/tmp/hello2.py
Sinon, en utilisant l’interpréteur standard:
In []:
!python /tmp/hello.py
6 Bases du langage
6.1 Variables et chaînes de caractères
Au début était le néant:
In []:
print None,type(None)
En python, une variable est juste un identifiant attaché à une valeure quelconque, entier, flottant, chaîne, dictionnaire,
fonction ou tout autre objet :
In []:
lucky = 7
print lucky
On peut changer le contenu d’une variable :
In []:
lucky = 13
print lucky
ou son type, puisqu’une variable est juste une association identifiant <> valeur :
In []:
print lucky, type(lucky)
lucky ="7"
print lucky, type(lucky)
Il est possible d’associer la valeur d’une variable à un nouveau nom. Elle est dans ce cas copiée.
Attention
la notion de copie d’une variable est différente pour les types scalaires et les objets.
In []:
unlucky = 13
print lucky, unlucky
In []:
lucky =unlucky
print lucky, unlucky
Les chaînes de caractères se décrivent en utilisant les guillements simples, double ou les triples. Les simpels et doubles
fonctionnent sur une ligne et sont interchangeables :
In []:
sweet ="cookie"
In []:
sweeter =’lollipop’
In []:
sweetest ="What about ’cookie’ and \"lollipop\"?"
print sweetest
In []:
quote =’’’
Strange women lying in ponds
distributing swords
is no basis for a system of government!
’’’
print quote
La conversion d’entier en chaine n’est pas implicite :
In []:
"1+1="+ 2
In []:
"1+1="+str(2)
Et à l’inverse on peut convertire une chaîne en entier :
In []:
one ="1"
print one, type(one)
In []:
two = 2 *int(one)
print two, type(two)
6.2 Un peu de mathématiques de base
La formule pour convertir les kilos en pierre est redoutable :
mstone =mkg ×2.2
14
Supposons que l’on nous donne une valeur en kilos :
In []:
mass_kg = 42
Le calcul s’exprime assez naturellement sous la forme :
In []:
mass_pound =mass_kg *2.2 / 14
Ce qui nous offre l’occasion d’écrire notre première fonction :
In []:
def kg_to_pound(mass_kg):
return mass_kg *2.2 / 14
On notera l’utilisation de l’indentation pour délimiter le corps de la fonction, à opposer à :
In []:
def kg_to_pound(mass_kg):
return mass_kg *2.2 / 14
Il est possible, si le corps de la fonction ne fait qu’une ligne, de tout mettre sur une ligne :
In []:
def kg_to_pound(mass_kg): return mass_kg *2.2 / 14
Dans tous les cas, on peut appeler la fonction de façon assez conventionelle :
In []:
print kg_to_pound(12)
Python offre de nombreux opérateurs mathématiques :
In []:
a,b= 4,3.
print type(a), type(b)
In []:
print a+b# addition
In []:
print a-b# substraction
In []:
print a*b# multiplication
In []:
print a/b# division
In []:
print a// b# floor division
In []:
a%b# modulo
In []:
-a# negation
In []:
abs(b) # absolute value
In []:
b**a# exponent
La version inplace des opérateur éxiste également :
In []:
a=0;a+=2; a
1 / 24 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 !