Null v Pythonu: 7 případů použití s ​​příklady kódu

Při programování se můžete setkat se situacemi, kdy proměnná nemá hodnotu. Tyto instance jsou běžně reprezentovány speciální hodnotou známou jako null. Mnoho programovacích jazyků, jako je C, Java, JavaScript a PHP, má vestavěné hodnoty null, ale Python používá mírně odlišný přístup k reprezentaci null proměnných.

V Pythonu je ekvivalentem null None. Je to speciální konstanta v Pythonu, která představuje nepřítomnost hodnoty nebo nulové hodnoty. Je to instance vlastního datového typuNoneType. Není to totéž jako 0, False nebo prázdný řetězec, protože je to vlastní datový typ, který nepředstavuje žádnou hodnotu nebo žádný objekt.

Null v Pythonu: 7 případů použití s ​​příklady kódu

Pokud se učíte Python, je důležité porozumět konceptu Žádné v Pythonu. Poskytuje vám prostředky k vytvoření efektivního kódu, který zvládne okrajové případy. Při prozkoumávání programování v Pythonu narazíte na různé scénáře, kde se žádný ukáže jako zásadní.

V tomto článku prozkoumáme, co je v Pythonu hodnota null nebo žádná. Projdeme si příklady a případy použití, které vám pomohou upevnit koncept nulových hodnot. Nejprve však porozuměme konceptu hodnot None nebo Null v Pythonu.

Obsah

Co je Null v Pythonu?

Abyste porozuměli null v Pythonu, musíte pochopit následující dva koncepty:

  1. Rozdíl mezi None a Null

  2. Žádný typ

1. Rozdíl mezi None a Null

Null se v mnoha programovacích jazycích používá k označení prázdného ukazatele nebo neznámé hodnoty. V těchto jazycích můžete definovat hodnotu null jako 0.

V Pythonu však místo null používáte klíčové slovo None k definování prázdných objektů a proměnných. Žádný slouží některým stejným účelům jako null v jiných jazycích. Ale je to samostatná entita a není definována jako 0 nebo jakákoli jiná hodnota.

2. ŽádnýTyp

V Pythonu je None jedinečný druh datové struktury, klasifikovaný pod typem nazvaným NoneType. Je to občan první třídy, což znamená, že jej můžete přiřadit k proměnným. Můžete to také předat jako argument a vrátit se jako výsledek.

Když proměnné přiřadíte hodnotu None, stane se objektem NoneType. None není ekvivalentní prázdnému řetězci, booleovské hodnotě False nebo číselné hodnotě 0. Znamená to jednoduše nulovou proměnnou nebo nic.

Nyní, když rozumíte terminologii související s none, pojďme se podívat, jak můžete None použít pro různé případy použití!

Jak používat None v Pythonu

V Pythonu můžete None použít pro řadu případů použití. V této části se podíváme na 4 důležité případy použití None v Pythonu.

Null v Pythonu: 7 případů použití s ​​příklady kódu

Konkrétně se podíváme na následující případy použití:

  1. Přiřazení None k proměnným

  2. Použití Žádné jako výchozí parametr

  3. Kontrola žádné s operátorem identity

  4. Manipulace s chybějícími hodnotami

Jdeme do toho!

1. Přiřazení Žádné k proměnným

Proměnným můžete přiřadit None, abyste označili absenci hodnoty.

Například:

x = None

Žádné zde znamená, že hodnota x chybí nebo ještě nebyla stanovena platná hodnota.

2. Použití Žádné jako výchozí parametr

Můžete použít None jako výchozí hodnotu parametru k definování funkcí. To je užitečné, když chcete povolit volitelné argumenty pro výchozí parametry ve vašich funkcích.

Následující kód ukazuje, jak použít None jako výchozí parametr:

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

Když spustíte tento kód, zobrazí se "Hello, World!" když zavoláte greet() bez jakéhokoli argumentu. Ale když zavoláte greet() s argumentem, jako greet(“Alice”), vypíše se “Ahoj, Alice!”. To umožňuje funkci mít volitelné argumenty.

Null v Pythonu: 7 případů použití s ​​příklady kódu

3. Kontrola, zda není žádná s operátorem identity

Operátor identity is můžete použít ke kontrole, zda je proměnná Žádná. To vám umožní porovnat, zda dvě proměnné odkazují na stejný objekt.

Níže je uveden příklad, který vám ukáže, jak používat operátor identity:

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

V tomto kódu var1 je None vrátí True, protože var1 byla přiřazena hodnota None. Na druhou stranu var2 is None vrátí hodnotu False, protože var2 má hodnotu řetězce.

Výstup pro skript je uveden níže:

Null v Pythonu: 7 případů použití s ​​příklady kódu

4. Zpracování chybějících hodnot

Můžete se také setkat s údaji s chybějícími hodnotami. Tyto chybějící hodnoty můžete reprezentovat pomocí None a podle toho s nimi zacházet.

Následuje příklad při práci se seznamem čísel:

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

Tím se vypočítá součet všech hodnot, které nejsou v seznamu, a vydělí se počtem hodnot, které nejsou žádné. Pokud jsou všechny hodnoty v seznamu None, funkce vrátí None.

Výstup je uveden níže:

Null v Pythonu: 7 případů použití s ​​příklady kódu

Pomocí None a různých výše zmíněných technik můžete efektivně zvládnout chybějící hodnoty v Pythonu.

Chcete-li se dozvědět více o zpracování chybějících hodnot v Pythonu, podívejte se na následující video:

Některé další případy použití žádné v Pythonu

Kromě případů použití popsaných v části výše existují také některé další případy použití Žádné. Tyto případy použití nejsou často používané, ale je dobré je znát a v některých scénářích jsou užitečné.

V této části se podíváme na následující 3 případy použití Žádné v Pythonu:

  1. Použití None v návratových příkazech

  2. Použití Žádné jako příznaky

  3. Použití Žádné pro vlastní objekty

Pojďme se do toho ponořit!

1. Použití Žádné jako prohlášení o vrácení

V příkazech return můžete použít None, zejména když funkce dokončí své provádění, aniž by našla konkrétní výsledek.

Například funkce, která hledá prvek v seznamu, může vrátit Žádné, pokud prvek není nalezen. Následující kód ukazuje použití None jako návratové hodnoty:

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

V tomto kódu funkce find_in_list iteruje přes vstupní seznam lst . Pokud nalezne cílovou hodnotu, vrátí index této hodnoty. Pokud po kontrole celého seznamu nenalezne cílovou hodnotu, vrátí Žádné.

Výstup je uveden níže:

Null v Pythonu: 7 případů použití s ​​příklady kódu

2. Použití Žádné jako příznaky

Můžete také použít None jako příznak k označení stavu proměnné. Můžete jej například použít k označení, zda je hodnota neinicializovaná, nebo ke sledování zvláštní podmínky v programu.

Následuje příklad toho, jak můžete použít None jako příznak:

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

V tomto kódu se None používá jako příznak, který označuje, že jsme v seznamu ještě nenašli sudé číslo.

Pokud je první_sudé_číslo za znakem stále žádné, znamená to, že v seznamu nebyla žádná sudá čísla.

Pokud first_even_number není None, obsahuje první sudé číslo ze seznamu.

Null v Pythonu: 7 případů použití s ​​příklady kódu

3. Použití Žádné pro vlastní objekty

None můžete použít také pro vlastní, uživatelem definované objekty. Při práci s atributy, vlastnostmi nebo metodami, které vracejí jiné objekty, můžete použít Žádné k označení absence hodnoty nebo vztahu.

Následující příklad ukazuje, jak můžete použít None pro uživatelem definované objekty:

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

V tomto příkladu je None použita jako výchozí hodnota pro atribut best_friend instance Person. Metoda get_best_friend_name vrací jméno nejlepšího přítele, pokud existuje, a None, pokud neexistuje.

Výše uvedený kód vypíše následující:

Null v Pythonu: 7 případů použití s ​​příklady kódu

Speciální funkce a techniky pro nulový objekt

Nyní probereme některé speciální funkce a techniky, které můžete použít v souvislosti s NoneType a zpracováním hodnot null. Probereme dvě hlavní podsekce:

  1. Funkce ID

  2. Funkce Getattr

1. Funkce ID

Funkce id() v Pythonu je vestavěná funkce , která vrací identitu objektu. Tato identita je jedinečné a konstantní celé číslo přiřazené objektu během jeho životnosti.

To umožňuje rozlišovat mezi objekty s různými adresami paměti. Funkce je užitečná zejména při práci s objekty NoneType, protože ji lze použít ke kontrole přítomnosti None v proměnných nebo výrazech.

Následuje příklad použití funkce 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)

Výstup tohoto kódu je uveden níže:

Null v Pythonu: 7 případů použití s ​​příklady kódu

Protože None je prvotřídní občan v Pythonu, má svou vlastní jedinečnou identitu. To znamená, že můžete použít funkci id() k porovnání proměnných s None pomocí jejich identit:

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

Výstup je uveden níže:

Null v Pythonu: 7 případů použití s ​​příklady kódu

2. Funkce Getattr

Funkce getattr () je další vestavěná funkce Pythonu, která vám umožňuje přistupovat k atributům objektu podle názvu.

Daný objekt a řetězec vrátí getattr() hodnotu pojmenovaného atributu nebo objektu None, pokud atribut neexistuje.

To vám může být užitečné při práci s hodnotami null, zejména v případech, kdy potřebujete získat přístup k atributům, které mohou chybět.

Následuje příklad použití funkce 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

Ve výše uvedeném příkladu používáme getattr() k přístupu k atributu x a pokusu o přístup k neexistujícímu atributu z.

Poskytnutím výchozí hodnoty None zabráníme AttributeError a místo toho obdržíme objekt None.

Výsledkem je, že tato funkce umožňuje bezpečný přístup k atributům i v případě přítomnosti prázdných objektů nebo chybějících atributů.

Výstup tohoto kódu je uveden níže:

