Null în Python: 7 cazuri de utilizare cu exemple de cod

În programare, puteți întâlni situații în care o variabilă nu are o valoare. Aceste instanțe sunt de obicei reprezentate de o valoare specială cunoscută sub numele de nul. Multe limbaje de programare, cum ar fi C, Java, JavaScript și PHP, au încorporate valori nule, dar Python adoptă o abordare ușor diferită pentru reprezentarea variabilelor nule.

În Python, echivalentul null este None. Este o constantă specială în Python care reprezintă absența unei valori sau a unei valori nule. Este o instanță a propriului tip de date - NoneType. Nu este același lucru cu 0, False sau un șir gol, deoarece este un tip de date propriu care nu reprezintă nicio valoare sau niciun obiect.

Null în Python: 7 cazuri de utilizare cu exemple de cod

Dacă înveți Python, înțelegerea conceptului de Nimic în Python este importantă. Vă oferă mijloacele de a crea cod eficient care se ocupă de cazurile marginale. Pe măsură ce explorați programarea Python, veți întâlni diverse scenarii în care Niciunul se dovedește a fi esențial.

În acest articol, vom explora ce este un nul, sau niciunul, în Python. Vom trece peste exemple și cazuri de utilizare pentru a vă ajuta să consolidați conceptul de valori nule. Dar mai întâi, să înțelegem conceptul de valori None, sau Null, în Python.

Cuprins

Ce este Null în Python?

Pentru a înțelege nulul în Python, va trebui să înțelegeți următoarele două concepte:

  1. Diferența dintre None și Null

  2. Niciun tip

1. Diferența dintre niciunul și nul

Null în multe limbaje de programare este folosit pentru a desemna un pointer gol sau o valoare necunoscută. Puteți defini valoarea nulă ca 0 în aceste limbi.

Cu toate acestea, în Python, în loc de null, utilizați cuvântul cheie None pentru a defini obiecte și variabile goale. Niciunul nu servește la aceleași scopuri ca null în alte limbi. Dar este o entitate distinctă și nu este definită ca 0 sau orice altă valoare.

2. NoneType

În Python, None este un tip unic de structură de date, clasificată sub un tip numit NoneType. Este un cetățean de primă clasă, ceea ce înseamnă că îl puteți atribui variabilelor. De asemenea, puteți să-l transmiteți ca argument și să reveniți ca rezultat.

Când atribuiți o valoare variabilă None, aceasta devine un obiect NoneType. Nici unul nu este echivalent cu un șir gol, cu valoarea booleană False sau cu valoarea numerică 0. Înseamnă pur și simplu variabilă nulă sau nimic.

Acum că înțelegeți terminologiile legate de none, să mergem mai departe și să vedem cum puteți utiliza None pentru diferite cazuri de utilizare!

Cum să utilizați Niciunul în Python

În Python, puteți utiliza None pentru un număr de cazuri de utilizare. În această secțiune, ne vom uita la 4 cazuri de utilizare importante ale None în Python.

Null în Python: 7 cazuri de utilizare cu exemple de cod

Mai exact, ne vom uita la următoarele cazuri de utilizare:

  1. Atribuirea niciunui variabilelor

  2. Folosind None ca parametru implicit

  3. Se verifică nici unul cu operator de identitate

  4. Gestionarea valorilor lipsă

Să intrăm în ea!

1. Atribuirea niciunui variabilelor

Puteți aloca None variabilelor pentru a indica absența unei valori.

De exemplu:

x = None

Nici unul aici nu înseamnă că valoarea lui x este absentă sau că nu a fost încă decisă o valoare validă.

2. Folosind None ca parametru implicit

Puteți utiliza None ca valoare implicită a parametrului pentru a defini și funcții. Acest lucru este util atunci când doriți să permiteți argumente opționale pentru parametrii impliciti în funcțiile dvs.

Următorul cod vă arată cum să utilizați None ca parametru implicit:

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

Când rulați acest cod, se afișează „Hello, World!” când apelați greet() fără niciun argument. Dar când apelați greet() cu un argument, cum ar fi greet(„Alice”), se afișează „Hello, Alice!”. Acest lucru permite funcției să aibă argumente opționale.

Null în Python: 7 cazuri de utilizare cu exemple de cod

