2. Chapitre 2 : Les fondamentaux de Python
Python est un langage de programmation de haut niveau, interprété et orienté objet. Sa syntaxe claire et lisible en fait un excellent choix pour les débutants tout en restant puissant pour les développeurs expérimentés.
2.1. Notes théoriques
2.1.1. “Hello World”
Le programme “Hello World” est un script simple qui affiche “Hello, World!” à l’écran. C’est une façon traditionnelle de commencer l’apprentissage d’un nouveau langage de programmation.
Syntaxe :
print("Hello, World!")
Exemple :
print("Hello, World!")
# Résultat : Hello, World!
2.1.2. Variables en Python
Les variables sont utilisées pour stocker des valeurs de données. En Python, une variable est créée au moment où vous lui assignez une valeur pour la première fois.
Règles de nommage
Les variables Python doivent respecter certaines règles :
Doivent commencer par une lettre ou le caractère underscore (_)
Ne peuvent pas commencer par un chiffre
Peuvent contenir uniquement des caractères alphanumériques et des underscores (A-z, 0-9, et _)
Sont sensibles à la casse (age, Age, et AGE sont trois variables différentes)
Syntaxe : variable_name = value
Exemple :
x = 5
name = "Alice"
print(x, name)
# Résultat : 5 Alice
2.1.3. Types de données en Python
Les types de données sont la classification ou catégorisation des éléments de données. Python a plusieurs types de données incluant Integer, Float, String, List, Tuple, et Dictionary.
Types principaux :
Integer (entier)
Float (nombre décimal)
String (chaîne de caractères)
List (liste)
Tuple
Dictionary (dictionnaire)
Set (ensemble)
Boolean (booléen)
Taille en mémoire : La taille en mémoire varie selon le type de données et la valeur qu’il contient.
Exemple :
integer_var = 10
float_var = 20.5
string_var = "Hello"
les littéraux
Integer : Nombres entiers, ex:
5Float : Nombres avec décimales, ex:
5.0String : Séquence de caractères, ex:
"Hello"List : Collection ordonnée et modifiable, ex:
[1, 2, 3]Tuple : Collection ordonnée et non-modifiable, ex:
(1, 2, 3)Dictionary : Collection avec paires clé-valeur, ex:
{"name": "John", "age": 30}Set : Collection non-ordonnée d’éléments uniques, ex:
{1, 2, 3}Boolean : Représente
TrueouFalse
2.1.4. Opérateurs Python
Les opérateurs sont utilisés pour effectuer des opérations sur des variables et des valeurs. Python possède des opérateurs arithmétiques, de comparaison, d’assignation, logiques, d’identité, d’appartenance et binaires.
Exemple :
# Opérateur arithmétique
a = 10
b = 3
print(a + b) # Addition : 13
print(a * b) # Multiplication : 30
Types d’opérateurs :
Opérateurs arithmétiques
Opérateurs de comparaison (relationnels)
Opérateurs d’assignation
Opérateurs logiques
Opérateurs d’identité
Opérateurs d’appartenance
Opérateurs binaires
Exemple :
Opérateurs arithmétiques :
+,-,*,/,%,//,**
a = 10
b = 3
print(a + b) # Addition : 13
print(a - b) # Soustraction : 7
print(a * b) # Multiplication : 30
print(a / b) # Division : 3.333...
print(a % b) # Modulo : 1
print(a // b) # Division entière : 3
print(a ** b) # Puissance : 1000
Opérateurs de comparaison :
==,!=,>,<,>=,<=
x = 5
y = 10
print(x == y) # Égal à : False
print(x != y) # Différent de : True
print(x > y) # Plus grand que : False
print(x < y) # Plus petit que : True
print(x >= y) # Plus grand ou égal : False
print(x <= y) # Plus petit ou égal : True
Opérateurs d’assignation :
=,+=,-=,*=,/=, etc.
x = 5
x += 3 # Équivalent à x = x + 3
print(x) # 8
x *= 2 # Équivalent à x = x * 2
print(x) # 16
Opérateurs logiques :
and,or,not
a = True
b = False
print(a and b) # False
print(a or b) # True
print(not a) # False
Opérateurs d’identité :
is,is not
x = [1, 2, 3]
y = [1, 2, 3]
z = x
print(x is z) # True (même objet)
print(x is y) # False (objets différents)
print(x == y) # True (même contenu)
Opérateurs d’appartenance :
in,not in
liste = [1, 2, 3, 4, 5]
print(3 in liste) # True
print(6 not in liste) # True
Opérateurs binaires :
&,|,^,~,<<,>>
Règle PEMDAS : Parenthèses, Exposants, Multiplication/Division, Addition/Soustraction
2.1.5. Instruction de sortie: la fonction print()
La fonction print() est utilisée pour afficher des données à l’écran.
Syntaxe de base :
print(value1, value2, ..., sep=' ', end='\n')
Exemples :
# Affichage simple
print("Bonjour")
# Affichage de plusieurs valeurs
print("Age:", 25)
# Personnalisation du séparateur
print("A", "B", "C", sep="-")
# Résultat : A-B-C
# Personnalisation de la fin
print("Première ligne", end=" ")
print("Sur la même ligne")
# Résultat : Première ligne Sur la même ligne
2.1.6. Instruction de saisie: la fonction input()
La fonction input() permet de lire une entrée de l’utilisateur.
Syntaxe:
variable = input(prompt)
Exemple :
nom = input("Entrez votre nom : ")
print("Bonjour", nom)
# Conversion de type pour les nombres
age = int(input("Entrez votre âge : "))
print("Dans 10 ans, vous aurez", age + 10, "ans")
2.1.7. Conversion de types (Casting)
Le casting consiste à convertir une variable d’un type à un autre.
Fonctions de conversion :
int(): Convertit en entierfloat(): Convertit en nombre décimalstr(): Convertit en chaîne de caractèreslist(): Convertit en listetuple(): Convertit en tuplebool(): Convertit en booléen
Exemples :
# String vers Integer
age_str = "25"
age_int = int(age_str)
print(type(age_int)) # <class 'int'>
# Integer vers String
nombre = 100
nombre_str = str(nombre)
print(type(nombre_str)) # <class 'str'>
# Float vers Integer
prix = 19.99
prix_int = int(prix)
print(prix_int) # 19
# String vers Float
taille = "1.75"
taille_float = float(taille)
print(taille_float) # 1.75
2.1.8. Chaînes de caractères (Strings)
Les chaînes de caractères sont des séquences de caractères entourées de guillemets.
Création:
simple = 'Hello'
double = "World"
multi_ligne = '''Ceci est
une chaîne
sur plusieurs lignes'''
Opérations sur les chaînes :
# Concaténation
prenom = "Alice"
nom = "Dupont"
nom_complet = prenom + " " + nom
print(nom_complet) # Alice Dupont
# Répétition
echo = "Ha" * 3
print(echo) # HaHaHa
# Indexation (commence à 0)
mot = "Python"
print(mot[0]) # P
print(mot[-1]) # n (dernier caractère)
# Slicing
print(mot[0:3]) # Pyt
print(mot[2:]) # thon
print(mot[:4]) # Pyth
Méthodes associées aux chaînes :
texte = " Python Programming "
# Méthodes de transformation
print(texte.upper()) # PYTHON PROGRAMMING
print(texte.lower()) # python programming
print(texte.strip()) # "Python Programming" (sans espaces)
print(texte.replace("Python", "R")) # " R Programming "
# Méthodes de test
print("Python".startswith("Py")) # True
print("Python".endswith("on")) # True
print("123".isdigit()) # True
print("abc".isalpha()) # True
# Split et Join
phrase = "Python est génial"
mots = phrase.split()
print(mots) # ['Python', 'est', 'génial']
rejoindre = "-".join(mots)
print(rejoindre) # Python-est-génial
Formatage de chaînes
nom = "Alice"
age = 25
# Méthode format()
message1 = "Je m'appelle {} et j'ai {} ans".format(nom, age)
# f-strings (Python 3.6+)
message2 = f"Je m'appelle {nom} et j'ai {age} ans"
# Formatage avec précision
pi = 3.14159
print(f"Pi vaut approximativement {pi:.2f}") # 3.14
2.1.9. Structures de contrôle : conditions if/else
Les structures de contrôle permettent de contrôler le flux d’exécution du programme. Les if/else sont des structures de contrôle qui permettent une execution selon certaines conditions.
Exemple:
if: s’exécute si la condition est vraie
age = int(input("Entrez votre âge: "))
if age >= 18:
print("Etant majeur, cette information vous concerne aussi")
print("Ceci est destiné à tous")
if/else: les instructions dans le if s’exécutent si la condition est vraie, sinon les instructions dans le else s’exécutent
age = 18
if age >= 18:
print("Vous êtes majeur")
else:
print("Vous êtes mineur")
if/elif/else: permet de tester plusieurs conditions
score = 85
if score >= 90:
print("Excellent")
elif score >= 80:
print("Très bien")
elif score >= 70:
print("Bien")
else:
print("À améliorer")
plusieurs conditions avec des opérateurs logiques: and, or, not
age = 25
permis = True
if age >= 18 and permis:
print("Vous pouvez conduire")
else:
print("Vous ne pouvez pas conduire")
Note
Python n’a pas de switch case, mais on peut utiliser un dictionnaire pour simuler un switch case
Note
Il est possible d’écrire des conditions sur une seule ligne: var = valeur1 if condition else valeur2
age = 25
statut = "majeur" if age >= 18 else "mineur"
print(statut) # majeur
2.1.10. Structures de contrôle: les boucles
Les boucles sont des structures de contrôle qui permettent de répéter un bloc d’instructions plusieurs fois.
Types de boucles:
for: répète un bloc d’instructions un nombre déterminé de fois
while: répète un bloc d’instructions tant qu’une condition est vraie
Exemple:
for:
for i in range(5):
print(i)
while:
i = 0
while i < 5:
print(i)
i += 1
Note
range() est une fonction qui retourne une séquence de nombres. Par exemple, range(5) retourne une séquence de 0 à 4.
Contrôle de flux:
break: sort de la boucle
continue: passe à l’itération suivante
for i in range(10):
if i == 5:
break
print(i)
for i in range(5):
if i == 2:
continue
print(i)
2.1.11. Fonctions
Les fonctions sont des blocs de code réutilisables qui effectuent une tâche spécifique. Une fonction a deux facettes:
Définition: la fonction est créée
Appel: la fonction est exécutée
# Définition de la fonction
def saluer():
print("Bonjour!")
# Appel de la fonction
saluer()
Note
Une fonction est définie une seule fois, mais elle peut être appelée plusieurs fois.