Handige tips

Hoe gegevens uit te voeren in de programmeertaal Python

Pin
Send
Share
Send
Send


Nadat je hebt ontdekt in welke omgeving je programma's in Python kunt maken en uitvoeren, kun je de basis van deze taal leren. Het meest interessante is dat de eerste eenvoudige programma's kunnen worden geschreven zonder kennis van complexe constructies en de inhoud van het programma (zoals in Pascal). In deze les maken we kennis met de invoer-uitvoerbewerkingen in Python, evenals de snelle uitvoer van rekenkundige bewerkingen op het computerscherm.



Om erachter te komen wat er gebeurt als gevolg van de acties die u in het programma onderneemt, moet u dit op de een of andere manier weergeven. De eenvoudigste en meest eenvoudige manier om gegevens vanuit het programma uit te voeren, is de goede oude uitvoer van het resultaat naar het scherm, rechtstreeks vanaf de Shell-opdrachtregel van de IDLE-ontwikkelomgeving.

Python heeft een functie om waarden op het scherm weer te geven print (). Schrijf tussen de haakjes, gescheiden door komma's, wat u wilt uitvoeren.

Handige uitvoeropmaak

Op dit moment hebben we twee manieren gevonden om waarden uit te voeren: operator-uitdrukkingen (uitdrukkingsuitspraken) en de functie print (). (De derde manier is om de methode write () van bestandsobjecten te gebruiken; u kunt naar het standaarduitvoerbestand verwijzen als sys.stdout. Zie de bibliotheekreferentie voor meer informatie over dit item.)

Vaak is er de wens om meer controle te hebben over de opmaak van de uitvoer dan het gebruikelijke afdrukken van waarden gescheiden door spaties. Er zijn twee manieren om uw uitvoer te formatteren. De eerste manier is om al het werk aan de lijnen zelf te doen: met lijnuitsnijdingen en aaneenschakeling kunt u elke gewenste sjabloon maken. De standaard stringmodule bevat veel nuttige bewerkingen voor het uitlijnen van strings op een specifieke kolombreedte (we zullen ze kort bespreken). De tweede manier is om de methode str.format () te gebruiken.

De tekenreeksmodule bevat de klasse Sjabloon, die een andere manier biedt om waarden in tekenreeksen te vervangen.

Eén vraag blijft natuurlijk: hoe waarden omzetten in tekenreeksen? Gelukkig zijn er in Python twee manieren om elke waarde naar een string te converteren - dit zijn de functies repr () en str ().

Het doel van de functie str () is om waarden in een redelijk leesbare vorm te retourneren, in tegenstelling tot repr (), die tot doel heeft formulieren te genereren die door de interpreter kunnen worden gelezen (of SyntaxError veroorzaken als er geen equivalente syntaxis is). Voor die objecten die geen door mensen leesbare vorm hebben, retourneert de functie str () dezelfde waarde als repr (). Veel waarden, zoals getallen of structuren, zoals lijsten en woordenboeken, hebben dezelfde vorm voor beide functies. Vooral strings en zwevende puntnummers hebben twee verschillende vormen.

Hier zijn twee manieren om een ​​tabel met vierkanten en kubussen weer te geven:

(Merk op dat in het eerste voorbeeld enkele spaties tussen kolommen worden toegevoegd door de functie print (): er worden altijd spaties tussen de parameters ingevoegd)

Dit voorbeeld toont de werking van de stringobjectmethode rjust (), die de string naar rechts uitlijnt in het veld van de doorgegeven breedte, inspringend met spaties naar links. Soortgelijke methoden zijn beschikbaar voor ljust () en center (). Met deze methoden wordt niets afgedrukt, maar wordt alleen een nieuwe regel geretourneerd. Als de invoerregel te lang is, wordt deze niet afgekapt, wat meestal het minste kwaad is. (Om af te kappen kunt u een plakbewerking toevoegen, bijvoorbeeld: x.ljust (n) [: n].)

Er is nog een methode - zfill (), die de spatie links van de getallenlijn vult met nullen. Het herkent de plus- en mintekens:

De belangrijkste manier om de str.format () -methode te gebruiken is als volgt:

Haakjes met tekens erin (ze worden genoemd velden opmaken (velden opmaken)) worden vervangen door objecten die worden doorgegeven aan de opmaakmethode. Het getal tussen haakjes geeft de positie aan van het object in de lijst met parameters die aan de opmaakmethode zijn doorgegeven.

Als de opmaakmethode benoemde parameters gebruikt, kunt u naar hun waarden verwijzen met behulp van de naam van het overeenkomstige argument.

Positionele en benoemde parameters kunnen willekeurig worden gecombineerd:

Een optionele ‘:’-specificatie kan een veldnaam volgen. Gebruik het om de opmaak van een waarde te regelen. Het volgende voorbeeld laat de Pi slechts drie cijfers achter het decimale scheidingsteken.

Na de ‘:’ specificeerder kunt u een nummer specificeren - de minimale veldbreedte, uitgedrukt in aantal tekens. Dit is handig om te gebruiken om prachtige tabellen te maken:

Als uw opmaakreeks erg lang is en u deze niet in onderverdelingen wilt opsplitsen, zou het leuk zijn als u zou kunnen verwijzen naar variabelen die bedoeld zijn voor opmaak, niet op positie, maar op naam. Dit kan eenvoudig worden gedaan door het woordenboek te passeren en vierkante haken te gebruiken ‘[]’Voor toegang tot sleutels.

Hetzelfde kan worden gedaan door een woordenboek met benoemde parameters door te geven met de notatie "**":

Deze techniek is met name handig om te gebruiken in combinatie met de ingebouwde functie vars (), die een woordenboek met lokale variabelen retourneert.

Een gedetailleerde beschrijving van de opmaak van strings met behulp van de methode str.format () wordt beschreven in de sectie Syntaxis van de syntaxis van de opmaakreeks.

Schermuitvoer

Stel dat we een variabele met een bepaalde waarde hebben en deze op het scherm willen weergeven. Voor dit in Python er is een functie print (). Tussen de haakjes plaatsen we de naam van onze variabele of enkele tekens. Als u eenvoudig een cijfer invoert als een numerieke variabele, zal de tolk vloeken.

Telkens wanneer een functie wordt geactiveerd print () sommige informatie wordt op het scherm weergegeven, in dit geval hetzelfde. na de print () Hij heeft alles afgedrukt wat hem is verteld, hij zal de volgende regel laten inspringen. Om dit te voorkomen, moet je iets toevoegen ...

Tussen aanhalingstekens kun je in principe schrijven wat je hartje begeert.

Tekenreeksen opmaken in de oude stijl

U kunt de bewerking% gebruiken om tekenreeksen op te maken. Het interpreteert de linkeroperand als een tekenreeks in sprintf-stijl die op de rechteroperand moet worden toegepast en retourneert de tekenreeks die het resultaat is van deze conversie. Bijvoorbeeld:

Omdat de str.format () -methode vrij nieuw is, gebruikt de meeste Python-broncode nog steeds de bewerking%. Na verloop van tijd wordt de lijnopmaak echter uit de taal verwijderd, dus in de meeste gevallen moet str.format () worden gebruikt.

Meer informatie is te vinden in de sectie Stringopmaakbewerkingen in de oude stijl opmaken.

Gebruikersinvoer

Onthoud dat het enige dat de gebruiker heeft ingevoerd een tekenvariabele is, zelfs als hij alleen een cijfer heeft ingevoerd.
Als we de gebruiker nodig hebben om een ​​getal in te voeren voor verdere actie met hem als getal (bijvoorbeeld voor wiskundige bewerkingen), moeten we de volgende truc uitvoeren: converteer ons stringresultaat naar numeriek.

Eerst voert de gebruiker gegevens in, nadat hij deze heeft ingevoerd en ingedrukt invoeren, wordt de door hem ingevoerde reeksinformatie geconverteerd naar een getalnotatie. De functie helpt ons hierbij. int (). Het converteert alle gegevens naar een numeriek geheel getal-formaat. Maar als u besluit sommige tekens naar een numeriek formaat te converteren, geeft de tolk u een foutmelding.

Letters zijn geen cijfers!

Op zo'n eenvoudige manier maakten we kennis met “Input en output in taal Python«

Bestanden schrijven en lezen

De functie open () retourneert een bestandsobject en wordt in de meeste gevallen gebruikt met twee argumenten: open (filename, regime) .

De eerste parameter is een tekenreeks die de bestandsnaam bevat. De tweede is een andere regel met verschillende karakters die beschrijven hoe het bestand te gebruiken. Parameter waarde regime kan het symbool 'r' zijn als het bestand alleen kan worden gelezen, 'w' is alleen geopend om te schrijven (een bestaand bestand met dezelfde naam wordt gewist) en 'a' is het bestand dat kan worden toegevoegd: alle gegevens die automatisch naar het bestand worden geschreven worden aan het einde toegevoegd. 'r +' opent het bestand voor zowel lezen als schrijven. parameter regime optioneel: als het wordt weggelaten, wordt aangenomen dat het gelijk is aan 'r'.

In het gebruikelijke geval worden bestanden geopend in tekstmodus (tekstmodus) - dit betekent dat u uit een bestand aan het lezen bent en naar een bestandsreeks in een bepaalde codering schrijft (standaard wordt het gebruikt UTF-8). Als u символ b ’toevoegt aan de bestandsmodus, wordt het bestand geopend in binaire modus (binaire modus): nu worden de gegevens gelezen en geschreven als binaire objecten. Deze modus moet worden gebruikt voor alle bestanden die geen tekst bevatten.

Bij gebruik van de tekstmodus worden alle regeleindes standaard platformspecifiek ( n op Unix, r n op Windows) afgekapt tot het teken n bij het lezen van een bestand en worden terug geconverteerd van n naar een weergave specifiek voor platforms bij het schrijven naar een bestand. Deze wijzigingen achter de schermen in bestandsgegevens werken correct in het geval van tekstbestanden, maar beschadigen binaire gegevens in bestanden zoals JPEG of EXE. Zorg ervoor dat u de binaire modus gebruikt wanneer u dergelijke bestanden leest en schrijft.

Methoden van bestandsobjecten

In de onderstaande voorbeelden wordt ervan uitgegaan dat vooraf een bestandsobject met de naam f wordt gemaakt.

Als u de inhoud van een bestand wilt lezen, roept u f.read (afmeting) - de functie leest een bepaalde hoeveelheid gegevens en retourneert deze als een string- of byte-object. afmeting - optionele numerieke parameter. als afmeting weggelaten of negatief, wordt de volledige inhoud van het bestand gelezen en geretourneerd, als het bestand twee keer zo groot is als het RAM-geheugen van uw computer, blijft de oplossing voor dit probleem op uw geweten. Anders wordt een maximum gelezen en geretourneerd. afmeting bytes. Als het einde van het bestand is bereikt, retourneert f.read () een lege tekenreeks ().

f.readline () leest één regel uit het bestand, het newline-teken ( n) blijft aan het einde van de gelezen regel en ontbreekt bij het lezen van de laatste regel van het bestand alleen als het bestand niet eindigt met een lege regel. Hierdoor wordt de retourwaarde ondubbelzinnig: als f.readline () een lege regel retourneert, wordt het einde van het bestand bereikt. Tegelijkertijd bevat de lege regel die wordt voorgesteld door ' n' alleen een nieuweteken.

f.readlines () retourneert een lijst met alle gegevensregels die in het bestand zijn gevonden. Als de optionele parameter hint_size wordt doorgegeven, leest de functie het opgegeven aantal bytes uit het bestand, plus een bepaald aantal bytes, voldoende om de regel te voltooien, en vormt een lijst met regels uit het resultaat. De functie wordt vaak gebruikt voor het efficiënter lezen van bestanden (regel wordt niet volledig in het geheugen geladen). Alleen volledige (voltooide) rijen worden geretourneerd.

Een alternatieve regel-voor-regel-lezing is om door een bestandsobject te bladeren. Het is snel, geheugenefficiënt en heeft een eenvoudige code als resultaat:

Een alternatieve methode is eenvoudiger, maar biedt geen subtiele controle over wat er gebeurt. Aangezien beide methoden op verschillende manieren met lijnbuffering werken, moeten ze niet worden gemengd.

f.write (rij) schrijft de inhoud lijnen naar een bestand en retourneert het aantal geschreven bytes.

Om iets anders van een string naar een bestand te schrijven, moet je eerst iets naar een string converteren:

f.tell () retourneert een geheel getal dat de huidige positie in bestand f vertegenwoordigt, gemeten in bytes vanaf het begin van het bestand. Gebruik f.seek (om de positie van een bestandsobject te wijzigen)verplaatsing, waar vandaan). De positie wordt berekend door de offset toe te voegen aan het referentiepunt. Het referentiepunt wordt geselecteerd uit de parameter waar vandaan . Parameterwaarde 0 waar vandaan meet de offset vanaf het begin van het bestand, een waarde van 1 past de huidige positie in het bestand toe en een waarde van 2 gebruikt het einde van het bestand als referentiepunt. parameter waar vandaan kan worden weggelaten en standaard worden ingesteld op 0, waarbij het begin van het bestand als referentiepunt wordt gebruikt.

Wanneer u met tekstbestanden werkt (geopend zonder het b-teken in de modusregel), is zoeken alleen toegestaan ​​vanaf het begin van het bestand (behalve voor zoeken naar het einde van het bestand met zoeken (0, 2)).

Wanneer u alle acties in het bestand hebt voltooid, roept u f.close () aan om het te sluiten en alle systeembronnen vrij te maken die worden gebruikt om dit bestand te openen. Alle pogingen om het bestandsobject te gebruiken na het aanroepen van f.close () vormen een uitzondering.

Het wordt als een goede gewoonte beschouwd om het trefwoord with te gebruiken bij het werken met bestandsobjecten. Het voordeel van deze methode is dat het bestand altijd correct wordt gesloten nadat het blok is uitgevoerd of als er een uitzondering is opgetreden tijdens de uitvoering. Bovendien is de resulterende code veel korter dan de equivalente vorm met blokken probeer - eindelijk :

Bestandsobjecten hebben een paar extra methoden, zoals isatty () en truncate (), die niet vaak worden gebruikt, zie de bibliotheekreferentie voor een completer overzicht van bestandsobjecten.

Pickle module

Tekenreeksen kunnen eenvoudig worden geschreven naar en gelezen uit een bestand. In het geval van getallen moet u iets meer moeite doen: de methode read () retourneert alleen de lijnen die u moet doorgeven aan een functie zoals int (), die een string van de vorm '123' aanneemt en de numerieke waarde retourneert: 123. Als u echter van plan bent om complexere gegevenstypen, zoals lijsten, woordenboeken of klasse-instanties, te behouden, wordt het een beetje verwarrend.

In plaats van de programmeur te dwingen constant code te schrijven en te debuggen voor ingewikkelde gegevenstypen, biedt Python een standaardmodule genaamd augurk. Dit is een geweldige module die elk Python-object kan nemen (zelfs sommige vormen van Python-code!) En het omzetten naar een stringvoorstelling: dit proces wordt genoemd behoud (beitsen). Het herstellen van een object uit zijn stringvoorstelling wordt genoemd heropening (unpickling): een regel die het object beschrijft, kan in een bestand worden opgeslagen, aan sommige gegevens worden toegevoegd of via een netwerkverbinding naar een externe computer worden verzonden.

Als u een object x en bestand object f open hebt staan ​​om in binaire modus te schrijven (binaire modus, met de parameter 'wb'), de eenvoudigste manier behouden een object vereist een enkele coderegel:

Om het object opnieuw te bewaren, op voorwaarde dat f het object is van het bestand dat kan worden gelezen (ook in binaire modus, met de parameter 'rb'):

(Er zijn opties voor het uitvoeren van deze bewerkingen die van toepassing zijn wanneer reactivering meerdere objecten of wanneer u moet opnemen ingeblikt gegevens in een bestand, raadpleeg de documentatie voor de augurkmodule uit de bibliotheekreferentie.)

augurk is een standaardmanier om Python-objecten te maken die kunnen worden hergebruikt door andere programma's of toekomstige versies van hetzelfde programma, voor hen is er een technische term - vast voorwerp (aanhoudend object). Omdat augurk veelvuldig wordt gebruikt, zorgen veel auteurs van Python-extensies ervoor dat nieuwe gegevenstypen, zoals matrices, correct kunnen zijn bewaard en gereactiveerd.

Editor, auteur: Fred L. Drake Jr. (Fred L. Drake, Jr.) en anderen

verzamelingen

Python heeft coole ingebouwde gegevenstypen, maar soms gedragen ze zich niet precies zoals ze zouden willen.

Gelukkig heeft de ingebouwde bibliotheek van Python een verzamelmodule met handige extra gegevenstypen:

Ooit afgevraagd hoe je in een object in Python moet kijken en naar de attributen ervan moet kijken? Natuurlijk dachten ze.

1 augustus om 10:00 uur, online, gratis

Gebruik de opdrachtregel:

Dit kan handig zijn tijdens een interactieve sessie in Python, evenals voor de dynamische studie van objecten en modules waarmee u werkt.

$ pip installeer emoji

En doe niet alsof je het niet wilt proberen:

van __future__ import

Een van de gevolgen van de populariteit van Python is dat er voortdurend nieuwe versies worden ontwikkeld en uitgebracht. Nieuwe versies - nieuwe functies, maar niet voor u als u verouderd gebruikt.

Niet alles is echter zo slecht. De __future__-module maakt het mogelijk om de functionaliteit van toekomstige versies van Python te importeren. Het is net als tijdreizen of magie:

Het kan voor programmeurs moeilijk zijn om in geografie te navigeren. De geopy-module vereenvoudigt echter de dingen:

$ pip install geopy

Het werkt door de API's van verschillende geocoderingsservices samen te vatten. Deze module maakt het mogelijk om het volledige adres van de plaats te achterhalen, zijn lengte- en breedtegraad en zelfs hoogte.

Het heeft ook een handige afstandsklasse. Het berekent de afstand tussen twee plaatsen in een handige meeteenheid.

Heeft u een probleem gehad en kunt u zich de oplossing niet herinneren? Moet u naar StackOverflow gaan, maar wilt u de terminal niet verlaten?

Dan kunt u niet zonder dit opdrachtregelprogramma:

$ pip install howdoi

Stel een vraag en hij zal proberen het antwoord daarop te vinden:

Maar wees voorzichtig: het haalt code uit de beste antwoorden op StackOverflow en biedt niet altijd nuttige informatie:

$ howdoi exit vim

De inspectiemodule is handig om te begrijpen wat er achter de schermen in Python gebeurt. Je kunt er zelfs zelf methoden op gebruiken!

Het volgende gebruikt de methode inspect.getsource () om zijn eigen broncode uit te voeren. De methode inspect.getmodule () wordt ook gebruikt om de module uit te voeren waarin deze is gedefinieerd.

De laatste opdracht geeft het regelnummer weer waarop het zich bevindt:

Natuurlijk kan deze module, naast dergelijk triviaal gebruik, nuttig zijn om te begrijpen wat uw code doet. U kunt het ook gebruiken om zelfdocumentatiecode te schrijven.

Jedi-bibliotheek is ontworpen voor code-voltooiing en analyse. Het versnelt het schrijven van code en maakt het productiever.

Als u uw IDE niet ontwikkelt, zult u waarschijnlijk meer geïnteresseerd zijn in het gebruik van Jedi als een extensie voor de editor. Gelukkig zijn er al veel opties.

Возможно, вы уже встречались с Jedi — IPython использует эту библиотеку для автодополнения.

Когда изучаешь любой язык, на пути встречается множество краеугольных камней. В случае с Python понимание таинственного синтаксиса **kwargs можно считать одним из них.

Две звёздочки впереди объекта словаря дают возможность передавать в функцию содержимое этого словаря как именованные аргументы.

Ключи словаря — это имена аргументов, а значения передаются в функцию. Вам даже не обязательно называть его kwargs :

Это полезно в тех случаях, когда ваши функции должны обрабатывать именованные аргументы, не определённые заранее.

Прим.перев. Het kan ook handig zijn bij het schrijven van wrapper-functies die alle argumenten doorgeven aan een andere functie.

Lijst generatoren

Nog een coole Python-functie waarmee lijsten snel kunnen worden gemaakt. Dergelijke uitdrukkingen maken het gemakkelijk om schone code te schrijven die bijna als een natuurlijke taal leest:

Python heeft goede ingebouwde ondersteuning voor functioneel programmeren. Een van de handigste functies is de map () -functie, vooral in combinatie met lambda-functies:

Hier past map () een eenvoudige lambdafunctie toe op elk x-element en retourneert een kaartobject dat kan worden geconverteerd naar een of ander iterabel object zoals een lijst of tuple.

newspaper3k

Als je hem nog niet hebt ontmoet, maak je dan klaar voor de krantenmodule om je weg te blazen.

Het maakt het mogelijk om artikelen en gerelateerde metadata uit veel verschillende bronnen te extraheren. U kunt afbeeldingen, tekst en auteursnamen extraheren.

Het heeft zelfs ingebouwde NLP-functionaliteit.

Daarom, als je BeautifulSoup of een andere bibliotheek voor webschrapen in je volgende project zou gebruiken, is het beter om je tijd en moeite te besparen en de krant te installeren:

$ pip installatie krant3k

Overbelasting operator

Python heeft ondersteuning voor operatoroverbelasting - een van die dingen waar alle echte computerwetenschappers over praten.

Het idee is eigenlijk eenvoudig. Ooit afgevraagd waarom Python je toestaat om de operator + te gebruiken voor zowel het toevoegen van getallen als het samenvoegen van strings? Hierachter zit alleen de operatoroverbelasting.

U kunt op elke manier objecten definiëren die standaard operator-tekens gebruiken. Hiermee kunt u ze toepassen in de context van de objecten waarmee u werkt:

De standaard Python-functie print () volstaat. Maar als u probeert een groot genest object weer te geven, ziet het resultaat er niet erg mooi uit.

De module uit de standaard pprint-bibliotheek (mooie print) komt hier te hulp. Hiermee kunt u objecten met een complexe structuur in een leesbare vorm weergeven.

Een must-have voor elke Python-ontwikkelaar die met aangepaste datastructuren werkt:

Python ondersteunt multi-threading, wat de standaardmodule Queue helpt te gebruiken.

Hiermee kunt u een dergelijke gegevensstructuur als een wachtrij implementeren. Met wachtrijen kunt u elementen toevoegen en ophalen volgens een specifieke regel.

Met de "first in, first out", FIFO-wachtrijen kunt u objecten ophalen in de volgorde waarin ze zijn toegevoegd. Vanuit de wachtrijen “last in, first out” (“last in, first out”, LIFO), kunt u de laatst toegevoegde objecten ophalen.

Ten slotte kunt u met prioriteitswachtrijen objecten ophalen volgens hun sorteervolgorde.

Hier ziet u een voorbeeld van het gebruik van wachtrijen bij Python-programmering met meerdere threads.

Bij het definiëren van een klasse of object is het handig om een ​​"officiële" manier toe te voegen om het object als een string weer te geven. Bijvoorbeeld:

Dit vereenvoudigt het debuggen aanzienlijk. Dit is alles wat u hoeft te doen:

Prim.perev. Met de methode __repr __ () kunt u een tekenreeksrepresentatie definiëren die bedoeld is voor het programmeerapparaat en handig is om te gebruiken tijdens foutopsporing, en met de methode __str __ () kunt u een gebruiksvriendelijke tekenreeksrepresentatie definiëren die in de programma-interface kan worden weergegeven.

Python is een geweldige scripttaal. Maar soms veroorzaken de standaard os- en subprocesbibliotheken alleen hoofdpijn.

De sh-bibliotheek kan een leuk alternatief zijn.

Hiermee kunt u elk programma als een normale functie aanroepen, wat handig is voor het automatiseren van verschillende taken die uitsluitend Python gebruiken:

Prim.perev. De sh-bibliotheek ondersteunt alleen Linux- en macOS-platforms; voor het werken op Windows moet je op zoek naar een ander hulpmiddel.

Typ annotaties

Python is een dynamisch getypte taal. U hoeft het gegevenstype niet op te geven bij het definiëren van variabelen, functies, klassen, enz.

Dit versnelt het ontwikkelingsproces. Weinig is echter zo vervelend als een runtime-fout die wordt veroorzaakt door een eenvoudige mismatch.

Sinds Python 3.5 kunt u type-annotaties toevoegen bij het definiëren van een functie:

U kunt zelfs type-aliassen definiëren:

Hoewel het gebruik ervan optioneel is, kan de code met behulp van typeaantekeningen begrijpelijker worden gemaakt.

Hiermee kunt u ook hulpmiddelen voor typecontrole gebruiken om TypeError-fouten op te vangen.

De standaard module van uuid is een snelle en gemakkelijke manier om een ​​UUID (universeel unieke identificatiecode) te genereren.

Daarom maken we een willekeurig 128-bits nummer dat vrijwel zeker uniek zal zijn.

Er zijn meer dan 2¹²² mogelijke UUID's. Dit is meer dan 5 miljard of 5.000.000.000.000.000.000.000.000.000.000.000.000.000.

De kans op het vinden van duplicaten in een bepaalde set is extreem klein. Zelfs met een biljoen UUID's is de kans dat er een duplicaat onder zit veel minder dan één op een miljard.

Niet slecht voor twee regels code.

Virtuele omgevingen

Vaak werken Python-programmeurs tegelijkertijd aan verschillende projecten. Helaas zijn soms twee projecten afhankelijk van verschillende versies van dezelfde afhankelijkheid. Welke te installeren?

Gelukkig biedt Python ondersteuning voor virtuele omgevingen die het beste van twee werelden bieden. Voer bij de opdrachtprompt in:

Nu kunt u verschillende onafhankelijke versies van Python op dezelfde machine hebben.

Wikipedia heeft een coole API waarmee je toegang krijgt tot een ongeëvenaarde bron van volledig gratis informatie.

De wikipedia-module maakt toegang tot deze API bijna overdreven handig:

Net als een echte site biedt de module ondersteuning voor vele talen, het oplossen van de dubbelzinnigheid van pagina's, het verkrijgen van een willekeurige pagina en zelfs de methode donate ().

Humor is een belangrijk kenmerk van Python. Uiteindelijk werd de taal vernoemd naar de Britse comedyshow Monty Python's Flying Circus. Op veel plaatsen met officiële documentatie vind je verwijzingen naar de meest beroemde afleveringen van de show.

Natuurlijk houdt een gevoel voor humor niet op bij de documentatie. Probeer de volgende regel in te voeren:

Blijf jezelf, Python. Blijf jezelf.

YAML betekent "YAML is geen opmaaktaal" ("YAML is geen opmaaktaal"). Het is een taal voor het formatteren van gegevens die een superset van JSON is.

In tegenstelling tot JSON kan YAML complexere objecten opslaan en naar zijn eigen elementen verwijzen. Je kunt hier ook opmerkingen schrijven, wat YAML geschikt maakt voor configuratiebestanden.

Met de PyYAML-module kunt u YAML gebruiken in Python. Je kunt het als volgt installeren:

$ pip pyyaml ​​installeren

En dan importeren:

Met PyYAML kunt u alle Python-objecten en instanties van aangepaste klassen opslaan.

Eindelijk weer iets cools. Ooit de behoefte gehad om een ​​woordenboek te maken van twee lijsten?

De ingebouwde zip () functie neemt verschillende iterabele objecten en retourneert een reeks tupels. Elke tuple groepeert de elementen van objecten volgens hun index.

U kunt het omgekeerde van zip () uitvoeren met zip (*).

En welke technieken of nuttige bibliotheken kent u? Deel in de reacties.

  1. 0, 0.0 ↩
  2. 0, 1.0 ↩
  3. 0, 1.0 ↩
  4. 0, -2.0 ↩

Hoe Yandex uw gegevens en machine learning gebruikt om services te personaliseren - lees en bekijk YaC 2019.

Bekijk de video: Python: de meest gebruiksvriendelijke programmeertaal. Webinar Learnit Training (Oktober 2021).

Pin
Send
Share
Send
Send