3. Se verifică niciun operator cu identitate

Puteți utiliza operatorul is identity pentru a verifica dacă o variabilă este Niciuna. Acest lucru vă permite să comparați dacă două variabile se referă la același obiect.

Următorul este un exemplu pentru a vă arăta cum să utilizați operatorul de identitate:

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

În acest cod, var1 este None, va returna True deoarece var1 i s-a atribuit valoarea None. Pe de altă parte, var2 este None va returna False deoarece var2 are o valoare șir.

Ieșirea pentru script este dată mai jos:

Null în Python: 7 cazuri de utilizare cu exemple de cod

4. Gestionarea valorilor lipsă

De asemenea, puteți întâlni date cu valori lipsă. Puteți reprezenta aceste valori lipsă cu None și le puteți trata în consecință.

Următorul este un exemplu când aveți de-a face cu o listă de numere:

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

Această funcție calculează suma tuturor valorilor non-None din listă și o împarte la numărul de valori non-None. Dacă toate valorile din listă sunt None, funcția returnează None.

Rezultatul este dat mai jos:

Null în Python: 7 cazuri de utilizare cu exemple de cod

Folosind None și diferitele tehnici menționate mai sus, puteți gestiona eficient valorile lipsă în Python.

Pentru a afla mai multe despre gestionarea valorilor lipsă în Python, urmăriți următorul videoclip:

Mai multe cazuri de utilizare ale None în Python

În afară de cazurile de utilizare discutate în secțiunea de mai sus, există și alte cazuri de utilizare ale None. Aceste cazuri de utilizare nu sunt folosite frecvent, dar sunt bine de știut și sunt utile în unele scenarii.

În această secțiune, vom analiza următoarele 3 cazuri de utilizare ale None în Python:

  1. Folosind None în declarațiile de returnare

  2. Folosind None ca steaguri

  3. Folosind None pentru obiecte personalizate

Să ne aruncăm în ea!

1. Folosind None ca declarații de returnare

Puteți utiliza None în instrucțiunile return, în special atunci când o funcție își finalizează execuția fără a găsi un rezultat specific.

De exemplu, o funcție care caută un element dintr-o listă poate returna None dacă elementul nu este găsit. Următorul cod demonstrează utilizarea None ca valoare de returnare:

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

În acest cod, funcția find_in_list iterează peste lista de intrare lst . Dacă găsește valoarea țintă, returnează indexul acelei valori. Dacă nu găsește valoarea țintă după verificarea întregii liste, returnează Nimic.

Rezultatul este dat mai jos:

Null în Python: 7 cazuri de utilizare cu exemple de cod

2. Folosind None ca steaguri

De asemenea, puteți utiliza None ca indicator pentru a indica starea unei variabile. De exemplu, îl puteți folosi pentru a marca dacă o valoare este neinițializată sau pentru a urmări o condiție specială în program.

Următorul este un exemplu despre cum puteți utiliza None ca steag:

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

În acest cod, None este folosit ca indicator pentru a indica faptul că nu am găsit încă un număr par în listă.

Dacă first_even_number este încă None după bucla , aceasta înseamnă că nu au existat numere pare în listă.

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

Null în Python: 7 cazuri de utilizare cu exemple de cod

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 în Python: 7 cazuri de utilizare cu exemple de cod

Special Functions and Techniques for Null Object

Vom discuta acum câteva funcții și tehnici speciale pe care le puteți utiliza legate de NoneType și gestionarea valorilor nule. Vom acoperi două sub-secțiuni principale:

  1. Funcția Id

  2. Funcția Getattr

1. Funcția Id

Funcția id() din Python este o funcție încorporată care returnează identitatea unui obiect. Această identitate este un număr întreg unic și constant atribuit unui obiect în timpul vieții sale.

Acest lucru vă permite să distingeți între obiecte cu adrese de memorie diferite. Funcția este utilă în special atunci când lucrați cu obiecte NoneType, deoarece poate fi folosită pentru a verifica prezența lui None în variabile sau expresii.

Următorul este un exemplu de utilizare a funcției 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)

Rezultatul acestui cod este prezentat mai jos:

Null în Python: 7 cazuri de utilizare cu exemple de cod

