Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
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 datatype — het NoneType. Het is niet hetzelfde als 0, False of een lege string, aangezien het een eigen gegevenstype is dat geen waarde of object vertegenwoordigt.
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:
Verschil tussen Geen en Null
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.
Concreet kijken we naar de volgende use cases:
Geen toewijzen aan variabelen
Geen gebruiken als standaardparameter
Controleren op Geen met identiteitsoperator
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.
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:
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:
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:
Geen gebruiken in retourinstructies
Geen gebruiken als vlaggen
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:
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.
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:
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:
De Id-functie
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:
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:
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 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
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.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
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.
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.
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.
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.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
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