Null a Pythonban: 7 használati eset kódpéldákkal

A programozás során olyan helyzetekkel találkozhatunk, amikor egy változónak nincs értéke. Ezeket a példányokat általában egy null néven ismert speciális érték képviseli. Sok programozási nyelv, például a C, a Java, a JavaScript és a PHP rendelkezik beépített null értékkel, de a Python kissé más megközelítést alkalmaz a null változók ábrázolására.

Pythonban a null megfelelője a Nincs. Ez egy speciális állandó a Pythonban, amely az érték hiányát vagy nulla értékét jelzi. Ez a saját adattípusának egy példányaa NoneType. Ez nem ugyanaz, mint a 0, a False vagy egy üres karakterlánc, mivel ez egy saját adattípus, amely nem jelent értéket vagy objektumot.

Null a Pythonban: 7 használati eset kódpéldákkal

Ha Pythont tanul, fontos megérteni a Pythonban a None fogalmát. Eszközöket biztosít a hatékony kód létrehozásához, amely kezeli az éles eseteket. A Python programozás felfedezése során különféle forgatókönyvekkel találkozhat, ahol a None elengedhetetlennek bizonyul.

Ebben a cikkben megvizsgáljuk, hogy mit jelent a null vagy none a Pythonban. Példákat és eseteket fogunk áttekinteni, hogy segítsünk megszilárdítani a null értékek fogalmát. De először értsük meg a None vagy Null értékek fogalmát a Pythonban.

Tartalomjegyzék

Mi a Null a Pythonban?

A Python nullának megértéséhez meg kell értenie a következő két fogalmat:

  1. A None és a Null közötti különbség

  2. Nincs típus

1. A None és a Null közötti különbség

Számos programozási nyelvben a nulla üres mutatót vagy ismeretlen értéket jelöl. Ezekben a nyelvekben a null értéket 0-ként adhatja meg.

A Pythonban azonban a null helyett a None kulcsszót kell használni az üres objektumok és változók meghatározásához. A None ugyanazokat a célokat szolgálja, mint a null más nyelveken. De ez egy különálló entitás, és nincs meghatározva 0-ként vagy bármilyen más értékként.

2. NoneType

A Pythonban a None egy egyedi típusú adatstruktúra, amely a NoneType nevű típusba sorolható. Ez egy első osztályú állampolgár, vagyis hozzárendelheti változókhoz. Érvként is átadhatja, és eredményeként visszatérhet.

Ha egy változó értéket ad hozzá None, az NoneType objektummá válik. A None nem ekvivalens egy üres karakterlánccal, a logikai értékkel False vagy a numerikus 0 értékkel. Egyszerűen null változót vagy semmit sem jelent.

Most, hogy megértette a none-hoz kapcsolódó terminológiát, nézzük meg, hogyan használhatja a None-t különböző használati esetekben!

A None használata Pythonban

A Pythonban számos felhasználási esetben használhatja a None lehetőséget. Ebben a részben a Pythonban a None 4 fontos használati esetét nézzük meg.

Null a Pythonban: 7 használati eset kódpéldákkal

Konkrétan a következő használati eseteket fogjuk megvizsgálni:

  1. Egyik sem hozzárendelése a változókhoz

  2. A None használata alapértelmezett paraméterként

  3. Egyik sem keresése az azonosító operátorral

  4. Hiányzó értékek kezelése

Menjünk bele!

1. Nincs hozzárendelése a változókhoz

A None-t hozzárendelheti a változókhoz az érték hiányának jelzésére.

Például:

x = None

A None itt azt jelenti, hogy az x értéke hiányzik, vagy az érvényes érték még nincs eldöntve.

2. A Nincs beállítás alapértelmezett paraméterként

A None-t alapértelmezett paraméterértékként használhatja függvények meghatározásához is. Ez akkor hasznos, ha meg akarja engedélyezni az opcionális argumentumokat az alapértelmezett paraméterekhez a függvényekben.

A következő kód megmutatja, hogyan használhatja a None-t alapértelmezett paraméterként:

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

