Null in Python: 7 use-cases met codevoorbeelden

Null in Python: 7 use-cases met codevoorbeelden

Bij het programmeren kunt u situaties tegenkomen waarin een variabele geen waarde heeft. Deze instanties worden gewoonlijk weergegeven door een speciale waarde die null wordt genoemd. Veel programmeertalen, zoals C, Java, JavaScript en PHP, hebben ingebouwde null-waarden, maar Python hanteert een iets andere benadering om null-variabelen weer te geven.

In Python is het equivalent van null Geen. Het is een speciale constante in Python die de afwezigheid van een waarde of een nulwaarde vertegenwoordigt. Het is een instantie van zijn eigen datatypehet NoneType. Het is niet hetzelfde als 0, False of een lege string, aangezien het een eigen gegevenstype is dat geen waarde of object vertegenwoordigt.

Null in Python: 7 use-cases met codevoorbeelden

Als je Python leert, is het belangrijk om het concept van Geen in Python te begrijpen. Het biedt u de middelen om efficiënte code te maken die randgevallen afhandelt. Terwijl je Python-programmering verkent, kom je verschillende scenario's tegen waarin Geen essentieel blijkt te zijn.

In dit artikel zullen we onderzoeken wat een null of geen is in Python. We zullen voorbeelden doornemen en cases gebruiken om u te helpen het concept van null-waarden te verstevigen. Maar laten we eerst het concept van Geen of Null-waarden in Python begrijpen.

Inhoudsopgave

Wat is Null in Python?

Om null in Python te begrijpen, moet u de volgende twee concepten begrijpen:

  1. Verschil tussen Geen en Null

  2. Geentype

1. Verschil tussen geen en nul

Null wordt in veel programmeertalen gebruikt om een ​​lege aanwijzer of een onbekende waarde aan te duiden. In deze talen kunt u de null-waarde als 0 definiëren.

In Python gebruikt u echter in plaats van null het sleutelwoord Geen om lege objecten en variabelen te definiëren. Geen heeft dezelfde doelen als null in andere talen. Maar het is een afzonderlijke entiteit en niet gedefinieerd als 0 of een andere waarde.

2. GeenType

In Python is None een uniek soort gegevensstructuur, geclassificeerd onder een type met de naam NoneType. Het is een eersteklas burger, wat betekent dat u het aan variabelen kunt toewijzen. U kunt het ook als argument doorgeven en als resultaat retourneren.

Wanneer u een variabele waarde toewijst Geen, wordt het een object NoneType. Geen is niet gelijk aan een lege tekenreeks, de Booleaanse waarde False of de numerieke waarde 0. Het betekent simpelweg een null-variabele of niets.

Nu u de terminologieën met betrekking tot geen begrijpt, gaan we verder en kijken hoe u Geen voor verschillende gebruikssituaties kunt gebruiken!

Geen gebruiken in Python

In Python kunt u Geen gebruiken voor een aantal use-cases. In deze sectie bekijken we 4 belangrijke use-cases van Geen in Python.

Null in Python: 7 use-cases met codevoorbeelden

Concreet kijken we naar de volgende use cases:

  1. Geen toewijzen aan variabelen

  2. Geen gebruiken als standaardparameter

  3. Controleren op Geen met identiteitsoperator

  4. Omgaan met ontbrekende waarden

Laten we erop ingaan!

1. Geen toekennen aan variabelen

U kunt Geen toekennen aan variabelen om de afwezigheid van een waarde aan te geven.

Bijvoorbeeld:

x = None

Geen betekent hier dat de waarde van x afwezig is of dat er nog geen geldige waarde is bepaald.

2. Geen gebruiken als standaardparameter

U kunt Geen gebruiken als standaardparameterwaarde om ook functies te definiëren. Dit is handig wanneer u optionele argumenten voor standaardparameters in uw functies wilt toestaan.

De volgende code laat zien hoe u None als standaardparameter gebruikt:

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")

Wanneer u deze code uitvoert, wordt " Hello, World!" wanneer je begroeten() aanroept zonder enig argument. Maar als je begroeten() aanroept met een argument, zoals begroeten("Alice"), wordt "Hallo, Alice!" afgedrukt. Hierdoor kan de functie optionele argumenten hebben.

Null in Python: 7 use-cases met codevoorbeelden

3. Controleren op geen met identiteitsoperator

U kunt de operator is identity gebruiken om te controleren of een variabele Geen is. Hiermee kunt u vergelijken of twee variabelen naar hetzelfde object verwijzen.

Het volgende is een voorbeeld om u te laten zien hoe u de identiteitsoperator gebruikt:

# 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")

In deze code zal var1 is Geen True retourneren omdat var1 de waarde Geen heeft gekregen. Aan de andere kant zal var2 is Geen False retourneren omdat var2 een tekenreekswaarde heeft.

De uitvoer voor het script wordt hieronder weergegeven:

Null in Python: 7 use-cases met codevoorbeelden

4. Omgaan met ontbrekende waarden

U kunt ook gegevens tegenkomen met ontbrekende waarden. U kunt deze ontbrekende waarden weergeven met Geen en ze dienovereenkomstig behandelen.

Het volgende is een voorbeeld van een lijst met nummers:

# 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))

Deze functie berekent de som van alle niet-Geen waarden in de lijst en deelt deze door het aantal niet-Geen waarden. Als alle waarden in de lijst Geen zijn, retourneert de functie Geen.

De uitvoer wordt hieronder gegeven:

Null in Python: 7 use-cases met codevoorbeelden

Door Geen en de verschillende hierboven genoemde technieken te gebruiken, kunt u ontbrekende waarden in Python effectief afhandelen.

Bekijk de volgende video voor meer informatie over het omgaan met ontbrekende waarden in Python:

Nog enkele use-cases van geen in Python

Afgezien van de use-cases die in het bovenstaande gedeelte zijn besproken, zijn er ook enkele andere use-cases van Geen. Deze use-cases worden niet vaak gebruikt, maar zijn goed om te weten en zijn nuttig in sommige scenario's.

In deze sectie bekijken we de volgende 3 use-cases van Geen in Python:

  1. Geen gebruiken in retourinstructies

  2. Geen gebruiken als vlaggen

  3. Geen gebruiken voor aangepaste objecten

Laten we erin duiken!

1. Geen gebruiken als retourverklaringen

U kunt Geen gebruiken in return-instructies, met name wanneer een functie de uitvoering voltooit zonder een specifiek resultaat te vinden.

Een functie die bijvoorbeeld naar een element in een lijst zoekt, kan Geen retourneren als het element niet wordt gevonden. De volgende code demonstreert het gebruik van Geen als retourwaarde:

# 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))

In deze code herhaalt de functie find_in_list de invoerlijst lst . Als het de doelwaarde vindt, retourneert het de index van die waarde. Als het de doelwaarde niet vindt na het controleren van de volledige lijst, retourneert het Geen.

De uitvoer wordt hieronder gegeven:

Null in Python: 7 use-cases met codevoorbeelden

2. Geen gebruiken als vlaggen

U kunt ook Geen als vlag gebruiken om de status van een variabele aan te geven. U kunt het bijvoorbeeld gebruiken om aan te geven of een waarde niet geïnitialiseerd is of om een ​​speciale voorwaarde in het programma bij te houden.

Het volgende is een voorbeeld van hoe u Geen als vlag kunt gebruiken:

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

In deze code wordt Geen gebruikt als vlag om aan te geven dat we nog geen even getal in de lijst hebben gevonden.

Als first_even_number nog steeds None is na de lus , betekent dit dat er geen even nummers in de lijst stonden.

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

Null in Python: 7 use-cases met codevoorbeelden

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 in Python: 7 use-cases met codevoorbeelden

Special Functions and Techniques for Null Object

We bespreken nu enkele speciale functies en technieken die u kunt gebruiken met betrekking tot NoneType en het afhandelen van null-waarden. We behandelen twee belangrijke subsecties:

  1. De Id-functie

  2. De Getattr-functie

1. Id-functie

De functie id() in Python is een ingebouwde functie die de identiteit van een object retourneert. Deze identiteit is een uniek en constant geheel getal dat tijdens zijn levensduur aan een object is toegewezen.

Hierdoor kunt u onderscheid maken tussen objecten met verschillende geheugenadressen. De functie is vooral handig bij het werken met NoneType-objecten, omdat deze kan worden gebruikt om te controleren op de aanwezigheid van None in variabelen of uitdrukkingen.

Het volgende is een voorbeeld waarbij de functie id() wordt gebruikt :

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)

De uitvoer van deze code wordt hieronder weergegeven:

Null in Python: 7 use-cases met codevoorbeelden

Omdat None een eersteklas burger is in Python, heeft het zijn eigen unieke identiteit. Dit betekent dat u de functie id() kunt gebruiken om variabelen te vergelijken met Geen door hun identiteit te gebruiken:

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

De uitvoer wordt hieronder gegeven:

Null in Python: 7 use-cases met codevoorbeelden

2. Getattr-functie

De functie getattr() is een andere ingebouwde Python-functie waarmee u de kenmerken van een object op naam kunt benaderen.

Gegeven een object en een tekenreeks, retourneert getattr() de waarde van het benoemde attribuut of het None-object als het attribuut niet bestaat.

Dit kan handig voor u zijn bij het omgaan met null-waarden, vooral in gevallen waarin u toegang moet hebben tot kenmerken die mogelijk ontbreken.

Het volgende is een voorbeeld waarbij de functie getattr() wordt gebruikt :

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

In het bovenstaande voorbeeld gebruiken we getattr() om toegang te krijgen tot het x-attribuut en proberen we toegang te krijgen tot een niet-bestaand z-attribuut.

Door een standaardwaarde van Geen op te geven, voorkomen we een AttributeError en ontvangen we in plaats daarvan het object Geen.

Als gevolg hiervan zorgt deze functie voor veilige attribuuttoegang, zelfs in de aanwezigheid van null-objecten of ontbrekende attributen.

De uitvoer van deze code wordt hieronder weergegeven:

Null in Python: 7 use-cases met codevoorbeelden

Null vergelijken in andere programmeertalen

Aan het begin van dit artikel hebben we een korte vergelijking gemaakt van Null in Python en Null in andere programmeertalen.

In deze sectie gaan we verder met dit onderwerp en vergelijken we Null in andere populaire programmeertalen met Null in Python. Dit zal je helpen het concept van Geen in Python beter te begrijpen als je een andere programmeerachtergrond hebt.

Laten we erop ingaan!

1. Nul in Java

In Java vertegenwoordigt het sleutelwoord "null" een verwijzing die niet naar een object of waarde verwijst. Het wordt gebruikt om de afwezigheid van een waarde aan te geven en wordt vaak gebruikt als de standaardwaarde voor objectreferenties.

Bijvoorbeeld:

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

Java's null is anders dan Python's None. Null staat voor het ontbreken van een object, terwijl None een echt object van NoneType is.

2. Nul in C

In de programmeertaal C wordt null weergegeven door een null-aanwijzer, die een niet-geïnitialiseerde of lege aanwijzer aangeeft. De null-aanwijzer wordt vaak weergegeven door de gehele waarde 0.

Het volgende is een voorbeeld van het gebruik van een null-pointer in C:

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

Null in C is niet gekoppeld aan een specifiek gegevenstype. Het dient als tijdelijke aanduiding voor niet-geïnitialiseerde of lege pointers.

3. Nul in PHP

In PHP vertegenwoordigt null een variabele zonder waarde of zonder referentie. Net als in andere talen wordt null gebruikt om niet-geïnitialiseerde of lege variabelen aan te duiden.

Het volgende is een voorbeeld van Null in PHP:

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

PHP's null is geen object van een specifiek gegevenstype, maar eerder een speciale constante die de afwezigheid van een waarde vertegenwoordigt.

Laatste gedachten

Tijdens je reis als Python-programmeur is het van groot belang om te leren over Geen-waarden. Het is een unieke functie die dienst doet als Python's manier om "niets hier" te zeggen.

Het is essentieel om de afwezigheid van een waarde weer te geven. Door Geen te begrijpen en correct te gebruiken, kunt u flexibelere functies maken met optionele argumenten en effectief omgaan met ontbrekende gegevens.

Bovendien zorgen Geen-waarden ervoor dat uw functies duidelijk kunnen communiceren wanneer iets afwezig is of wanneer niet aan een voorwaarde is voldaan. Bovendien is het begrijpen van Geen cruciaal bij het omgaan met databases, door de gebruiker gedefinieerde objecten of wanneer u variabelen moet initialiseren.

Deze handleiding over Geen-waarden in Python demonstreert enkele van de belangrijke scenario's waarin u het Geen-object in uw code wilt gebruiken.


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten