Loading...
Python

Introduction

EISTI

Appuyer pour continuer.

Commandes pour les slides
  • et pour avancer / reculer.
  • espace pour avancer.
  • Ctrl/Command et + or - pour zoomer plus ou moins.
  • N pour afficher / cacher les notes.
  • H pour afficher l'aide.
Modalités
Python
  • Objectifs
    • Bases du langage Python
    • Programmation d'algorithmes
    • Développement Web
Introduction
Python
  • Créé par Guido van Rossum en 1990
  • Langage multi-paradigme : procédural, objet, fonctionnel, ...
  • Existe sur tous les environnements : Mac, Linux/Unix, Windows
  • Licence libre
  • Index TIOBE (Mesure la popularité des langages de programmation) : 5e position en 2016, 8e position en 2015
  • Langage interprété
Introduction
Langage interprété
  • Interpréteur : python
  • Script : fichier à extension .py
    • python script.py
    • ./script.py
      • Entête du script (optionnelle): #! /usr/bin/env python
      • Rendre le fichier exécutable : chmod +x script.py
    • Commentaire de ligne : #
Les données - Numériques
Types numériques
  • entiers : 42, -6
  • flotants : 3.4, 6.485e5
  • complexes : a = 3.2 + 6.5j
  • booléens : True, False
  • Typage dynamique
Les données - Numériques
Affichage
  • Fonction : print
  • a = 5; b = 6.42
  • print 'Hello World!'; print(a) (Parenthèses requises en v.3)
  • print 'a=%d b=%f' % (a, b)
  • Formats entiers : %d, %6d, %06d
  • Formats réels: %f, %2f, %6.2f
    • print ('%d %d' % (1, 2) )[v.2]   ou   print ('{} {}'.format(a,b) )[v.3]
    • print ('%06.2f' % (3.1415) )[v.2]   ou   print ('{:06.2f}'.format(3.1415) )[v.3]
Les données - Numériques
Conversion de types
  • Python converti certaines variables implicitements
    • 4 + 4.6 donne 8.6
    • 2/3 donne 0 (0.66 en v.3)
  • Convertion explicite
    • Fonctions int() et float()
      • int(5.2) donne 5, float(8) donne 8.0
      • int('5') donne 5, float('5.2') donne 5.2
      • int('5.2') donne ERREUR
Les données - Numériques
Affectations
  • Simple
    • x = 7
  • Simultanée
    • x = y = 7
  • Parallèle
    • x, y = 7, 5.6
  • Connaître le type : type(x)
  • Tester un type : isinstance(x, float)
Les données - Numériques
opérateurs
Saisie des données
Interaction avec l'utilisateur
  • Fonction input()
    • a = input('Entrez une valeur : ')
    • a est une chaîne de caractère
    • Possibilité de convertir a en nombre
Blocs d'instructions
Introduction
  • Suite d'instructions formant un ensemble logique
  • Forme d'un block d'instruction
    • commence par une ligne d'entête qui se termine obligatoirement par ':'
    • tout ce qui est dans ce block est indenté
  • Contrairement à d'autres langages, Python n'a pas de déminiteur de blocs si ce n'est l'indentation
Blocs d'instructions
Conditionnel
if (‹conditions›) :
        traitement 1
        traitement 2
        ...
elif (‹conditions›) :
        traitement 3
        traitement 4
        ...
else :
        traitement 5
        traitement 6
        ...

  • Combiner plusieurs conditions : or, and et not.
Blocs d'instructions
Boucles conditionnelles
while (‹conditions›) :
        traitement 1
        traitement 2
        ...

  • On peut créer une répétition infinie : condition toujours vraie
  • Dans ce cas, pour sortir de la boucle : break
Blocs d'instructions
Boucles
for ‹indice› in ‹objet› :
        traitement 1
        traitement 2
        ...

for k in range(3) :
        print k
0
1
2
Fonction
Forme générale
def ‹nomFonction› (‹arguments›) :
        corps de la fonction
        [return ‹valeur›]

  • L'instruction return est optionnelle.
  • Si elle est absente, la fonction retourne None
  • Il ne peut pas y avoir plusieurs return dans une fonction
  • Il est possible de retourner plusieurs valeurs return a, b
  • Les arguments sont passés par valeur
Les données - Chaînes
Exemples
  • ch1 = 'Hello World'
  • ch2 = "Hello World"
  • ch3 = """Bonjour
    tout
    le monde"""
'Hello World'
"Hello World"
"Bonjour \n tout \n le monde"
Les données - Chaînes
Parcours d'une chaîne - while
ch = "Bonjour"
i = 0
while (i < len(ch)) :
        print(ch[i])
        i = i+1

Parcours d'une chaîne - for
ch = "Bonjour"
for carac in ch :
        print carac
Les données - Chaînes
Accès
  • Tester si un caractère appartient à une chaine : "o" in ch
  • Accès à un caractère : x = ch[2], y = ch [-2]
  • Accès à une portion : z = ch[2:5]
  • Accès à partir d'un indice : u = ch[4::1]
  • Inverser une chaîne : v = ch[-1::-1]
  • Concaténer : opérateur +
  • ATTENTION : une chaîne est un objet immuable
    ch[0] = 'k' est IMPOSSIBLE
Les données - Chaînes
Méthodes sur les chaînes
  • Trouver le rang d'une sous-chaîne : ch.find('motif') ou ch.index('motif')
  • Changement de casse : ch.lower(), ch.upper()
  • Remplacer un motif par un autre : ch.replace('motif1', 'motif2')
  • Commence/Fini par : ch.startswith('motif'), ch.endswith('motif')
  • Découpe une chaîne : ch.split()
  • ...
Liste des méthodes sur les Strings