Amikor lefuttatja ezt a kódot, „Hello, World!” amikor minden érv nélkül meghívod a greet()-et. De ha a greet()-et egy érvvel hívod, például a greet(“Alice”), akkor kiírja, hogy „Hello, Alice!”. Ez lehetővé teszi, hogy a függvény opcionális argumentumokkal rendelkezzen.

Null a Pythonban: 7 használati eset kódpéldákkal

3. Nincs-e ellenőrzése az Identity Operator segítségével

Használhatja az is identitás operátort annak ellenőrzésére, hogy egy változó értéke None. Ez lehetővé teszi annak összehasonlítását, hogy két változó ugyanarra az objektumra vonatkozik-e.

Az alábbi példa bemutatja, hogyan kell használni az azonosító operátort:

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

Ebben a kódban a var1 értéke None True értéket ad vissza, mert a var1 értéke None lett hozzárendelve. Másrészt a var2 értéke None hamis értéket ad vissza, mivel a var2 karakterlánc-értékkel rendelkezik.

A szkript kimenete az alábbiakban látható:

Null a Pythonban: 7 használati eset kódpéldákkal

4. Hiányzó értékek kezelése

Hiányzó értékeket tartalmazó adatokkal is találkozhat. Ezeket a hiányzó értékeket a None értékkel ábrázolhatja, és ennek megfelelően kezelheti őket.

A következő példa egy számlista kezeléséhez:

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

Ez kiszámítja a listában szereplő összes nem-nincs érték összegét, és elosztja a nem-nincs értékek számával. Ha a listában az összes érték None, a függvény a None értéket adja vissza.

A kimenet az alábbiakban látható:

Null a Pythonban: 7 használati eset kódpéldákkal

A None és a fent említett különböző technikák használatával hatékonyan kezelheti a hiányzó értékeket a Pythonban.

Ha többet szeretne megtudni a hiányzó értékek Pythonban való kezeléséről, tekintse meg a következő videót:

Néhány további felhasználási eset a Pythonban

A fenti részben tárgyalt használati eseteken kívül a None-nak van néhány egyéb használati esete is. Ezek a használati esetek nem gyakran használtak, de jó tudni, és bizonyos esetekben hasznosak.

Ebben a részben a Pythonban a None következő 3 használati esetét tekintjük át:

  1. A None használata a return utasításokban

  2. A None használata zászlóként

  3. A None használata egyéni objektumokhoz

Merüljünk el benne!

1. A None használata visszáru nyilatkozatként

A None értéket használhatja a return utasításokban, különösen akkor, ha egy függvény úgy fejezi be a végrehajtását, hogy nem talál konkrét eredményt.

Például egy függvény, amely egy elemet keres egy listában, a None értéket adhatja vissza, ha az elem nem található. A következő kód azt mutatja be, hogy a None visszatérési értékként szerepel:

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

Ebben a kódban a find_in_list függvény az lst bemeneti listán ismétlődik . Ha megtalálja a célértéket, akkor az adott érték indexét adja vissza. Ha a teljes lista ellenőrzése után nem találja a célértéket, akkor a None értéket adja vissza.

A kimenet az alábbiakban látható:

Null a Pythonban: 7 használati eset kódpéldákkal

2. A Nincs beállítás használata zászlóként

A None-t jelzőként is használhatja a változó állapotának jelzésére. Használhatja például annak megjelölésére, hogy egy érték inicializálatlan-e, vagy egy speciális feltétel nyomon követésére szolgálhat a programban.

A következő egy példa arra, hogyan használhatja a None-t jelzőként:

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

Ebben a kódban a None (Nincs) jelzőként szolgál, jelezve, hogy még nem találtunk páros számot a listában.

Ha az első_páros_szám továbbra is None a , akkor ez azt jelenti, hogy nem voltak páros számok a listában.

Ha az első_páros_szám nem None, akkor a lista első páros számát tartalmazza.

Null a Pythonban: 7 használati eset kódpéldákkal

3. A Nincs lehetőség használata egyéni objektumokhoz

Egyéni, felhasználó által definiált objektumokhoz is használhatja a None-t. Amikor más objektumokat visszaadó attribútumokkal, tulajdonságokkal vagy metódusokkal foglalkozik, használhatja a None értéket az érték vagy kapcsolat hiányának jelzésére.

A következő példa bemutatja, hogyan használhatja a Nincs beállítást felhasználó által definiált objektumokhoz:

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

Ebben a példában a None a Személy példány legjobb_barát attribútumának alapértelmezett értéke . A get_best_friend_name metódus a legjobb barát nevét adja vissza, ha van, és a None-t, ha nincs.

A fenti kód a következőket adja ki:

Null a Pythonban: 7 használati eset kódpéldákkal

Speciális funkciók és technikák nullobjektumhoz

Most bemutatunk néhány speciális függvényt és technikát, amelyeket a NoneType-hoz és a null értékek kezeléséhez használhat. Két fő alszakaszt fogunk lefedni:

  1. Az azonosító függvény

  2. A Getattr függvény

1. Id függvény

Az id() függvény a Pythonban egy beépített függvény , amely visszaadja egy objektum azonosságát. Ez az identitás egy egyedi és állandó egész szám, amely egy objektumhoz van rendelve annak élettartama során.

Ez lehetővé teszi a különböző memóriacímű objektumok megkülönböztetését. A funkció különösen akkor hasznos, ha NoneType objektumokkal dolgozik, mivel használható a None jelenlétének ellenőrzésére a változókban vagy kifejezésekben.

A következő példa az id() függvény használatára:

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)

Ennek a kódnak a kimenete az alábbiakban látható:

Null a Pythonban: 7 használati eset kódpéldákkal

Mivel a None első osztályú állampolgár a Pythonban, megvan a maga egyedi identitása. Ez azt jelenti, hogy az id() függvénnyel összehasonlíthatja a változókat a None-val az azonosságuk alapján:

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

A kimenet az alábbiakban látható:

Null a Pythonban: 7 használati eset kódpéldákkal

2. Getattr függvény

A getattr() függvény egy másik beépített Python-függvény, amely lehetővé teszi az objektum attribútumainak név szerinti elérését.

Adott egy objektum és egy karakterlánc, a getattr() visszaadja a megnevezett attribútum értékét, vagy a None objektumot, ha az attribútum nem létezik.

Ez hasznos lehet a null értékek kezelésekor, különösen olyan esetekben, amikor olyan attribútumokhoz kell hozzáférni, amelyek esetleg hiányoznak.

A következő példa a getattr() függvény használatára:

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

A fenti példában a getattr() segítségével érjük el az x attribútumot, és megpróbáljuk elérni egy nem létező z attribútumot.

Az alapértelmezett None érték megadásával megakadályozzuk az AttributeError előfordulását, és helyette a None objektumot kapjuk.

Ennek eredményeként ez a funkció lehetővé teszi az attribútumok biztonságos elérését még null objektumok vagy hiányzó attribútumok jelenlétében is.

Ennek a kódnak a kimenete az alábbiakban látható:

Null a Pythonban: 7 használati eset kódpéldákkal

Null összehasonlítása más programozási nyelvekben

A cikk elején röviden összehasonlítottuk a Python nullát és más programozási nyelvek nullát.

Ebben a szakaszban továbbvisszük ezt a témát, és összehasonlítjuk a többi népszerű programozási nyelv Null-ját a Python Null-jával. Ez segít jobban megérteni a None fogalmát a Pythonban, ha más programozási háttérről érkezik.

Menjünk bele!

1. Null a Java nyelvben

Java nyelven a „null” kulcsszó olyan hivatkozást jelöl, amely nem mutat semmilyen objektumra vagy értékre. Érték hiányának jelzésére használják, és gyakran használják alapértelmezett értékként az objektumhivatkozásoknál.

Például:

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

A Java nulla eltér a Python None-tól. A nulla egy objektum hiányát jelenti, míg a None a NoneType tényleges objektuma.

2. C-ben nulla

A C programozási nyelvben a null értékét null mutató jelöli, amely inicializálatlan vagy üres mutatót jelez. A nullmutatót gyakran a 0 egész szám jelöli.

Az alábbiakban egy példa a null mutató használatára C-ben:

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

A C-ben szereplő nulla nem tartozik egy adott adattípushoz. Helyőrzőként szolgál az inicializálatlan vagy üres mutatók számára.

3. Null a PHP-ben

A PHP-ben a null olyan változót jelent, amelynek nincs értéke vagy nincs hivatkozás. Más nyelvekhez hasonlóan a nulla az inicializálatlan vagy üres változókat jelöli.

A következő egy példa a Null-ra PHP-ben:

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

A PHP null értéke nem egy adott adattípus objektuma, hanem egy speciális állandó, amely az érték hiányát jelzi.

Végső gondolatok

Python programozóként a None értékek megismerése nagyon fontos. Ez egy egyedülálló funkció, amely arra szolgál, hogy a Python azt mondja, hogy „itt semmi”.

Elengedhetetlen az érték hiányának megjelenítéséhez. A None megértésével és helyes használatával rugalmasabb függvényeket hozhat létre opcionális argumentumokkal, és hatékonyan kezelheti a hiányzó adatokat.

Ezenkívül a None értékek lehetővé teszik, hogy a függvények egyértelműen kommunikáljanak, ha valami hiányzik, vagy ha egy feltétel nem teljesül. Ezen túlmenően a None megértése kulcsfontosságú adatbázisokkal, felhasználó által definiált objektumokkal, vagy változók inicializálásával kapcsolatban.

Ez a Python None értékekről szóló útmutató bemutat néhány olyan fontos forgatókönyvet, amikor a None objektumot érdemes használni a kódban.


Arány- és gyakorisági táblázatok Excelben

Arány- és gyakorisági táblázatok Excelben

Az Excel gyakorisági táblázataiban, valamint az aránytáblázatokban készültek. Nos, nézze meg, mik ezek, és mikor kell használni őket.

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

Ismerje meg, hogyan töltheti le és telepítheti a DAX Studio és a Tabular Editor 3 alkalmazást, és hogyan konfigurálhatja őket a LuckyTemplates és az Excel programban való használatra.

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

Ez a blog tartalmazza a Shape Map vizualizációt a LuckyTemplates térbeli elemzéséhez. Megmutatom, hogyan használhatja hatékonyan ezt a vizualizációt annak funkcióival és elemeivel.

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

Ebben az oktatóanyagban egy egyedülálló ötletet mutatok be a pénzügyi jelentésekkel kapcsolatban, amely az eredmények hozzárendelését jelenti a LuckyTemplates-en belüli táblázatsablonok előre meghatározásához.

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

Hozzon létre DAX-mértékeket a LuckyTemplates alkalmazásban meglévő mértékek vagy képletek használatával. Ezt nevezem mértékelágazási technikának.

A legerősebb funkcióhívás a LuckyTemplatesben

A legerősebb funkcióhívás a LuckyTemplatesben

Ebben a blogban fedezze fel a LuckyTemplates adatkészletet, a leghatékonyabb függvényhívást, amely M- és DAX-függvények ezreit juttatja a keze ügyébe.

Adatmodellezési technikák a DAX-mérések megszervezéséhez

Adatmodellezési technikák a DAX-mérések megszervezéséhez

A mai oktatóanyagban megosztok néhány adatmodellezési technikát a DAX-mérések jobb rendszerezéséhez a hatékonyabb munkafolyamat érdekében.

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

A LuckyTemplates egy nagyszerű eszköz a pénzügyi jelentésekhez. Itt található egy oktatóanyag, amely bemutatja, hogyan hozhat létre személyre szabott táblázatokat a LuckyTemplates pénzügyi irányítópultjához.

A Power Query nyelvi folyamatának bevált gyakorlatai

A Power Query nyelvi folyamatának bevált gyakorlatai

Ez az oktatóanyag megvitatja a Power Query nyelvi folyamatot, és azt, hogyan segíthet zökkenőmentes és hatékony adatjelentések létrehozásában.

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

Az egyik kedvenc technikámról fogok beszélni a LuckyTemplates egyéni ikonok körül, amely dinamikusan használja az egyéni ikonokat a LuckyTemplates vizualizációkban.