CodeGym /Cours /Python SELF FR /Fonctions intégrées

Fonctions intégrées

Python SELF FR
Niveau 13 , Leçon 1
Disponible

1.1 Liste des fonctions intégrées populaires

On a déjà rencontré plein de fonctions intégrées, mais j'aimerais te parler de quelques-unes en plus qui te seront utiles bientôt :

  • id()
  • hash()
  • dir()

Voici quelques détails sur elles :

Fonction id()

La fonction id() renvoie l'identifiant unique d'un objet (nombre). Cet identifiant est un entier et reste unique pour l'objet pendant toute sa durée d'existence. Il correspond généralement à l'adresse de l'objet en mémoire, même si ce n'est pas garanti dans la spécification Python.

L'identifiant unique de l'objet peut être utilisé pour mieux comprendre plusieurs opérations, par exemple, pour mieux comprendre où les objets sont dupliqués et où nous avons des références au même objet. Les objets identiques auront des identifiants différents, mais des références au même objet montreront le même identifiant.

On peut l'utiliser pendant le débogage et pour comprendre comment Python gère les objets en mémoire.


a = [1, 2, 3]
b = a
print(id(a))  # Affiche l'identifiant de l'objet 'a'
print(id(b))  # Affiche le même identifiant, car 'b' fait référence au même objet

Fonction hash()

La fonction hash() renvoie la valeur de hachage (nombre) pour l'objet spécifié, s'il est hachable. Les objets hachables en Python doivent être immuables et avoir une valeur de hachage constante pendant leur cycle de vie.

Les exemples de tels objets incluent les nombres, les chaînes et les tuples (si tous leurs éléments sont également hachables). Les valeurs de hachage sont utilisées dans les dictionnaires et les ensembles pour une recherche rapide. Utilisé pour optimiser la recherche et le stockage des données, où des vérifications rapides d'égalité et d'unicité sont nécessaires.


print(hash("hello"))  # Renvoie la valeur de hachage de la chaîne "hello"
print(hash(42))       # Renvoie la valeur de hachage du nombre 42
print(hash((1, 2, 3)))  # Renvoie la valeur de hachage du tuple (1, 2, 3)

Important ! Les valeurs de hachage des objets immuables restent constantes pendant leur cycle de vie. Cependant, les objets modifiables, tels que les listes et les dictionnaires, ne sont pas hachables et ne peuvent pas être utilisés comme clés de dictionnaire ou éléments d'ensemble.

Fonction dir()

La fonction dir() renvoie une liste des attributs et méthodes d'un objet. Si aucun objet n'est spécifié, dir() retourne la liste des noms dans le scope local actuel. Cette fonction est utile pour explorer la structure des objets et leurs attributs.

Utilisée pour obtenir la liste de tous les attributs et méthodes de l'objet, ce qui aide à mieux comprendre sa structure et ses fonctions disponibles. Souvent utilisé pour le débogage et l'exploration des objets, surtout quand la documentation est limitée ou indisponible.


class MyClass:
    def __init__(self):
        self.name = "Alice"
            
    def greet(self):
        print("Hello, " + self.name)
        
obj = MyClass()
print(dir(obj))  # Affiche la liste des attributs et méthodes de l'objet 'obj'
print(dir())     # Affiche la liste des noms dans le scope local actuel

1.2 Travailler avec les collections

Il y a quelques autres fonctions utiles pour travailler avec les collections. Elles ont peut-être été mentionnées dans des conférences antérieures, mais je veux les aborder un peu plus en détail maintenant.

  • zip()
  • min()
  • max()
  • sum()
  • count()

Fonction zip()

La fonction zip() regroupe plusieurs objets itérables (par exemple, des listes, tuples, chaînes) et renvoie un itérateur de tuples. Chaque tuple contient des éléments rassemblés à partir de positions de même index de tous les objets itérables.

Souvent utilisée pour regrouper des données de plusieurs objets itérables, permettant de les parcourir facilement en même temps. Et aussi pour créer des dictionnaires à partir de deux listes — une pour les clés, l'autre pour les valeurs.


names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
combined = zip(names, ages)
print(list(combined))  # Affiche : [('Alice', 25), ('Bob', 30), ('Charlie', 35)]

Fonction max()

La fonction max() renvoie le plus grand élément d'un objet itérable passé en argument ou parmi plusieurs arguments fournis. On peut également spécifier une fonction clé pour déterminer la règle de comparaison.


numbers = [1, 2, 3, 4, 5]
print(max(numbers))  # Affiche : 5
            
# Avec une fonction clé
words = ["apple", "banana", "cherry"]
print(max(words, key=len))  # Affiche : 'banana'

Fonction min()

La fonction min() renvoie le plus petit élément d'un objet itérable passé en argument ou parmi plusieurs arguments fournis. On peut également spécifier une fonction clé pour déterminer la règle de comparaison.


numbers = [1, 2, 3, 4, 5]
print(min(numbers))  # Affiche : 1
        
# Avec une fonction clé
words = ["apple", "banana", "cherry"]
print(min(words, key=len))  # Affiche : 'apple'

Fonction count()

La fonction count() est utilisée pour compter le nombre d'occurrences d'un élément dans un objet itérable, tel qu'une liste ou une chaîne de caractères. Elle est appelée sur une liste, une collection ou un itérateur.


numbers = [1, 2, 2, 3, 4, 2, 5]
print(numbers.count(2))  # Affiche : 3
    
text = "hello world"
print(text.count("o"))  # Affiche : 2

Fonction sum()

La fonction sum() renvoie la somme de tous les éléments d'un objet itérable. On peut optionnellement spécifier une valeur initiale qui sera ajoutée à la somme.


numbers = [1, 2, 3, 4, 5]
print(sum(numbers))  # Affiche : 15
    
# Avec une valeur initiale
print(sum(numbers, 10))  # Affiche : 25
    

1.3 Exécution de code

Et encore deux fonctions qui peuvent t'être utiles en tant que débutant :

  • eval()
  • exec()

Elles ont des capacités puissantes, mais nécessitent une utilisation prudente en raison des risques de sécurité potentiels. Voici des infos détaillées sur chacune de ces fonctions :

Fonction eval()

La fonction eval(expression) prend une chaîne et l'exécute comme une expression Python. Elle renvoie le résultat de l'exécution de cette expression. Utilisée pour évaluer des expressions sous forme de chaîne de caractères comme du code Python.

Exemples :


x = 10
result = eval("x + 5")
print(result)  # Affiche : 15

Fonction exec()

La fonction exec() prend une chaîne et l'exécute comme du code Python. Contrairement à eval(), qui exécute uniquement des expressions, exec() peut exécuter n'importe quelle instruction Python, y compris les définitions de fonctions, boucles et importation de modules. Cette fonction ne renvoie aucune valeur.

Utilisée pour exécuter des scripts dynamiques et définir de nouvelles fonctions ou classes pendant l'exécution du programme.


code = """
def greet(name):
    print(f"Hello, {name}!")
        
greet("Alice")
"""
exec(code)
# Affiche : Hello, Alice!

Important ! Tout comme eval(), exec() peut être dangereux lorsqu'il est utilisé avec des entrées non fiables. Sois prudent et évite d'utiliser exec() pour exécuter du code en production.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION