Null en Python : 7 cas dutilisation avec des exemples de code

Null en Python : 7 cas dutilisation avec des exemples de code

En programmation, vous pouvez rencontrer des situations où une variable n'a pas de valeur. Ces instances sont généralement représentées par une valeur spéciale appelée null. De nombreux langages de programmation, tels que C, Java, JavaScript et PHP, ont des valeurs nulles intégrées, mais Python adopte une approche légèrement différente pour représenter les variables nulles.

En Python, l'équivalent de null est None. C'est une constante spéciale en Python qui représente l'absence de valeur ou une valeur nulle. C'est une instance de son propre type de donnéesle NoneType. Ce n'est pas la même chose que 0, False ou une chaîne vide car c'est un type de données qui ne représente aucune valeur ou aucun objet.

Null en Python : 7 cas d'utilisation avec des exemples de code

Si vous apprenez Python, il est important de comprendre le concept de None en Python. Il vous fournit les moyens de créer un code efficace qui gère les cas extrêmes. En explorant la programmation Python, vous rencontrerez divers scénarios où None s'avère essentiel.

Dans cet article, nous allons explorer ce qu'est un null, ou aucun, en Python. Nous passerons en revue des exemples et des cas d'utilisation pour vous aider à consolider le concept de valeurs nulles. Mais d'abord, comprenons le concept de valeurs None ou Null en Python.

Table des matières

Qu'est-ce que Null en Python ?

Afin de comprendre null en Python, vous devrez comprendre les deux concepts suivants :

  1. Différence entre aucun et nul

  2. Aucun type

1. Différence entre aucun et nul

Null dans de nombreux langages de programmation est utilisé pour désigner un pointeur vide ou une valeur inconnue. Vous pouvez définir la valeur null comme 0 dans ces langages.

Cependant, en Python, au lieu de null, vous utilisez le mot-clé None pour définir des objets et des variables vides. None remplit certaines des mêmes fonctions que null dans d'autres langages. Mais c'est une entité distincte et non définie comme étant 0 ou toute autre valeur.

2. AucunType

En Python, None est un type unique de structure de données, classé sous un type appelé NoneType. C'est un citoyen de première classe, ce qui signifie que vous pouvez l'affecter à des variables. Vous pouvez également le passer en argument et le renvoyer comme résultat.

Lorsque vous affectez une valeur de variable None, elle devient un objet NoneType. None n'est pas équivalent à une chaîne vide, à la valeur booléenne False ou à la valeur numérique 0. Cela signifie simplement une variable nulle ou rien.

Maintenant que vous comprenez les terminologies liées à none, allons-y et voyons comment vous pouvez utiliser None pour différents cas d'utilisation !

Comment utiliser None en Python

En Python, vous pouvez utiliser None pour un certain nombre de cas d'utilisation. Dans cette section, nous examinerons 4 cas d'utilisation importants de None en Python.

Null en Python : 7 cas d'utilisation avec des exemples de code

Plus précisément, nous examinerons les cas d'utilisation suivants :

  1. Affectation de Aucun aux variables

  2. Utiliser Aucun comme paramètre par défaut

  3. Vérification de Aucun avec l'opérateur d'identité

  4. Gestion des valeurs manquantes

Allons-y !

1. Affectation de None aux variables

Vous pouvez affecter Aucun aux variables pour indiquer l'absence d'une valeur.

Par exemple:

x = None

Aucun ici signifie que la valeur de x est absente ou qu'une valeur valide n'a pas encore été décidée.

2. Utiliser Aucun comme paramètre par défaut

Vous pouvez également utiliser None comme valeur de paramètre par défaut pour définir des fonctions. Ceci est utile lorsque vous souhaitez autoriser des arguments facultatifs pour les paramètres par défaut dans vos fonctions.

Le code suivant vous montre comment utiliser None comme paramètre par défaut :

def greet(name=None):
    if name is None:
        print("Hello, World!")
    else:
        print(f"Hello, {name}!")

# Call the function without providing a name
greet()

# Call the function with a name
greet("Alice")

Lorsque vous exécutez ce code, il imprime "Hello, World!" lorsque vous appelez greet() sans aucun argument. Mais lorsque vous appelez greet() avec un argument, comme greet("Alice"), il affiche "Hello, Alice!". Cela permet à la fonction d'avoir des arguments facultatifs.

Null en Python : 7 cas d'utilisation avec des exemples de code

3. Vérifier aucun avec l'opérateur d'identité

Vous pouvez utiliser l' opérateur is identity pour vérifier si une variable est None. Cela vous permet de comparer si deux variables font référence au même objet.

Voici un exemple pour vous montrer comment utiliser l'opérateur d'identité :

# Define a variable with no value
var1 = None

# Define a variable with a value
var2 = "Hello, World!"

# Check if var1 is None
if var1 is None:
    print("var1 is None")
else:
    print("var1 is not None")

# Check if var2 is None
if var2 is None:
    print("var2 is None")
else:
    print("var2 is not None")

Dans ce code, var1 est None renverra True car var1 a reçu la valeur None. D'autre part, var2 est None renverra False car var2 a une valeur de chaîne.

La sortie du script est donnée ci-dessous :

Null en Python : 7 cas d'utilisation avec des exemples de code

4. Gestion des valeurs manquantes

Vous pouvez également rencontrer des données avec des valeurs manquantes. Vous pouvez représenter ces valeurs manquantes par Aucun et les gérer en conséquence.

Voici un exemple lorsqu'il s'agit d'une liste de nombres :

# Define a list of data with some missing values
data = [1, 2, 3, None, 5, None, 7, 8, None, 10]

def calculate_average(data):
    # Filter out None values using list comprehension
    valid_data = [value for value in data if value is not None]

    # Calculate average if valid_data is not empty
    average = sum(valid_data) / len(valid_data) if valid_data else None

    return average

# Call the function and print the result
print(calculate_average(data))

Cette fonction calcule la somme de toutes les valeurs non-Aucune de la liste et la divise par le nombre de valeurs non-Aucune. Si toutes les valeurs de la liste sont None, la fonction renvoie None.

La sortie est donnée ci-dessous :

Null en Python : 7 cas d'utilisation avec des exemples de code

En utilisant None et les différentes techniques mentionnées ci-dessus, vous pouvez gérer efficacement les valeurs manquantes en Python.

Pour en savoir plus sur la gestion des valeurs manquantes dans Python, regardez la vidéo suivante :

Quelques autres cas d'utilisation de None en Python

Outre les cas d'utilisation abordés dans la section ci-dessus, il existe également d'autres cas d'utilisation de None. Ces cas d'utilisation ne sont pas fréquemment utilisés mais sont bons à savoir et sont utiles dans certains scénarios.

Dans cette section, nous examinerons les 3 cas d'utilisation suivants de None en Python :

  1. Utilisation de None dans les instructions de retour

  2. Utiliser None comme drapeaux

  3. Utiliser Aucun pour les objets personnalisés

Plongeons-y !

1. Utiliser None comme déclarations de retour

Vous pouvez utiliser None dans les instructions de retour, en particulier lorsqu'une fonction termine son exécution sans trouver de résultat spécifique.

Par exemple, une fonction qui recherche un élément dans une liste peut renvoyer None si l'élément est introuvable. Le code suivant illustre l'utilisation de None comme valeur de retour :

# Define a list
numbers = [10, 20, 30, 40, 50]

def find_in_list(lst, target):
    for i, value in enumerate(lst):
        if value == target:
            return i
    return None

# Search for a number in the list
print(find_in_list(numbers, 30))  
print(find_in_list(numbers, 60))

Dans ce code, la fonction find_in_list itère sur la liste d'entrée lst . S'il trouve la valeur cible, il renvoie l'index de cette valeur. S'il ne trouve pas la valeur cible après avoir vérifié toute la liste, il renvoie None.

La sortie est donnée ci-dessous :

Null en Python : 7 cas d'utilisation avec des exemples de code

2. Utiliser None comme drapeaux

Vous pouvez également utiliser Aucun comme indicateur pour indiquer l'état d'une variable. Par exemple, vous pouvez l'utiliser pour marquer si une valeur n'est pas initialisée ou pour suivre une condition spéciale dans le programme.

Voici un exemple de la façon dont vous pouvez utiliser Aucun comme indicateur :

def find_first_even_number(numbers):
    # Initialize the first_even_number to None
    first_even_number = None

    # Iterate over the list of numbers
    for number in numbers:
        # If we find an even number and first_even_number is still None
        if number % 2 == 0 and first_even_number is None:
            first_even_number = number
            break

    return first_even_number

numbers = [1, 3, 5, 7, 8, 10]

# Call the function and print the result
print(find_first_even_number(numbers))  # Outputs: 8

Dans ce code, None est utilisé comme indicateur pour indiquer que nous n'avons pas encore trouvé de nombre pair dans la liste.

Si first_even_number est toujours None après la boucle , cela signifie qu'il n'y avait pas de nombres pairs dans la liste.

If first_even_number is not None, it contains the first even number from the list.

Null en Python : 7 cas d'utilisation avec des exemples de code

3. Using None for Custom Objects

You can use None for custom, user-defined objects, as well. When dealing with attributes, properties, or methods that return other objects, you might use None to signify the absence of a value or a relationship.

The following example demonstrates how you can use None for user-defined objects:

class Person:
    def __init__(self, name):
        self.name = name
        self.best_friend = None

    def set_best_friend(self, person):
        self.best_friend = person

    def get_best_friend_name(self):
        if self.best_friend is not None:
            return self.best_friend.name
        else:
            return None

# Create two Person objects
alice = Person('Alice')
bob = Person('Bob')

# Alice's best friend is Bob
alice.set_best_friend(bob)

print(alice.get_best_friend_name())  

# Charlie doesn't have a best friend
charlie = Person('Charlie')

print(charlie.get_best_friend_name())  

In this example, None is used as a default value for the best_friend attribute of a Person instance. The get_best_friend_name method returns the name of the best friend if there is one, and None if there isn’t.

The above code will output the following:

Null en Python : 7 cas d'utilisation avec des exemples de code

Special Functions and Techniques for Null Object

Nous allons maintenant discuter de certaines fonctions et techniques spéciales que vous pouvez utiliser liées à NoneType et à la gestion des valeurs nulles. Nous couvrirons deux sous-sections principales :

  1. La fonction d'identification

  2. La fonction Getattr

1. Fonction d'identification

La fonction id() en Python est une fonction intégrée qui renvoie l'identité d'un objet. Cette identité est un entier unique et constant attribué à un objet pendant sa durée de vie.

Cela vous permet de distinguer les objets avec des adresses mémoire différentes. La fonction est particulièrement utile lorsque vous travaillez avec des objets NoneType, car elle peut être utilisée pour vérifier la présence de None dans des variables ou des expressions.

Voici un exemple utilisant la fonction id() :

a = None
b = None
c = 42

print(id(a))  # Output: some unique integer representing None
print(id(b))  # Output: same integer as id(a)
print(id(c))  # Output: different integer from id(a) and id(b)

La sortie de ce code est donnée ci-dessous :

Null en Python : 7 cas d'utilisation avec des exemples de code

Étant donné que None est un citoyen de première classe en Python, il a sa propre identité unique. Cela signifie que vous pouvez utiliser la fonction id() pour comparer les variables à None en utilisant leurs identités :

if id(a) == id(None):
    print("a is None")

La sortie est donnée ci-dessous :

Null en Python : 7 cas d'utilisation avec des exemples de code

2. Fonction Getattr

La fonction getattr() est une autre fonction Python intégrée qui vous permet d'accéder aux attributs d'un objet par son nom.

Étant donné un objet et une chaîne, getattr() renvoie la valeur de l'attribut nommé ou l'objet None si l'attribut n'existe pas.

Cela peut vous être utile lors de la gestion des valeurs nulles, en particulier dans les cas où vous devez accéder à des attributs qui pourraient être manquants.

Voici un exemple utilisant la fonction getattr() :

class ExampleClass:
    def __init__(self, x, y):
        self.x = x
        self.y = y

example_obj = ExampleClass(3, 4)

# Access attribute using getattr
print(getattr(example_obj, "x"))  # Output: 3
print(getattr(example_obj, "z", None))  # Output: None

Dans l'exemple ci-dessus, nous utilisons getattr() pour accéder à l'attribut x et tentons d'accéder à un attribut z inexistant.

En fournissant une valeur par défaut de None, nous empêchons une AttributeError et recevons à la place l'objet None.

Par conséquent, cette fonction permet un accès sécurisé aux attributs même en présence d'objets nuls ou d'attributs manquants.

La sortie de ce code est donnée ci-dessous :

Null en Python : 7 cas d'utilisation avec des exemples de code

Comparaison de Null dans d'autres langages de programmation

Au début de cet article, nous avons fait une courte comparaison entre Null en Python et Null dans d'autres langages de programmation.

Dans cette section, nous allons avancer sur ce sujet et comparer Null dans d'autres langages de programmation populaires avec Null en Python. Cela vous aidera à mieux comprendre le concept de None en Python si vous venez d'un autre milieu de programmation.

Allons-y !

1. Null en Java

En Java, le mot-clé "null" représente une référence qui ne pointe vers aucun objet ou valeur. Il est utilisé pour indiquer l'absence d'une valeur et est souvent utilisé comme valeur par défaut pour les références d'objet.

Par exemple:

String myString = null; // Declare a String object with a null reference

Le null de Java est différent du None de Python. Null représente un manque d'objet, alors que None est un objet réel de NoneType.

2. Nul en C

Dans le langage de programmation C, null est représenté par un pointeur null, qui indique un pointeur non initialisé ou vide. Le pointeur nul est souvent représenté par la valeur entière 0.

Voici un exemple d'utilisation d'un pointeur nul en C :

int *myPointer = NULL; // Declare an integer pointer with a null reference

Null en C n'est pas associé à un type de données spécifique. Il sert d'espace réservé pour les pointeurs non initialisés ou vides.

3. Null en PHP

En PHP, null représente une variable sans valeur ou sans référence. Comme dans d'autres langages, null est utilisé pour désigner des variables non initialisées ou vides.

Voici un exemple de Null en PHP :

$myVar = NULL; // Declare a variable with a null reference

Le null de PHP n'est pas un objet d'un type de données spécifique mais plutôt une constante spéciale qui représente l'absence de valeur.

Dernières pensées

Dans votre parcours en tant que programmeur Python, l'apprentissage des valeurs None est d'une grande importance. C'est une fonctionnalité unique qui sert à Python de dire "rien ici".

C'est essentiel pour représenter l'absence de valeur. En comprenant et en utilisant correctement None, vous êtes en mesure de créer des fonctions plus flexibles avec des arguments facultatifs et de gérer efficacement les données manquantes.

De plus, les valeurs None permettent à vos fonctions de communiquer clairement quand quelque chose est absent ou quand une condition n'a pas été remplie. De plus, comprendre None est crucial lorsqu'il s'agit de bases de données, d'objets définis par l'utilisateur ou lorsque vous devez initialiser des variables.

Ce guide sur les valeurs None en Python illustre certains des scénarios importants dans lesquels vous souhaiterez utiliser l'objet None dans votre code.


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir