Null i Python: 7 brukstilfeller med kodeeksempler

I programmering kan du støte på situasjoner der en variabel ikke har en verdi. Disse forekomstene er vanligvis representert av en spesiell verdi kjent som null. Mange programmeringsspråk, som C, Java, JavaScript og PHP, har innebygde nullverdier, men Python tar en litt annen tilnærming til å representere nullvariabler.

I Python er ekvivalenten til null Ingen. Det er en spesiell konstant i Python som representerer fraværet av en verdi eller en nullverdi. Det er en forekomst av sin egen datatype - NoneType. Det er ikke det samme som 0, False eller en tom streng, da det er en egen datatype som ikke representerer noen verdi eller intet objekt.

Null i Python: 7 brukstilfeller med kodeeksempler

Hvis du lærer Python, er det viktig å forstå konseptet Ingen i Python. Det gir deg midler til å lage effektiv kode som håndterer kantsaker. Når du utforsker Python-programmering, vil du komme over forskjellige scenarier der Ingen viser seg å være avgjørende.

I denne artikkelen skal vi utforske hva en null, eller ingen, er i Python. Vi vil gå gjennom eksempler og bruke tilfeller for å hjelpe deg med å styrke konseptet med nullverdier. Men først, la oss forstå konseptet med None, eller Null, verdier i Python.

Innholdsfortegnelse

Hva er Null i Python?

For å forstå null i Python, må du forstå følgende to konsepter:

  1. Forskjellen mellom Ingen og Null

  2. Ingen type

1. Forskjellen mellom ingen og null

Null i mange programmeringsspråk brukes for å angi en tom peker eller en ukjent verdi. Du kan definere nullverdien som 0 på disse språkene.

I Python, i stedet for null, bruker du imidlertid nøkkelordet None for å definere tomme objekter og variabler. Ingen tjener noen av de samme formålene som null på andre språk. Men det er en distinkt enhet og ikke definert til å være 0 eller noen annen verdi.

2. NoneType

I Python er None en unik type datastruktur, klassifisert under en type kalt NoneType. Det er en førsteklasses borger, noe som betyr at du kan tilordne den til variabler. Du kan også sende det som et argument og returnere som et resultat.

Når du tilordner en variabelverdi None, blir den et NoneType-objekt. Ingen tilsvarer ikke en tom streng, den boolske verdien False eller den numeriske verdien 0. Det betyr ganske enkelt null-variabel eller ingenting.

Nå som du forstår terminologiene knyttet til ingen, la oss gå videre og se hvordan du kan bruke Ingen for forskjellige brukstilfeller!

Hvordan bruke Ingen i Python

I Python kan du bruke None for en rekke brukstilfeller. I denne delen skal vi se på 4 viktige brukstilfeller av Ingen i Python.

Null i Python: 7 brukstilfeller med kodeeksempler

Spesifikt skal vi se på følgende brukstilfeller:

  1. Tilordne Ingen til variabler

  2. Bruker Ingen som standardparameter

  3. Sjekker for Ingen med identitetsoperatør

  4. Håndtering av manglende verdier

La oss komme inn i det!

1. Tilordne ingen til variabler

Du kan tilordne Ingen til variabler for å indikere fravær av en verdi.

For eksempel:

x = None

Ingen her betyr at verdien av x er fraværende eller at en gyldig verdi ikke er bestemt ennå.

2. Bruke Ingen som standardparameter

Du kan bruke Ingen som standard parameterverdi for å definere funksjoner også. Dette er nyttig når du vil tillate valgfrie argumenter for standardparametere i funksjonene dine.

Følgende kode viser deg hvordan du bruker Ingen som standardparameter:

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

Når du kjører denne koden, er den "Hei, verden!" når du ringer greet() uten argument. Men når du kaller greet() med et argument, som greet(“Alice”), skrives det ut “Hei, Alice!”. Dette lar funksjonen ha valgfrie argumenter.

Null i Python: 7 brukstilfeller med kodeeksempler

3. Se etter ingen med identitetsoperatør

Du kan bruke is- identitetsoperatoren for å sjekke om en variabel er Ingen. Dette lar deg sammenligne om to variabler refererer til samme objekt.

Følgende er et eksempel for å vise deg hvordan du bruker identitetsoperatøren:

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

I denne koden vil var1 er None returnere True fordi var1 ble tildelt verdien None. På den annen side, var2 er Ingen vil returnere False fordi var2 har en strengverdi.

Utdataene for skriptet er gitt nedenfor:

Null i Python: 7 brukstilfeller med kodeeksempler

4. Håndtering av manglende verdier

Du kan også støte på data med manglende verdier. Du kan representere disse manglende verdiene med Ingen og håndtere dem deretter.

Følgende er et eksempel når du arbeider med en liste med tall:

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

Dette beregner summen av alle ikke-Ingen-verdier i listen og deler den på antallet ikke-Ingen-verdier. Hvis alle verdiene i listen er Ingen, returnerer funksjonen Ingen.

Utgangen er gitt nedenfor:

Null i Python: 7 brukstilfeller med kodeeksempler

Ved å bruke None og de forskjellige teknikkene nevnt ovenfor, kan du effektivt håndtere manglende verdier i Python.

For å lære mer om håndtering av manglende verdier i Python, sjekk følgende video:

Noen flere brukstilfeller av ingen i Python

Bortsett fra brukstilfellene som er omtalt i avsnittet ovenfor, er det også noen andre brukstilfeller av Ingen. Disse brukstilfellene er ikke ofte brukte, men er gode å vite og er nyttige i enkelte scenarier.

I denne delen skal vi se gjennom følgende 3 brukstilfeller av Ingen i Python:

  1. Bruker ingen i retur-erklæringer

  2. Bruker ingen som flagg

  3. Bruke Ingen for egendefinerte objekter

La oss dykke ned i det!

1. Bruke Ingen som returerklæringer

Du kan bruke None in return-setninger, spesielt når en funksjon fullfører utførelsen uten å finne et spesifikt resultat.

For eksempel kan en funksjon som søker etter et element i en liste returnere Ingen hvis elementet ikke finnes. Følgende kode viser bruk av Ingen som returverdi:

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

I denne koden itererer funn_i_liste- funksjonen over inndatalisten lst . Hvis den finner målverdien, returnerer den indeksen for den verdien. Hvis den ikke finner målverdien etter å ha sjekket hele listen, returnerer den Ingen.

Utgangen er gitt nedenfor:

Null i Python: 7 brukstilfeller med kodeeksempler

2. Bruke Ingen som flagg

Du kan også bruke Ingen som flagg for å indikere tilstanden til en variabel. Du kan for eksempel bruke den til å markere om en verdi ikke er initialisert eller for å spore en spesiell tilstand i programmet.

Følgende er et eksempel på hvordan du kan bruke Ingen som flagg:

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

I denne koden brukes Ingen som et flagg for å indikere at vi ikke har funnet et partall i listen ennå.

Hvis first_even_number fortsatt er Ingen etter , betyr dette at det ikke var noen partall i listen.

Hvis første partall ikke er Ingen, inneholder det det første partall fra listen.

Null i Python: 7 brukstilfeller med kodeeksempler

3. Bruke Ingen for egendefinerte objekter

Du kan også bruke Ingen for egendefinerte, brukerdefinerte objekter. Når du arbeider med attributter, egenskaper eller metoder som returnerer andre objekter, kan du bruke Ingen for å angi fraværet av en verdi eller en relasjon.

Følgende eksempel viser hvordan du kan bruke Ingen for brukerdefinerte objekter:

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

I dette eksemplet brukes None som standardverdi for best_friend- attributtet til en Person-forekomst. Metoden get_best_friend_name returnerer navnet på bestevennen hvis det er en, og Ingen hvis det ikke er det.

Koden ovenfor vil gi ut følgende:

Null i Python: 7 brukstilfeller med kodeeksempler

Spesielle funksjoner og teknikker for nullobjekt

Vi skal nå diskutere noen spesielle funksjoner og teknikker som du kan bruke relatert til NoneType og håndtering av nullverdier. Vi vil dekke to hovedunderseksjoner:

  1. ID-funksjonen

  2. Getattr-funksjonen

1. ID-funksjon

id () -funksjonen i Python er en innebygd funksjon som returnerer identiteten til et objekt. Denne identiteten er et unikt og konstant heltall som tildeles et objekt i løpet av dets levetid.

Dette lar deg skille mellom objekter med forskjellige minneadresser. Funksjonen er spesielt nyttig når du arbeider med NoneType-objekter, siden den kan brukes til å sjekke for tilstedeværelsen av None i variabler eller uttrykk.

Følgende er et eksempel som bruker id()- funksjonen:

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)

Utgangen av denne koden er gitt nedenfor:

Null i Python: 7 brukstilfeller med kodeeksempler

Siden None er en førsteklasses borger i Python, har den sin egen unike identitet. Dette betyr at du kan bruke funksjonen id() til å sammenligne variabler med Ingen ved å bruke deres identiteter:

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

Utgangen er gitt nedenfor:

Null i Python: 7 brukstilfeller med kodeeksempler

2. Getattr Funksjon

Funksjonen getattr() er en annen innebygd Python-funksjon som lar deg få tilgang til et objekts attributter etter navn.

Gitt et objekt og en streng, returnerer getattr() verdien av det navngitte attributtet eller None-objektet hvis attributtet ikke eksisterer.

Dette kan være nyttig for deg når du håndterer nullverdier, spesielt i tilfeller der du trenger tilgang til attributter som kan mangle.

Følgende er et eksempel som bruker getattr() -funksjonen:

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

I eksemplet ovenfor bruker vi getattr() for å få tilgang til x-attributtet og forsøke å få tilgang til et ikke-eksisterende z-attributt.

Ved å angi standardverdien None, forhindrer vi en AttributeError og mottar i stedet None-objektet.

Som et resultat tillater denne funksjonen sikker attributttilgang selv i nærvær av null-objekter eller manglende attributter.

Utgangen av denne koden er gitt nedenfor:

Null i Python: 7 brukstilfeller med kodeeksempler

Sammenligning av Null i andre programmeringsspråk

I starten av denne artikkelen gjorde vi en kort sammenligning av Null i Python og Null på andre programmeringsspråk.

I denne delen tar vi dette emnet videre og sammenligner Null i andre populære programmeringsspråk med Null i Python. Dette vil hjelpe deg bedre å forstå konseptet med Ingen i Python hvis du kommer fra en annen programmeringsbakgrunn.

La oss komme inn i det!

1. Null i Java

I Java representerer "null" nøkkelordet en referanse som ikke peker til noe objekt eller verdi. Den brukes til å indikere fravær av en verdi og brukes ofte som standardverdi for objektreferanser.

For eksempel:

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

Javas null er forskjellig fra Pythons None. Null representerer mangel på et objekt, mens None er et faktisk objekt av NoneType.

2. Null i C

I programmeringsspråket C er null representert av en null-peker, som indikerer en uinitialisert eller tom peker. Nullpekeren er ofte representert med heltallsverdien 0.

Følgende er et eksempel på bruk av en null-peker i C:

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

Null i C er ikke knyttet til en bestemt datatype. Den fungerer som en plassholder for uinitialiserte eller tomme pekere.

3. Null i PHP

I PHP representerer null en variabel uten verdi eller ingen referanse. Som på andre språk, brukes null for å betegne uinitialiserte eller tomme variabler.

Følgende er et eksempel på Null i PHP:

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

PHPs null er ikke et objekt av en bestemt datatype, men snarere en spesiell konstant som representerer fraværet av en verdi.

Siste tanker

På reisen din som Python-programmerer er det av stor betydning å lære om Ingen-verdier. Det er en unik funksjon som fungerer som Pythons måte å si "ingenting her."

Det er viktig for å representere fraværet av en verdi. Ved å forstå og bruke Ingen på riktig måte, kan du lage mer fleksible funksjoner med valgfrie argumenter og effektivt håndtere manglende data.

Videre lar ingen-verdiene dine funksjoner kommunisere tydelig når noe er fraværende eller når en betingelse ikke er oppfylt. Dessuten er det avgjørende å forstå Ingen når du arbeider med databaser, brukerdefinerte objekter eller når du trenger å initialisere variabler.

Denne veiledningen om None-verdier i Python demonstrerer noen av de viktige scenariene der du vil bruke None-objektet i koden din.


LuckyTemplates Shape Map Visualization for romlig analyse

LuckyTemplates Shape Map Visualization for romlig analyse

Denne bloggen inneholder Shape Map-visualiseringen for romlig analyse i LuckyTemplates. Jeg viser deg hvordan du kan bruke denne visualiseringen effektivt med dens funksjoner og elementer.

LuckyTemplates finansiell rapportering: Allokering av resultater til maler på hver enkelt rad

LuckyTemplates finansiell rapportering: Allokering av resultater til maler på hver enkelt rad

I denne opplæringen viser jeg frem en unik idé rundt finansiell rapportering, som tildeler resultater for å forhåndsbestemme tabellmaler inne i LuckyTemplates.

DAX-mål i LuckyTemplates ved hjelp av måleforgrening

DAX-mål i LuckyTemplates ved hjelp av måleforgrening

Opprett DAX-mål i LuckyTemplates ved å bruke eksisterende mål eller formler. Dette er det jeg kaller tiltaket forgreningsteknikk.

Den kraftigste funksjonsanropet i LuckyTemplates

Den kraftigste funksjonsanropet i LuckyTemplates

I denne bloggen kan du utforske LuckyTemplates-datasettet, det kraftigste funksjonskallet som bringer tusenvis av M- og DAX-funksjoner til fingertuppene.

Datamodelleringsteknikker for å organisere DAX-mål

Datamodelleringsteknikker for å organisere DAX-mål

For dagens veiledning vil jeg dele noen få datamodelleringsteknikker for hvordan du kan organisere DAX-tiltakene dine bedre for en mer effektiv arbeidsflyt.

LuckyTemplates Financial Dashboard: Komplette tabelltilpasningstips

LuckyTemplates Financial Dashboard: Komplette tabelltilpasningstips

LuckyTemplates er et flott verktøy for finansiell rapportering. Her er en veiledning om hvordan du lager tilpassede tabeller for ditt LuckyTemplates økonomiske dashbord.

Gode ​​fremgangsmåter for Power Query Language Flow

Gode ​​fremgangsmåter for Power Query Language Flow

Denne opplæringen vil diskutere Power Query Language Flow og hvordan den kan bidra til å lage en jevn og effektiv datarapport.

LuckyTemplates egendefinerte ikoner | PBI visualiseringsteknikk

LuckyTemplates egendefinerte ikoner | PBI visualiseringsteknikk

Jeg vil diskutere en av mine favorittteknikker rundt LuckyTemplates egendefinerte ikoner, som bruker egendefinerte ikoner på en dynamisk måte i LuckyTemplates visuals.

Opprette LuckyTemplates-tabeller ved å bruke UNION & ROW-funksjonen

Opprette LuckyTemplates-tabeller ved å bruke UNION & ROW-funksjonen

I denne bloggen viser jeg deg hvordan du kan lage LuckyTemplates-tabeller ved å bruke en formel som kombinerer UNION-funksjonen og ROW-funksjonen.

On-Premises Data Gateway In Power Automate

On-Premises Data Gateway In Power Automate

Oppdag hvordan on-premises data gateway lar Power Automate få tilgang til skrivebordsapplikasjoner når brukeren er borte fra datamaskinen.