Null v Pythonu: 7 případů použití s ​​příklady kódu

Porovnání Null v jiných programovacích jazycích

Na začátku tohoto článku jsme provedli krátké srovnání Null v Pythonu a Null v jiných programovacích jazycích.

V této části toto téma posuneme vpřed a porovnáme Null v jiných oblíbených programovacích jazycích s Null v Pythonu. To vám pomůže lépe porozumět konceptu None v Pythonu, pokud pocházíte z jiného programátorského prostředí.

Jdeme do toho!

1. Null v Javě

V Javě představuje klíčové slovo „null“ odkaz, který neukazuje na žádný objekt nebo hodnotu. Používá se k označení nepřítomnosti hodnoty a často se používá jako výchozí hodnota pro odkazy na objekty.

Například:

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

Null v Javě se liší od None v Pythonu. Null představuje nedostatek objektu, zatímco None je skutečný objekt NoneType.

2. Null v C

V programovacím jazyce C je null reprezentován nulovým ukazatelem, který označuje neinicializovaný nebo prázdný ukazatel. Nulový ukazatel je často reprezentován celočíselnou hodnotou 0.

Následuje příklad použití nulového ukazatele v C:

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

Null v C není přidružen ke konkrétnímu datovému typu. Slouží jako zástupný symbol pro neinicializované nebo prázdné ukazatele.

3. Null v PHP

V PHP představuje null proměnnou bez hodnoty nebo bez odkazu. Stejně jako v jiných jazycích se null používá k označení neinicializovaných nebo prázdných proměnných.

Následuje příklad Null v PHP:

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

Hodnota null PHP není objekt specifického datového typu, ale spíše speciální konstanta, která představuje absenci hodnoty.

Závěrečné myšlenky

Na vaší cestě programátora Pythonu je velmi důležité naučit se hodnoty None. Je to jedinečná funkce, která slouží jako způsob, jakým Python říká „zde nic“.

Je to nezbytné pro vyjádření absence hodnoty. Pochopením a správným používáním None budete schopni vytvářet flexibilnější funkce s volitelnými argumenty a efektivně zpracovávat chybějící data.

Kromě toho hodnoty Žádné umožňují vašim funkcím jasně komunikovat, když něco chybí nebo když není splněna podmínka. Pochopení None je navíc zásadní při práci s databázemi, uživatelsky definovanými objekty nebo když potřebujete inicializovat proměnné.

Tato příručka o hodnotách None v Pythonu ukazuje některé důležité scénáře, kdy budete chtít ve svém kódu použít objekt None.


Tabulky proporcí a četností v Excelu

Tabulky proporcí a četností v Excelu

Chtěli jsme se ponořit do tabulek četností v Excelu a také do tabulek proporcí. Podívejte se, co to je a kdy je použít.

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Zistite, ako stiahnuť a nainštalovať DAX Studio a Tabular Editor 3 a ako ich nakonfigurovať na použitie v LuckyTemplates a v Exceli.

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

Tento blog obsahuje vizualizáciu Shape Map pre priestorovú analýzu v LuckyTemplates. Ukážem vám, ako môžete efektívne využiť túto vizualizáciu s jej funkciami a prvkami.

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

V tomto návode predstavujem jedinečný nápad týkajúci sa finančného výkazníctva, ktorý spočíva v prideľovaní výsledkov na vopred určené šablóny tabuliek v rámci LuckyTemplates.

DAX měří v LuckyTemplates pomocí Measure Branching

DAX měří v LuckyTemplates pomocí Measure Branching

Vytvářejte míry DAX v LuckyTemplates pomocí existujících mír nebo vzorců. Tomu říkám technika větvení opatření.

Najvýkonnejšie volanie funkcie v LuckyTemplates

Najvýkonnejšie volanie funkcie v LuckyTemplates

V tomto blogu preskúmajte množinu údajov LuckyTemplates, najvýkonnejšie volanie funkcií, ktoré vám prináša tisíce funkcií M a DAX na dosah ruky.

Techniky modelovania údajov na organizáciu opatrení DAX

Techniky modelovania údajov na organizáciu opatrení DAX

V dnešnom návode sa podelím o niekoľko techník modelovania údajov o tom, ako lepšie usporiadať vaše merania DAX pre efektívnejší pracovný tok.

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates je skvelý nástroj pre finančné výkazníctvo. Tu je návod, ako vytvoriť prispôsobené tabuľky pre váš finančný dashboard LuckyTemplates.

Osvedčené postupy toku jazyka Power Query

Osvedčené postupy toku jazyka Power Query

V tomto návode sa bude diskutovať o toku jazyka Power Query a o tom, ako môže pomôcť vytvoriť hladkú a efektívnu zostavu údajov.

LuckyTemplates vlastní ikony | Vizualizační technika PBI

LuckyTemplates vlastní ikony | Vizualizační technika PBI

Budu diskutovat o jedné z mých oblíbených technik kolem vlastních ikon LuckyTemplates, která používá vlastní ikony dynamickým způsobem ve vizuálech LuckyTemplates.