Une très très courte introduction à Python¶
Cette introduction est conçue pour être présentée en un cours (3h) à des étudiant.e.s de littérature, sans aucune connaissance informatique. Pour une introduction plus approfondie cf l’introduction à python de Romain Tavenard.
Un langage de haut niveau: donc proche du langage naturel.
Commençons avec notre premier programme:
print("Il dit: \"Je t\'aime\"")
Il dit: "Je t'aime"
Pour faire la même chose en Assembly - un des langages de programmation de niveau plus bas - il aurait fallu écrire quelque chose du type):
section .text
global _start
_start:
mov edx,len
mov ecx,msg
mov ebx,1
mov eax,4
int 0x80
mov eax,1
int 0x80
section .data
msg db 'Hello, world!', 0xa
len equ $ - msg
Variables¶
Une variable est un objet auquel on attribue une certaine valeur. Il y a plusieurs types en python, pour l’instant nous considérérons
la chaîne de caractères (string) :
str
le nombre naturel (integer):
int
le booléen (vrai ou faux):
bool
Par exemple:
mon_texte = 'Voici mon beau texte' #ça c'est un commentaire. Python n'interpète pas ce qui suit un #
mon_nombre = 2 # voici une variable qui a un type "int"
mon_operateur_booleen = True
print(mon_nombre)
2
Si je veux savoir le type de chaque variable je peux faire:
print(type(mon_texte))
print(type(mon_nombre))
print(type(mon_operateur_booleen))
<class 'str'>
<class 'int'>
<class 'bool'>
Je peux faire des opératoins avec les variables. Par exemple je peux concatener deux chaînes de caractères ou additionner deux nombres.
mon_texte + ' - et voici sa continuation'
'Voici mon beau texte - et voici sa continuation'
mon_nombre * 3
6
Structures conditionnelles¶
On vérifie si une condition est remplie pour réaliser une opération.
Par exemple: s’il pleut, prend ton parapluie, s’il ne pleut pas, laisse-le à la maison.
il_pleut = True
if il_pleut:
print('Prends ton parapluie!')
else:
print('Laisse ton parapluie à la maison!')
Prends ton parapluie!
Attention à l’indentation! elle est interpétée par python!
Nous pouvons définir une fonction:
def parapluie(x):
if x:
print('Prends ton parapluie!')
else:
print('Laisse ton parapluie à la maison!')
Et ensuite lui passer des valeurs:
il_pleut = True
il_pleut_2 = False
parapluie(il_pleut)
parapluie(il_pleut_2)
Prends ton parapluie!
Laisse ton parapluie à la maison!
On peut attribuer de nouveaux valeurs à la même variable:
il_pleut = True
parapluie(il_pleut)
il_pleut = False
parapluie(il_pleut)
Prends ton parapluie!
Laisse ton parapluie à la maison!
Les listes¶
Une liste est une collection ordonnée de valeurs. Elle s’exprime avec des crochets []
. À l’intérieur des crochets il y aura les valeurs séparées par des virgules. Nous pouvons avoir des listes de chaînes de caractères, de nombres, de booleens… ou aussi mélangées
Par exemple:
ma_liste = [1,3,5,8,9] #une liste de nombres
ma_liste_cc = ['Jean','Marie','Pierre','Délphine','Joseph']
ma_liste_miste = [1, 'Marie', '4 pommes', True]
Maintenant nous pouvons parcourir une liste et afficher chaque valeur. On utilisera une boucle:
for valeur in ma_liste:
print(valeur)
1
3
5
8
9
for valeur in ma_liste_cc:
print(valeur)
Jean
Marie
Pierre
Délphine
Joseph
for position, valeur in enumerate(ma_liste_cc):
print(position)
print(valeur)
0
Jean
1
Marie
2
Pierre
3
Délphine
4
Joseph
ma_liste_cc[2]
'Pierre'
Attention, le premier élément est l’élément 0
(et non 1
)!
Le dernier élément est le -1
ierrema_liste_cc[-1]
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-16-90f3eb0c6786> in <module>
----> 1 ierrema_liste_cc[-1]
NameError: name 'ierrema_liste_cc' is not defined
Dictionnaires¶
Admettons d’avoir des informations sur une personne:
prénom
nom
téléphone
info_pers_1 = {'prenom' : 'André', 'nom' : 'Bouchard', 'tel' : '514 000 000' }
Accédons maintenant à ces informations:
print(info_pers_1['prenom'])
André
info_pers_1['tel']
'514 000 000'
Et si on en a plusieurs? On peut faire une liste de dictionnaires:
list_dict = []
list_dict.append(info_pers_1)
info_pers_2 = {'prenom' : 'Josephine', 'nom' : 'Autel', 'tel' : '438 111 111' }
list_dict.append(info_pers_2)
list_dict
[{'prenom': 'André', 'nom': 'Bouchard', 'tel': '514 000 000'},
{'prenom': 'Josephine', 'nom': 'Autel', 'tel': '438 111 111'}]
Et maintenant on fait une boucle:
for personne in list_dict:
# print(personne['prenom'] + ' ' + personne['nom'] + ' ' + personne['tel']) # le + ' ' sert juste à ajouter un espace blanc
print(personne['tel'])
if '514' in personne['tel']:
print('Montréal')
514 000 000
Montréal
438 111 111
list_dict[1]['prenom']
'Josephine'
dict_aristote = {'nom': 'Aristote', 'ville de naissance': 'Stagire', 'naissance' : '-384', 'mort': '-322', 'ville de mort': 'Calcis', 'oeuvres': [{'titre': 'Métaphysique', 'sujet' : 'principes premiers'},{'titre': 'Physique', 'sujet' : 'la nature'}, ]}
dict_aristote['nom']
'Aristote'
dict_aristote['oeuvres']
[{'titre': 'Métaphysique', 'sujet': 'principes premiers'},
{'titre': 'Physique', 'sujet': 'la nature'}]
for oeuvre in dict_aristote['oeuvres']:
print(oeuvre['titre'])
print(oeuvre['sujet'])
Métaphysique
principes premiers
Physique
la nature
dict1 = {'titre': 'mon titre', 'texte' : 'letexteduroman'}
dict1.update({'date': '1962'})
dict1
{'titre': 'mon titre', 'texte': 'letexteduroman', 'date': '1962'}
dict1.update({'titre': 'L\'avalée'})
dict1
{'titre': "L'avalée", 'texte': 'letexteduroman', 'date': '1962'}
dict2 = {'titre': "Va savoir", 'texte': 'letexteduroman', 'date': '1972'}
maliste= [dict1]
maliste[-1]['titre']
"L'avalée"
maliste.append(dict2)
maliste[1]['titre']
'Va savoir'
for cle in dict1.keys():
print(cle)
titre
texte
date
dict1.update({'titre': 'blabla', 'date': '182'})
dict1['titre2']
'blabla'