Les Types de Données en Python
En Python, la fonction input() retounre une chaîne de caractères. Pour convertir une chaîne en nombre, utilisez int(), et pour transformer un nombre en chaîne, employez str(). Les commentaires sur une seule ligne commencent par #, tandis que ceux sur plusieurs lignes se délimitent avec """. L'indentation doit être précise, chaque tabulation correspondant à quatre espaces.
Chaînes de Caractères
Les chaînes sont des séquences immuables avec de nombreuses méthodes intégrées :
# Concaténation
prenom = "Alice"
age = "25"
message = prenom + " a " + age + " ans"
print(message) # Affiche "Alice a 25 ans"
# Répétition
texte = "abc"
repetition = texte * 5
print(repetition) # Affiche "abcabcabcabcabc"
# Capitalisation et transformations
chaine = "python"
print(chaine.capitalize()) # "Python"
print(chaine.upper()) # "PYTHON"
print(chaine.lower()) # "python"
# Recherche et remplacement
phrase = "bonjour le monde"
print(phrase.find("monde")) # Retourne 13
nouvelle_phrase = phrase.replace("monde", "univers")
print(nouvelle_phrase) # "bonjour le univers"
# Découpage et formatage
texte_long = "nom: Bob, age: 30"
parties = texte_long.split(", ")
print(parties) # ['nom: Bob', 'age: 30']
print("{0} a {1} ans".format("Bob", 30)) # "Bob a 30 ans"
# Vérifications
chaine_mixte = "Python3"
print(chaine_mixte.isalnum()) # True
print(chaine_mixte.isalpha()) # False
print(chaine_mixte.isnumeric()) # False
Nombres
Les opérations mathématiques courantes et la manipulation de types :
# Opérations arithmétiques
x = 15
y = 4
print("Somme:", x + y) # 19
print("Produit:", x * y) # 60
print("Division:", x / y) # 3.75
print("Division entière:", x // y) # 3
print("Modulo:", x % y) # 3
print("Puissance:", x ** y) # 50625
# Conversion de chaînes en nombres
nombre_str = "1010"
nombre_int = int(nombre_str, base=2) # Convertit binaire 1010 en décimal 10
print(nombre_int)
# Vérification de parité
valeur = int(input("Entrez un nombre entier: "))
if valeur % 2 == 0:
print(f"{valeur} est pair.")
else:
print(f"{valeur} est impair.")
# Longueur binaire
entier = 10
bits_necessaires = entier.bit_length()
print(f"Nombre minimal de bits pour représenter {entier}: {bits_necessaires}")
Listes
Les listes sont des collections ordonnées et modifiables :
# Création et accès
fruits = ["pomme", "banane", "cerise"]
print(fruits[0]) # "pomme"
print(fruits[-1]) # "cerise"
print(fruits[0:2]) # ['pomme', 'banane']
# Modification et méthodes
nombres = [10, 20, 30, 40]
nombres.append(50) # Ajoute à la fin
print(nombres) # [10, 20, 30, 40, 50]
nombres.insert(1, 15) # Insère à l'index 1
print(nombres) # [10, 15, 20, 30, 40, 50]
nombres.remove(30) # Supprime la première occurrence de 30
print(nombres) # [10, 15, 20, 40, 50]
dernier = nombres.pop() # Supprime et retourne le dernier élément
print(dernier) # 50
# Tri et inversion
notes = [85, 72, 90, 65, 78]
notes.sort(reverse=True) # Tri décroissant
print(notes) # [90, 85, 78, 72, 65]
notes.reverse() # Inverse l'ordre
print(notes) # [65, 72, 78, 85, 90]
# Compréhension de liste
carrés = [i**2 for i in range(1, 6)]
print(carrés) # [1, 4, 9, 16, 25]
Tuples
Les tuples sont des séquences immuables, souvent utilisés pour les données fixes :
# Création
coordonnees = (48.8566, 2.3522) # Latitude et longitude de Paris
print(coordonnees[0]) # 48.8566
# Déballage
latitude, longitude = coordonnees
print(f"Lat: {latitude}, Long: {longitude}")
# Conversion
liste_points = [1, 2, 3]
tuple_points = tuple(liste_points)
print(tuple_points) # (1, 2, 3)
# Itération
for point in (10, 20, 30):
print(point)
Dictionnaires
Les dictionnaires stockent des paires clé-valeur :
# Création et accès
etudiant = {
"nom": "Marie",
"age": 22,
"notes": [88, 92, 75]
}
print(etudiant["nom"]) # "Marie"
# Ajout et modification
etudiant["filiere"] = "Informatique"
etudiant["age"] = 23
print(etudiant)
# Méthodes utiles
cle = etudiant.get("pays", "Inconnu") # Valeur par défaut si clé absente
print(cle) # "Inconnu"
etudiant.pop("notes") # Supprime et retourne la valeur associée à "notes"
print(etudiant)
# Parcours
for cle, valeur in etudiant.items():
print(f"{cle}: {valeur}")
# Fusion de dictionnaires
info_supplementaire = {"email": "marie@example.com"}
etudiant.update(info_supplementaire)
print(etudiant)
Valeurs Booléennes
En Python, les valeurs fausses incluent : None, les chaînes vides "", les listes vides [], les tuples vides (), et les dictionnaires vides {}. Toute autre valeur est considérée comme vraie.
Ensembles
Les ensembles cnotiennent des éléments uniques et non ordonnés, utiles pour les opérations mathématiques sur les ensembles :
# Création
ensemble_a = {1, 2, 3, 4, 4} # Les doublons sont supprimés
print(ensemble_a) # {1, 2, 3, 4}
# Opérations de base
ensemble_b = {3, 4, 5, 6}
print("Union:", ensemble_a | ensemble_b) # {1, 2, 3, 4, 5, 6}
print("Intersection:", ensemble_a & ensemble_b) # {3, 4}
print("Différence:", ensemble_a - ensemble_b) # {1, 2}
print("Différence symétrique:", ensemble_a ^ ensemble_b) # {1, 2, 5, 6}
# Méthodes
ensemble_c = {10, 20}
ensemble_c.add(30) # Ajoute un élément
print(ensemble_c) # {10, 20, 30}
ensemble_c.discard(10) # Supprime sans erreur si absent
print(ensemble_c) # {20, 30}
# Conversion depuis une liste
liste_doublons = [1, 2, 2, 3, 3, 3]
ensemble_unique = set(liste_doublons)
print(ensemble_unique) # {1, 2, 3}