26/09/2020 Tutoriel_Python - Jupyter Notebook
1. Variables
Nom :
doit commencer par une lettre
ne contient pas des caractères spéciaux
pas d'sepaces
on peut utliser des underscores '_'
Types standars :
entier (int)
nombre flottant (float)
chaîne de caractères (str)
booléen (bool)
autres (listes, tuples, dictonnaires, etc.)
Entrée [1]:
agePersonne = 14
Entrée [2]:
print(type(agePersonne))
<class 'int'>
Entrée [3]:
prixHT = 120.46
Entrée [4]:
print(type(prixHT))
<class 'float'>
Entrée [5]:
texte = "L'âge de la personne est {} et le prix HT est de {} dinars."
print(texte.format(agePersonne,prixHT))
L'âge de la personne est 14 et le prix HT est de 120.46 dinars.
Entrée [6]:
Prenom = 'Bassem'
print(type(Prenom))
<class 'str'>
localhost:8888/notebooks/Tutoriel_Python.ipynb 1/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
2. Opérations
Opérations en Python :
(+) (addition)
(-) (soustarction)
(*) (multiplication)
(/) (division)
(%) (modulo, c'est le reste de la division euclidienne)
Entrée [7]:
calcul = 5/2
calcul
Out[7]:
2.5
Entrée [8]:
calcul = int(calcul)
calcul2 = 5%2
Entrée [9]:
print('Résultat = ', calcul, 'Reste = ', calcul2)
Résultat = 2 Reste = 1
3. Conditions
Entrée [10]:
identifiant = 'Bassem'
mot_de_passe = 'password123'
Entrée [12]:
user_id = input('Entrer votre identifiant :')
Entrer votre identifiant :Bassem
Entrée [13]:
user_password = input('Entrer votre mot de passe :')
Entrer votre mot de passe :password123
localhost:8888/notebooks/Tutoriel_Python.ipynb 2/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [14]:
if user_password == mot_de_passe:
print('Vous êtes connectés, bienvenue', user_id)
Vous êtes connectés, bienvenue Bassem
Opérations de comparaison :
(==) Egalité
(!=) Différent
(<) Plus petit
(>) Plus grand
(<=) Plus petit ou égal
(>=) Plus grand ou égal
Conditions multiples :
(and) et
(or) ou
(in) appartient
(not in) n'appartient pas
Entrée [15]:
lettre_hasard = 'b'
if lettre_hasard in 'aeiouy':
print('une voyelle')
else:
print('une consonne')
une consonne
Mots clés : if - elif - else
Entrée [16]:
age = 24
if age == 18:
print("Tu viens d'être majeur")
elif age == 50:
print("Tu viens d'avoir 50 ans")
else:
print("Tu as", age, "ans")
Tu as 24 ans
Entrée [17]:
jeu_charge = True
if jeu_charge: #Par défaut jeu_charge == True ou == 1
print('Le jeu est en marche')
else:
print('Le jeu a été quité')
Le jeu est en marche
localhost:8888/notebooks/Tutoriel_Python.ipynb 3/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
if not jeu_charge: #Par défaut jeu_charge == False ou == 0
4. Boucles
Entrée [18]:
compteur = 0
while compteur<5:
print("Je m'appelle Bassem")
compteur+=1 # compteur = compteur + 1
Je m'appelle Bassem
Je m'appelle Bassem
Je m'appelle Bassem
Je m'appelle Bassem
Je m'appelle Bassem
Entrée [19]:
sentence = "Bonjour tout le monde :) !"
for letter in sentence:
print(letter)
B
o
n
j
o
u
r
t
o
u
t
l
e
m
o
n
d
e
:
)
Boucles : while / for
Mots clés : break (casse la boucle), continue (revient au début de la boucle)
localhost:8888/notebooks/Tutoriel_Python.ipynb 4/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [20]:
jeu_lance = True
while jeu_lance:
# Instructions en rapport avec le jeu
choix_menu = input(">")
if choix_menu == 'again':
continue
elif choix_menu == 'quit':
jeu_lance = False
elif choix_menu == 'hello':
print('Bonjour')
else:
print('commande introuvable')
print('A bientôt')
>again
>quit
A bientôt
5. Fonctions
Fonctions vues : print(), input(), type(), int(), float(), str(), bool()
Entrée [21]:
age = input('Quel âge as-tu ?')
age = int(age)
print('Tu as {} ans.'.format(age))
Quel âge as-tu ?42
Tu as 42 ans.
Entrée [22]:
def dire_bonjour():
print('Bonjour tout le monde.')
Entrée [23]:
dire_bonjour()
Bonjour tout le monde.
Entrée [24]:
def dialogue(nom_personne = 'Bassem', message_personne = 'Salut', age_personne = 40):
print('{} ({} ans) : {}'.format(nom_personne, age_personne, message_personne))
Entrée [25]:
dialogue()
Bassem (40 ans) : Salut
localhost:8888/notebooks/Tutoriel_Python.ipynb 5/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [26]:
dialogue('Mohamed', 'Bonjour', 24)
Mohamed (24 ans) : Bonjour
Entrée [27]:
list_items = ['A', 'Aa', 'B', 'Wf']
def show_inventory():
for item in list_items:
print(item)
Entrée [28]:
show_inventory()
A
Aa
B
Wf
Entrée [29]:
def calculer_somme(nombre1, nombre2):
result = nombre1 + nombre2
return result
Entrée [30]:
calculer_somme(4,14)
Out[30]:
18
Entrée [31]:
def comparer_nombres(nombre1, nombre2):
if nombre1 > nombre2:
return nombre1
elif nombre1 < nombre2:
return nombre2
else:
return 'Egalité'
Entrée [32]:
comparer_nombres(24,24)
Out[32]:
'Egalité'
Entrée [33]:
TTC = lambda prixHT: prixHT + (prixHT * 0.2) # Une fonction qui fait une seule chose
localhost:8888/notebooks/Tutoriel_Python.ipynb 6/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [34]:
TTC(24)
Out[34]:
28.8
6. Listes
Il n'y a pas de tableaux en Python. Les listes peuvent contenir n'importe quel type d'objets.
Création d'une liste : list() ou []
Entrée [35]:
inventaire = ['Aa', 24, True, 'Bf', 56, 'Gsd']
Entrée [36]:
inventaire * 2
Out[36]:
['Aa', 24, True, 'Bf', 56, 'Gsd', 'Aa', 24, True, 'Bf', 56, 'Gsd']
Entrée [37]:
inventaire[:]
Out[37]:
['Aa', 24, True, 'Bf', 56, 'Gsd']
Entrée [38]:
inventaire[1:3]
Out[38]:
[24, True]
Entrée [39]:
inventaire[-1]
Out[39]:
'Gsd'
Entrée [40]:
inventaire[:2]
Out[40]:
['Aa', 24]
localhost:8888/notebooks/Tutoriel_Python.ipynb 7/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [41]:
inventaire[2:]
Out[41]:
[True, 'Bf', 56, 'Gsd']
Entrée [42]:
i=0
while i<len(inventaire):
print(inventaire[i])
i+=1
Aa
24
True
Bf
56
Gsd
Entrée [43]:
inventaire.append('Fdx')
inventaire
Out[43]:
['Aa', 24, True, 'Bf', 56, 'Gsd', 'Fdx']
Entrée [44]:
inventaire.insert(2, False)
inventaire
Out[44]:
['Aa', 24, False, True, 'Bf', 56, 'Gsd', 'Fdx']
Entrée [45]:
del inventaire[1]
inventaire
Out[45]:
['Aa', False, True, 'Bf', 56, 'Gsd', 'Fdx']
Entrée [46]:
inventaire.insert(0,'Bf')
inventaire
Out[46]:
['Bf', 'Aa', False, True, 'Bf', 56, 'Gsd', 'Fdx']
localhost:8888/notebooks/Tutoriel_Python.ipynb 8/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [47]:
inventaire.count('Bf')
Out[47]:
Entrée [48]:
inventaire.reverse()
Entrée [49]:
inventaire
Out[49]:
['Fdx', 'Gsd', 56, 'Bf', True, False, 'Aa', 'Bf']
Entrée [50]:
inventaire.clear()
inventaire
Out[50]:
[]
Entrée [51]:
help(list)
Help on class list in module builtins:
class list(object)
| list(iterable=(), /)
|
| Built-in mutable sequence.
|
| If no argument is given, the constructor creates a new empty list.
| The argument must be an iterable if specified.
|
| Methods defined here:
|
| __add__(self, value, /)
| Return self+value.
|
| __contains__(self, key, /)
| Return key in self.
|
| __delitem__(self, key, /)
| D l t lf[k ]
localhost:8888/notebooks/Tutoriel_Python.ipynb 9/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [52]:
liste = [2,16,45,32, 0]
type(liste)
Out[52]:
list
Entrée [53]:
sorted(liste)
Out[53]:
[0, 2, 16, 32, 45]
Entrée [54]:
chaine = 'Bonjour à tous'
chaine.split()
Out[54]:
['Bonjour', 'à', 'tous']
Entrée [55]:
liste1 = ['Aa', 'Bb']
liste2 = liste1
Entrée [56]:
liste2.append('Cc')
Entrée [57]:
liste2
Out[57]:
['Aa', 'Bb', 'Cc']
Entrée [58]:
liste1 # Modification de la liste originale
Out[58]:
['Aa', 'Bb', 'Cc']
Entrée [59]:
import copy
liste3 = copy.deepcopy(liste1)
Entrée [60]:
liste3.append('Dd')
localhost:8888/notebooks/Tutoriel_Python.ipynb 10/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [61]:
liste3
Out[61]:
['Aa', 'Bb', 'Cc', 'Dd']
Entrée [62]:
liste1
Out[62]:
['Aa', 'Bb', 'Cc']
Entrée [63]:
for objet in enumerate(liste3):
print(objet)
(0, 'Aa')
(1, 'Bb')
(2, 'Cc')
(3, 'Dd')
7. Tuples
Des conteneurs qu'on ne peut pas les modifier.
Entrée [64]:
mon_tuple = (15, 43)
Entrée [65]:
mon_tuple[0]
Out[65]:
15
Entrée [66]:
t = (15)
type(t)
Out[66]:
int
localhost:8888/notebooks/Tutoriel_Python.ipynb 11/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [67]:
t = (15,)
type(t)
Out[67]:
tuple
Entrée [68]:
def get_player_position():
posX = 143
posY = 86
return(posX,posY)
(coordX,coordY) = get_player_position()
print('Position du joueur : ({},{})'.format(coordX,coordY))
Position du joueur : (143,86)
8. Dictionnaires
Entrée [69]:
dic = {1 : 'Bassem', 2 : 'Mohamed', 3 : 'Safa'}
Entrée [70]:
type(dic)
Out[70]:
dict
Entrée [71]:
dic[1]
Out[71]:
'Bassem'
Entrée [72]:
dic[4] = 'Ali' # Ajout
Entrée [73]:
dic
Out[73]:
{1: 'Bassem', 2: 'Mohamed', 3: 'Safa', 4: 'Ali'}
localhost:8888/notebooks/Tutoriel_Python.ipynb 12/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [74]:
dic.pop(2) # Suppression
Out[74]:
'Mohamed'
Entrée [75]:
dic
Out[75]:
{1: 'Bassem', 3: 'Safa', 4: 'Ali'}
Entrée [76]:
if 2 in dic:
print('Oui')
else:
print('Non')
Non
Entrée [77]:
for key in dic.keys(): # Parcours
print(key)
1
3
4
Entrée [78]:
for key,value in dic.items():
print('Clé : {} - Valeur : {}'.format(key,value))
Clé : 1 - Valeur : Bassem
Clé : 3 - Valeur : Safa
Clé : 4 - Valeur : Ali
Entrée [79]:
dic2 = dic # Copie, toute modification apportée à dic2 sera aussi apportée à dic
Entrée [80]:
import copy
dic3 = dic.copy() # Copie à part
9. Chaînes de caratères
localhost:8888/notebooks/Tutoriel_Python.ipynb 13/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [81]:
help(str)
Help on class str in module builtins:
class str(object)
| str(object='') -> str
| str(bytes_or_buffer[, encoding[, errors]]) -> str
|
| Create a new string object from the given object. If encoding or
| errors is specified, then the object must expose a data buffer
| that will be decoded using the given encoding and error handler.
| Otherwise, returns the result of object.__str__() (if defined)
| or repr(object).
| encoding defaults to sys.getdefaultencoding().
| errors defaults to 'strict'.
|
| Methods defined here:
|
| __add__(self, value, /)
| Return self+value.
|
| t i ( lf k /)
Entrée [82]:
ma_chaine = 'Bonjour tout le monde'
Entrée [83]:
print(ma_chaine.upper())
BONJOUR TOUT LE MONDE
Entrée [84]:
print(ma_chaine.lower())
bonjour tout le monde
Entrée [85]:
print(ma_chaine.capitalize())
Bonjour tout le monde
Entrée [86]:
print(ma_chaine.title())
Bonjour Tout Le Monde
Entrée [87]:
ma_chaine.center(50,'_')
Out[87]:
'______________Bonjour tout le monde_______________'
localhost:8888/notebooks/Tutoriel_Python.ipynb 14/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [88]:
ma_chaine.find('le')
Out[88]:
13
Entrée [89]:
ma_chaine.find('k')
Out[89]:
-1
Entrée [90]:
ma_ch = 'ababbbdafac'
ma_ch.replace('a','z',2) # Que les deux premiers
Out[90]:
'zbzbbbdafac'
Entrée [91]:
ch = 'Python est un langage interprété'
if 'langage' in ch:
print('Trouvé')
else:
print('Non trouvé')
Trouvé
Entrée [92]:
ch.islower()
Out[92]:
False
Entrée [93]:
ch.isupper()
Out[93]:
False
Entrée [94]:
ch.isalpha()
Out[94]:
False
On peut aussi tester .isdigit() .isdecimal() .isnumeric() .isalphanumeric()
localhost:8888/notebooks/Tutoriel_Python.ipynb 15/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
10. Fichiers
Modes d'ouvertures :
r (lecture seule)
w (écriture avec remplacement)
a (écriture avec ajout en fin de fichier)
x (lecture et écriture)
r+ (lecture, écriture dans un même fichier)
Entrée [95]:
fic = open('donnees.txt', 'r')
content = fic.read()
print(content)
fic.close()
chat
chien
lion
singe
lapin
Entrée [1]:
fic = open('donnees.txt', 'r')
line = fic.readline()
print(line)
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-1-fe752d5c1404> in <module>
----> 1 fic = open('donnees.txt', 'r')
2 line = fic.readline()
3 print(line)
FileNotFoundError: [Errno 2] No such file or directory: 'donnees.txt'
Entrée [97]:
lines = fic.readlines()
print(lines)
fic.close()
['chien\n', 'lion\n', 'singe\n', 'lapin\n']
localhost:8888/notebooks/Tutoriel_Python.ipynb 16/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [98]:
with open('donnees.txt','r') as fic: # Avec with pas besoin de fermer le ficher
content = fic.read()
print(content)
chat
chien
lion
singe
lapin
Entrée [99]:
with open('donnees.txt', 'r+') as fic:
nombre = 15
fic.write(str(nombre))
11. Modularité
Entrée [100]:
import math
result = math.sqrt(1000)
result
Out[100]:
31.622776601683793
Entrée [101]:
from math import sqrt
result = sqrt(1000)
result
Out[101]:
31.622776601683793
Importer un module :
import (nom_module)
from (nom_module) import (nom_fonction)
from (nom_module) import (*)
Entrée [102]:
import player
localhost:8888/notebooks/Tutoriel_Python.ipynb 17/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [103]:
player.parler('Bassem','Salut!')
Bassem : Salut!
Entrée [104]:
player.au_revoir()
Au revoir :)!
12. Gestion des erreurs
Entrée [105]:
age_utilisateur = input('Quel âge as-tu ?')
Quel âge as-tu ?fgh
Entrée [106]:
age_utilisateur = int(age_utilisateur)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-106-aa5af48f00d2> in <module>
----> 1 age_utilisateur = int(age_utilisateur)
ValueError: invalid literal for int() with base 10: 'fgh'
Entrée [107]:
ages_utilisateur
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-107-16bd0239c7f0> in <module>
----> 1 ages_utilisateur
NameError: name 'ages_utilisateur' is not defined
Entrée [108]:
2/0
---------------------------------------------------------------------------
ZeroDivisionError Traceback (most recent call last)
<ipython-input-108-e8326a161779> in <module>
----> 1 2/0
ZeroDivisionError: division by zero
localhost:8888/notebooks/Tutoriel_Python.ipynb 18/19
26/09/2020 Tutoriel_Python - Jupyter Notebook
Entrée [109]:
age_utilisateur = input('Quel âge as-tu ?')
try:
age_utilisateur = int(age_utilisateur)
print('Tu as', age_utilisateur, 'ans')
except:
print('Age indiqué est incorrect')
Quel âge as-tu ?fgh
Age indiqué est incorrect
Gérer les exceptions : try / except (+ else, finally)
Entrée [110]:
nombre1 = 150
nombre2 = input('Choisir le nombre 2 pour effectuer la division :')
try:
nombre2 = int(nombre2)
print('Resultat = {}'.format(nombre1/nombre2))
except ZeroDivisionError:
print('Vous ne pouvez pas diviser par zéro')
except ValueError:
print('Vous devez entrer un nombre')
else:
print('Bravo, vous avez noté un nombre valide !')
finally:
print('Fin du programme')
Choisir le nombre 2 pour effectuer la division :0
Vous ne pouvez pas diviser par zéro
Fin du programme
Entrée [ ]:
localhost:8888/notebooks/Tutoriel_Python.ipynb 19/19