Deoarece None este un cetățean de primă clasă în Python, are propria sa identitate unică. Aceasta înseamnă că puteți utiliza funcția id() pentru a compara variabilele cu None folosind identitățile lor:

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

Rezultatul este dat mai jos:

Null în Python: 7 cazuri de utilizare cu exemple de cod

2. Funcția Getattr

Funcția getattr() este o altă funcție Python încorporată care vă permite să accesați atributele unui obiect după nume.

Având în vedere un obiect și un șir, getattr() returnează valoarea atributului numit sau obiectul None dacă atributul nu există.

Acest lucru vă poate fi util atunci când manipulați valori nule, mai ales în cazurile în care trebuie să accesați atribute care ar putea lipsi.

Următorul este un exemplu de utilizare a funcției 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

În exemplul de mai sus, folosim getattr() pentru a accesa atributul x și pentru a încerca să accesăm un atribut z inexistent.

Prin furnizarea unei valori implicite None, prevenim o AttributeError și primim în schimb obiectul None.

Ca rezultat, această funcție permite accesul sigur la atribute chiar și în prezența obiectelor nule sau a atributelor lipsă.

Rezultatul acestui cod este prezentat mai jos:

Null în Python: 7 cazuri de utilizare cu exemple de cod

Compararea Null în alte limbaje de programare

La începutul acestui articol, am făcut o scurtă comparație între Null în Python și Null în alte limbaje de programare.

În această secțiune, vom continua acest subiect și vom compara Null în alte limbaje de programare populare cu Null în Python. Acest lucru vă va ajuta să înțelegeți mai bine conceptul de None în Python dacă veniți dintr-un mediu de programare diferit.

Să intrăm în ea!

1. Null în Java

În Java, cuvântul cheie „null” reprezintă o referință care nu indică niciun obiect sau valoare. Este folosit pentru a indica absența unei valori și este adesea folosit ca valoare implicită pentru referințele la obiect.

De exemplu:

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

Nulul Java este diferit de None al lui Python. Null reprezintă lipsa unui obiect, în timp ce None este un obiect real al NoneType.

2. Nulă în C

În limbajul de programare C, null este reprezentat de un pointer nul, care indică un pointer neinițializat sau gol. Pointerul nul este adesea reprezentat de valoarea întreagă 0.

Următorul este un exemplu de utilizare a unui pointer nul în C:

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

Nulul în C nu este asociat cu un anumit tip de date. Acesta servește ca substituent pentru pointerii neinițializați sau goale.

3. Nul în PHP

În PHP, null reprezintă o variabilă fără valoare sau fără referință. Ca și în alte limbi, null este folosit pentru a desemna variabile neinițializate sau goale.

Următorul este un exemplu de Null în PHP:

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

Nulul PHP nu este un obiect al unui anumit tip de date, ci mai degrabă o constantă specială care reprezintă absența unei valori.

Gânduri finale

În călătoria ta ca programator Python, învățarea despre valorile None este de mare importanță. Este o caracteristică unică care servește drept mod al lui Python de a spune „nimic aici”.

Este esențial pentru reprezentarea absenței unei valori. Înțelegând și utilizând corect Niciunul, puteți crea funcții mai flexibile cu argumente opționale și puteți gestiona eficient datele lipsă.

În plus, valorile None permit funcțiilor tale să comunice clar atunci când ceva este absent sau când o condiție nu a fost îndeplinită. Mai mult, înțelegerea None este crucială atunci când aveți de-a face cu baze de date, obiecte definite de utilizator sau când trebuie să inițializați variabile.

Acest ghid despre valorile None în Python demonstrează unele dintre scenariile importante în care veți dori să utilizați obiectul None în codul dvs.

Leave a Comment

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Cum să salvați și să încărcați un fișier RDS în R

Cum să salvați și să încărcați un fișier RDS în R

Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.

Introducere la filtrarea contextului în LuckyTemplates

Introducere la filtrarea contextului în LuckyTemplates

În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.

Idei de materializare pentru cache-urile de date în DAX Studio

Idei de materializare pentru cache-urile de date în DAX Studio

Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.

Raportare de afaceri folosind LuckyTemplates

Raportare de afaceri folosind LuckyTemplates

Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți