Opérateur | Usage |
---|---|
+ | Additionne deux nombres |
- | Soustrait deux nombres |
* | Multiplie deux nombres |
/ | Divise deux nombres |
// | Retourne le nombre entier d'une division |
% | Retourne le reste d'une division |
Exemple :
>>> 2+3
# Le résultat sera 5
>>> 3*3
# Le résultat sera 9
nom_variable = valeur
- Le nom de la variable ne peut être composé que de lettres, majuscules ou minuscules, de chiffres et du symbole souligné « _ » (appelé underscore en anglais).
- Le nom de la variable ne peut pas commencer par un chiffre.
3.Le langage Python est sensible à la casse, ce qui signifie que des lettres majuscules et minuscules ne constituent pas la même variable (la variable AGE est différente de aGe, elle-même différente de age).
Il existe 2 conventions principales pour nommer une variable :
mon_age
monAge
monAge = 19
On peut interagir avec cette variable en modifiant son contenu comme bon nous semble :
monAge = 19
# monAge vaut 19
monAge = monAge + 4
# monAge vaut 23
monAge = monAge * 2
# monAge vaut 46
Type de donnée | Commentaire |
---|---|
Nombres entiers (int) | Nombre sans virgule : 3 |
Nombres flottants (float) | Nombre avec virgule : 3.2442 |
Chaine de caractères | Contient des lettres, des phrases : Bonjour ! |
Pour les chaines de caractères, il faut faire attention aux types de guillements utilisés :
maPhrase = 'J'aime le python'
# Syntaxe incorrecte !
# Pour corriger cela, il faut échapper le ' :
maPhrase = 'J\'aime le python'
# Affiche bien la phrase
maPhrase = "j'aime le python"
# J'aime le python
maPhrase = """j'aime
le
python"""
# Les trois guillemets permettent de ne pas avoir à échapper les caractères, et permettent de faire un retour à la ligne sans utiliser \n
Lorsqu'il s'agit d'incrémenter des variables, on peut faire de plusieurs façons :
# Méthode 1 : Rajouter la valeur à la variable
maVariable = 1
maVariable = maVariable + 1
# Méthode 2 : Incrémenter directement la variable
maVariable = 1
maVariable += 1
>>> a = 5
>>> b = 32
>>> a,b = b,a # permutation
>>> a
32
>>> b
5
>>>
>>> x = y = 3
>>> x
3
>>> y
3
>>>
Syntaxe d'une fonction :
nom_de_la_fonction(parametre_1,parametre_2,…,parametre_n)
a=3
type(a)
# retourne <class 'int'>
>>> a = 3
>>> print(a)
>>> a = a + 3
>>> b = a - 2
>>> print("a =", a, "et b =", b)
choix = input("Faite votre choix : ")
Par défaut, la valeur sera une chaine de caractères. Pour la convertir en entier, on peut utiliser ceci :
annee = input("Saisir une annee : ")
annee = int(annee)
La structure conditionnelle IF permet de faire un choix. Cela permet de rendre le code intelligent.
Dans un langage courant, cela donnerait ceci :
Si <réfrigérateur_vide = 1>
Alors Afficher "Faire des courses"
Fin si
En python, cela donnerait :
refrigerateur_vide = 1
if refrigerateur_vide=1:
print "Faire des courses"
Attention : Dans d'autres langages de programmation tel que le C#, la fonction est délimitée par {}. En python, la fonction commence par : et c'est l'indentation qui délimite.
Démonstration :
refrigerateur_vide = 1
if refrigerateur_vide=1: #Je débute le IF
print "Aller faire des courses" # Je suis dans le IF
print "Je suis encore de le IF"
print "Ici aussi"
print "Ici non, mon IF est terminé"
Je peux également grâce au ELSE définir une action si ma condition est fausse.
refrigerateur_vide = 1
if refrigerateur_vide=1: # Si le frigo est vide, alors ...
print "Faire des courses"
else: # Sinon ...
print "Ne pas faire de courses"
Cette condition permet d'avoir plusieurs conditions dans une clause IF.
refrigerateur_vide = 1
if refrigerateur_vide=1: # Si le frigo est vide, alors ...
print "Faire des courses"
elif refrigerateur_vide=0.5: # Si le frigo est presque vide, alors ...
print "Faire de petites courses"
else: # Sinon ...
print "Ne pas faire de courses"
Opérateur | Signification |
---|---|
< | Strictement inférieur à |
> | Strictement supérieur à |
<= | Inférieur ou égal à |
>= | Supérieur ou égal à |
== | Égal à |
!= | Différent de |
Attention : Pour tester l'égalité de deux valeurs, on utilise == et non = qui lui sert à l'affectation de valeurs
Info : Une condition renvoie uniquement deux valeurs : True ou False (vrai ou faux). Si le test est correcte, il renverra True, sinon False.
Si un test à besoin de plusieurs conditions pour être vrai, on peut combiner plusieurs conditions pour une seule clause IF.
permis=False
majeur=True
if permis==True and majeur == True: # Pour que je puisse conduire, il faut que j'ai mon permis et que je sois majeur
print "Je peux conduire"
else:
print "Je ne peux pas conduire"
La boucle while (ou tant que) répète une série d'instructions tant qu'une condition n'est pas vraie.
Syntaxe :
while condition:
instruction1
instruction2
...
Exemple : Je veux répéter une instruction tant que i n'est pas égal à 10 :
i = 0
while 1 != 10:
print ("i ne vaut pas 10")
i+=1
Attention : Il ne faut pas oublier d'incrémenter le compteur, sinon la boucle sera infinie !
Un constructeur est une méthode spéciale d'une classe qui permet de construire un objet, de lui donner des attributs.
Le nom de cette méthode est “ __init__ ” et prend en premier argument “ self ”, qui représente l'objet courant, qui est cours de création.
Exemple : je crée un constructeur permettant de définir une personne
class People:
def __init__(self,firstname,lastname,age):
self.firstname = firstname
self.lastname = lastname
self.age = age
Notre fonction init demande 3 paramètres, “ self ” étant un paramètre spécial.
Grâce à ce constructeur il ne reste qu'à créer des objets :
>>> chuck = People("Chuck","Norris",81)
L'objet “chuck” a été créé, on peut désormais accéder à ses différents attributs, les lire et les modifier.
>>> chuck.firstname
'Chuck'
>>> chuck.firstname = "Chucky"
>>> chuck.firstname
'Chucky'
Reprenons l'exemple précédent. Lorsque l'on souhaite afficher notre objet, la valeur retournée n'est pas tout à fait celle attendue.
>>> chuck
<__main__.People object at 0x03C12820>
Nous allons donc utiliser un représentateur pour mettre en forme l'objet.
Cette méthode se définit “ __repr__ ”.
class People:
def __init__(self,firstname,lastname,age):
self.firstname = firstname
self.lastname = lastname
self.age = age
def __repr__(self):
return "Nom : %s , Prenom : %s , Age : %s" % (self.lastname, self.firstname, self.age)
>>> repr(chuck)
'Nom : Norris , Prenom : Chuck , Age : 81'
Le décorateur est une fonction permettant de modifier le comportement d'autres fonctions, évitant la répétition de code. Il est appelé par “ @nom_décoraeur ”.
def title_decorator(function):
def wrapper(*args, **kwargs):
print("*"*30)
print("-"*30)
function(*args, **kwargs)
print("-"*30)
print("*"*30)
return wrapper
@title_decorator
def title(titre):
print(titre)
>>> titre = "Ceci est mon texte décoré"
>>> title(titre)
******************************
------------------------------
Ceci est mon texte décoré
------------------------------
******************************
Ce décorateur permet simplement de mettre en forme un titre. Mais le décorateur, critiqué pour son nom ne définissant pas assez clairement sa fonction, peut avoir bien d'autres usages.
Par exemple, dans le cadre du développement web, les décorateurs sont très utilisés. Typiquement, pour les pages nécessitant une authentification, le décorateur “ @login_required ” du framework Django est très utile.
from django.contrib.auth.decorators import login_required
@login_required
def my_page(request):
...
Tout comme “ @login_required ”, beaucoup de décorateurs sont déjà développés, nécessitant un simple import.