Welkom terug.
Nu gaan we een groot deel van deze cursus besteden aan het bouwen van enkele projecten
en het gebruiken van enkele ingebouwde python-modules, evenals het gebruik van enkele populaire bibliotheken van derden uit Python Package Index.
Ik wilde je echter een korte video laten zien over enkele van de handige modules die ik persoonlijk
leuk vind in de ingebouwde modules die we van Python hebben.
En sommige van deze echt nuttige modules stellen ons in staat om meer gegevenstypen in Python te hebben.
Onthoud deze lijst aan het begin van de cursus, waar ik sprak over de gegevenstypen die
bij Python worden geleverd, en daarna leerden we over klassen en hoe we onze eigen gegevenstypen, onze eigen objecten in
Python kunnen maken.
Maar we hebben ook deze gespecialiseerde gegevenstypen die ook in deze Python-standaardbibliotheek zijn ingebouwd, die echt heel leuk
zijn in deze game.
Maak onze programma's echt, echt krachtig.
Nu zijn ze gespecialiseerd omdat je ze niet overal zult zien, maar het is goed om te weten
dat ze bestaan.
En ik ga enkele van mijn favorieten bespreken.
De eerste die ik je ga laten zien, is de verzamelmodule, dus de verzamelmodule komt uit een verzameling of verzamelingen en
er zijn drie dingen die ik hier erg leuk vind.
Dus ik ga zeggen importeren.
Ik ga de teller importeren, het standaardwoordenboek en vervolgens het geordende woordenboek.
Merk nu op dat sommige klassen klassen zijn,
omdat het hoofdletters zijn en sommige slechts een functie lijken
te zijn.
En je kunt ze allemaal zien die we hebben.
Laten we in deze collecties beginnen met de eerste.
Een teller is erg handig, laten we zeggen dat ik een lijst heb met een, twee, drie, vier, vijf,
zes, zeven.
En ik wil tellen hoeveel items in een lijst als ik een teller afdruk.
Je kunt hier zien wat het doet, maar in wezen als ik het een lijst geef en op uitvoeren klik.
Oké, wat is hier net gebeurd?
Het creëert een woordenboek waarin één heeft gewonnen, twee heeft gewonnen, drie heeft gewonnen.
Wat als we hier nog zeven toevoegen, laten we zeggen zeven als ik op uitvoeren klik?
Heb je gezien dat zeven nu moet, dus wat het doet, is dat het een woordenboek maakt dat bijhoudt hoe vaak een item
in een iterable is voorgekomen, zodat zeven twee keer voorkwam.
Dus zeven heeft een waarde van twee.
Een andere manier waarop we dit kunnen gebruiken, is laten we zeggen dat we een zin hebben en in de zin zeggen, ik wil controleren.
Nou, laten we gewoon iets schrijven.
Ik zeg bla, bla, bla.
Denkend aan Python, als ik hier een teller zou doen en laten we zeggen geef het een zin als ik op uitvoeren klik.
Kijk daar eens naar, ik zie welke letter het meest voorkwam.
In ons geval kwam elk vijf keer voor, de ruimte kwam vijf keer voor en toen kwam B vier
keer voor, en dit is echt heel cool.
Omdat dit type berekening van een teller om een item als een lijst om te zetten in wat we een hash-kaart of een
woordenboek zoals dit noemen om de telling bij te houden, eigenlijk een zeer nuttige functie is die je overal in de programmering
ziet.
Het helpt eigenlijk veel bij optimalisatieproblemen.
Daar gaan we nu niet op in.
Maar ik wilde je gewoon laten zien dat balie iets is dat echt heel nuttig is.
Als u dubbele gebruikers of dubbele e-mails wilt tellen, kan de teller echt heel handig zijn.
Hoe zit het met de volgende standaard lul-man?
Dat is een heel moeilijk woord om te zeggen.
Oké, laten we zeggen dat we hier een woordenboek hebben en dit woordenboek zal, nou ja, een
heel onbeduidend woordenboek zal een één en B twee hebben.
Wat een simpel woordenboek.
Nu, hier kan ik woordenboek zeggen.
Punt.
Of beugel, hé, en ik zal de waarde kunnen pakken, toch?
Als ik klik, ren dan weg.
Oh, en ik heb het woordenboek niet gespeld, oké, laten we dat oplossen.
Dat is beter.
Laten we dit voor nu uitspreken, want we hebben dit niet nodig.
Je zult zien dat ik een waarde van één krijg, maar als ik probeerde toegang te krijgen tot iets dat niet bestaat, zoals,
kijk.
Ik krijg een air met een standaard woordenboek.
Ik krijg eigenlijk een standaardwaarde als iets niet bestaat.
Laten we dit dus omzetten in een standaardwoordenboek.
Soortgelijk.
En als ik dit nu uitvoer, krijgen we nog een eerste argument dat oproepbaar moet zijn of niet.
Dus wat standaard DECT doet, is dat het ons toegang geeft tot een sleutel als deze, maar het een standaardwaarde geeft.
In ons geval moeten we het hier zoiets als een oproepbaar object geven.
En schuldig betekent zoiets als een functie die kan worden aangeroepen, dus als ik het doe.
Ik krijg nul.
Waarom is dat?
Nou, als ik tegenkom.
Zoals dit met niets erin.
We krijgen nul.
Dus een verkorte manier, omdat dit wordt uitgevoerd, is om het een snelle functie te geven die we niet gaan
gebruiken.
Dus laten we gewoon een lamda doen.
En geef het gewoon.
Laten we zeggen vijf.
Dus als ik dit nu uitvoer, laten we het woordenboek hier doen.
Ron.
Oké, en laten we proberen te grijpen.
Iets dat niet bestaat, als ik op uitvoeren klik, krijg ik er vijf, dus dit is een veelvoorkomend patroon dat
je ziet met standaard DECT, we geven het gewoon een waarde of een oproepbaar object.
In ons geval geven we het gewoon deze functie, een lambda-functie die gewoon vijf retourneert.
Dus ik kan zelfs hier zeggen.
Bestaat niet.
De tweede parameter is wat we willen, en als ik op uitvoeren druk.
Ik krijg bestaat niet, ook al ben ik toegang tot een sleutel die, nou ja, nu niet bestaat als ik een hier doe en ik
klik op uitvoeren.
Alles werkt.
Ik krijg er nog steeds een.
En als ik dat ben.
Ik gaf ook run, nogmaals, een ander handig klein gegevenstype.
De volgende is DECT besteld, en deze is weer een interessante, een volgordewoordenboek behoudt de volgorde die
je in een woordenboek invoegt.
Laat me het je laten zien.
Dus als we, laten we zeggen, een woordenboek hebben en dit woordenboek zal een ordewoordenboek zijn.
Dus dit is hoe we het hier nu creëren, als ik dat doe, is D gelijk aan a.
En dit wordt gelijk aan één en dan D.
B gaat de twee evenaren.
En ik kopieer dit nu en maak een tweede woordenboek, laten we de twee D toevoegen aan.
En ik controleer, hey, print is D gelijk aan D, onthoud, dit gaat om de waarden te controleren.
Als ik dit uitvoer.
Ik ben er doorheen gekomen, ja, ze zijn gelijk, maar als ik de volgorde van invoegen hier verander en ik klik op uitvoeren.
Sorry, dit is niet hetzelfde omdat het de volgorde handhaaft als dit een gewoon woordenboek was, dus laten we
zeggen in plaats van wat we hier hebben, ik ga gewoon een woordenboek maken en we zullen
gewoon.
We doen gewoon een simpele kijk hier met, laten we zeggen, honderd.
En doe hetzelfde voor deze ook, d to.
Hier gaat hij naar toe.
Als ik dit nu uitvoer.
Ik word waar omdat alle sleutels en waarden hetzelfde zijn met een gewoon woordenboek, het maakt ons niet echt uit.
Er is geen volgorde en ik heb dit al eerder genoemd, het schrijven van een woordenboek in Python heeft geen gevoel voor orde, hoewel wanneer we
de sleutels afdrukken, we de zaken misschien op orde krijgen naarmate ons woordenboek groter en groter
wordt.
Er is geen garantie dat wanneer we alle sleutels afdrukken, we ze in orde zullen krijgen.
In het geval van een bestelwoordenboek krijgen we die garantie.
Nu zijn er enkele prestatie-implicaties voor die.
Over het algemeen kan het echter in sommige situaties nuttig zijn.
Oké, nog een paar om door te nemen, maar deze video wordt lang, dus laten we een pauze nemen en ik
zal zien in de volgende video.