Deze lezing gaat over een andere essentiële structuur in Python, een tuple genaamd.
tuples
Tuples lijken op lijsten, dus we kunnen ze gebruiken om een lijst met items op te slaan. Maar in tegenstelling tot lijsten kunnen we ze niet wijzigen, nieuwe items toevoegen of bestaande items verwijderen. We kunnen zeggen dat de tuples onveranderlijk zijn.
Laat me het je laten zien. Tupels worden geïdentificeerd door haakjes in plaats van de vierkante haken in lijsten.
numbers = (4, 1, 7, 5, 0, 9)
Als we nu de lijst met methoden voor tuples tevoorschijn halen, kun je zien dat we de methoden voor toevoegen of invoegen niet hebben, dus er kunnen geen nieuwe items aan deze tupel worden toegevoegd. We hebben maar twee methoden: tellen en indexeren.
We gebruiken "count" om het aantal keren dat een item voorkomt te tellen. De "index" wordt gebruikt om de index te vinden van het eerste voorkomen van een item. We kunnen dus alleen informatie krijgen over een tuple, en we kunnen het niet veranderen. Trouwens, deze andere methoden die je hier ziet, beginnen met twee onderstrepingstekens.
We noemen dit magische methoden. Ze zijn meer een geavanceerd onderwerp en we zullen ze in onze toekomstige serie bespreken.
Behalve dat ze onveranderlijk zijn, delen tuples de meeste kenmerken van een lijst.
Praktisch gesproken zul je meestal lijsten gebruiken, maar tupels zijn ook handig. Als je een lijst met items wilt maken en er zeker van wilt zijn dat je die lijst nergens in je programma per ongeluk wijzigt, kun je beter een tuple gebruiken.
uitpakken
In deze sectie ga ik je een krachtige functie laten zien, die we in python uitpakken hebben genoemd.
Laten we een tupel "coördinaat" definiëren
coordinate = (1, 2, 3)
Stel je nu voor dat dit de coördinaten zijn voor 'x', 'y' en 'z'. Laten we nu zeggen dat we deze waarden willen krijgen en ze in een paar complexe uitdrukkingen in ons programma willen gebruiken. Misschien willen we ze opnemen als onderdeel van een grote complexe formule.
Dus samen zullen we code als volgt moeten schrijven:
coordinate[0] * coordinate[1] * coordinate[2]
Deze regel code zal alle coördinaten vermenigvuldigen, maar het is inefficiënt om onze code op deze manier te schrijven. Laten we eerst een betere benadering gebruiken en deze coördinaten opslaan in afzonderlijke variabelen.
x = coordinate[0]
y = coordinate[1]
z = coordinate[2]
Dat is beter. Rechts? Dus tot nu toe niets nieuws. Laat me je nu een krachtige functie laten zien, uitpakken genaamd, en daarmee kunnen we hetzelfde resultaat bereiken met veel minder code.
x, y, z, = coordinate
Deze enkele regel code is exact gelijk aan de drie regels code die hierboven zijn geschreven. Laat me je uitleggen hoe het werkt.
Wanneer de Python-interpreter deze instructie ziet, krijgt hij het eerste item in deze tuple en wijst deze toe aan de variabele. Evenzo zullen tweede en derde items aan de variabelen worden toegewezen. Door dit te doen, pakken we deze tupel uit in 3 variabelen. Laten we onze output controleren.
Uitpakken kan ook met lijsten.
Woordenboeken
We gaan leren over woordenboeken in Python. We gebruiken woordenboeken in situaties waarin we informatie willen opslaan die als sleutel-waardeparen wordt geleverd.
Hier is een voorbeeld. Denk aan een klant met een heleboel attributen zoals naam, e-mail, telefoonnummer, adres, enzovoort. Elk van deze attributen heeft nu een waarde. Bijvoorbeeld:
name = Jay
email = [email protected]
In dit voorbeeld zijn onze sleutels naam, e-mail en telefoon. Elke sleutel is gekoppeld aan een waarde, dus hier gebruiken we een woordenboek. Met een woordenboek kunnen we een aantal sleutel-waardeparen opslaan. Laat me je laten zien hoe je een woordenboek in python definieert.
customer = {
"name": "Jay",
"email": "[email protected]",
"age": 30,
"is_verified": True
}
De sleutel kan worden ingesteld op tekenreeksen, getallen, boolean of wat dan ook. De sleutels zijn uniek en kunnen maar één keer worden gedefinieerd, dwz ik kan "leeftijd" niet opnieuw definiëren met een ander nummer. Ze zijn ook hoofdlettergevoelig.
Als ik nu typ customer["name"],
het zal de naam van de klant noemen. Laten we het op de terminal afdrukken:
We kunnen de methoden ook gebruiken met woordenboeken. Dezelfde functie die hierboven is gedemonstreerd, kan worden gerepliceerd met behulp van de "get" -methode.
Er is één specifiek verschil tussen de bovenstaande twee methoden. Laat me dat aantonen.
U kunt zien dat wanneer we gewoon een niet-bestaande sleutel afdrukten, dit resulteerde in een fout. Aan de andere kant resulteert het gebruik van de methode om niet-bestaande sleutels op te roepen in een "geen" resultaat dat de afwezigheid van een waarde vertegenwoordigt. Bij gebruik van de "get"-methode kunnen we ook een standaardwaarde opgeven.
Als dit woordenboek bijvoorbeeld geen "geboortedatum"-sleutel heeft, kunnen we het als volgt leveren:
customer.get("birthdate", "Jan 01, 1994")
We kunnen ook elke sleutel in het woordenboek bijwerken, vergelijkbaar met een lijst. Laten we zeggen dat we de naamsleutel in ons woordenboek willen bijwerken. Hier is hoe we het zullen doen.
customer["name"] = "Shahbaz"
Een vergelijkbare syntaxis kan ook worden gebruikt om een nieuwe sleutel aan ons woordenboek toe te voegen. Laten we de sleutel "geboortedatum" op dezelfde manier toevoegen.
customer["birthdate"] = "Jan 01, 1994"
Dit is dus de basis van het gebruik van woordenboeken in Python. Ze zijn extreem belangrijk en hebben veel toepassingen in de echte wereld.
Oefening
Je gaat een programma schrijven dat cijfers omzet in woorden zoals deze:
Oplossing
Hier is de oplossing voor jullie.
phone = input("Phone: ")
digits_mapping = {
"1": "One",
"2": "Two",
"3": "Three",
"4": "Four",
"5": "Five",
"6": "Six",
"7": "Seven",
"8": "Eight",
"9": "Nine",
"0": "Zero"
}
output = " "
for ch in phone:
output += digits_mapping.get(ch, "!") + " "
print(output)
Op dezelfde manier kun je andere leuke programma's bouwen, zoals een "emoji-converter". Veel plezier PYTHONERS!
Inpakken!
Ik hoop dat je genoten hebt van deze lezing. Vervolgens gaan we in op een belangrijk aspect van het programmeren in Python, de functies en parameters.
Laat een reactie achter