Nuttige wenke

Hoe om data in Python-programmeringstaal uit te voer

Pin
Send
Share
Send
Send


Nadat u uitgevind het in watter omgewing u programme in Python kan skep en bedryf, kan u die basiese beginsels van hierdie taal leer. Die interessantste is dat die eerste eenvoudige programme geskryf kan word sonder kennis van ingewikkelde konstruksies en liggame van die program (soos in Pascal). In hierdie les gaan ons kennis maak met die invoer-uitvoer-operasies in Python, asook die vinnige afvoer van rekenkundige bewerkings op die rekenaarskerm.



Om uit te vind wat gebeur as gevolg van die aksies wat u in die program doen, moet u dit op een of ander manier weergee. Die eenvoudigste en mees basiese manier om data van die program af te lewer, is die goeie outydse weergawe van die resultaat na die skerm, direk vanaf die Shell-opdragreël van die IDLE-ontwikkelingsomgewing.

Om waardes op die skerm te vertoon, het Python 'n funksie druk (). Binne die hakies, geskei deur kommas, skryf wat u wil afvoer.

Gerieflike uitvoerformatering

Op die oomblik het ons twee maniere bepaal om waardes uit te voer: operateuruitdrukkings (uitdrukkingsverklarings) en die druk () -funksie. (Die derde manier is om die skryf () -metode van lêerobjekte te gebruik; u kan na die standaarduitvoerlêer verwys as sys.stdout. Raadpleeg die Biblioteekverwysing vir meer inligting oor hierdie item.)

Daar is dikwels 'n begeerte om meer beheer te hê oor die formatering van die uitvoer as die gewone druk van waardes wat deur spasies geskei word. Daar is twee maniere om u uitvoer te formateer. Die eerste manier is om al die werk op die lyne self te doen: met behulp van lynknipsels en samesmelting kan u enige sjabloon skep wat u wil hê. Die standaard string module bevat baie nuttige bewerkings vir die inrig van snare volgens 'n spesifieke kolomwydte (ons sal dit binnekort vlugtig ondersoek). Die tweede manier is om die str.format () -metode te gebruik.

Die string module bevat die Template-klas, wat 'n ander manier bied om waardes in snare te vervang.

Een vraag is natuurlik: hoe kan u waardes in snare omskakel? Gelukkig is daar in Python twee maniere om enige waarde in 'n string om te skakel - dit is die repr () en str () funksies.

Die doel van die funksie str () is om waardes in 'n redelik leesbare vorm terug te gee, in teenstelling met repr (), waarvan die doel is om vorms te genereer wat deur die tolk gelees kan word (of SyntaxError kan veroorsaak as daar geen gelykwaardige sintaksis is nie). Vir die voorwerpe wat nie 'n menslike leesbare vorm het nie, sal die str () -funksie dieselfde waarde as repr () weergee. Baie waardes, soos getalle of strukture, soos lyste en woordeboeke, het dieselfde vorm vir albei funksies. Stringe en swewelpuntnommers het veral twee verskillende vorme.

Hier is twee maniere om 'n tabel met vierkante en kubusse te vertoon:

(Let daarop dat in die eerste voorbeeld enkelruimtes tussen kolomme bygevoeg word deur die druk () -funksie: dit plaas altyd spasies tussen die parameters in)

Hierdie voorbeeld demonstreer die werking van die snaarobjekmetode rjust (), wat die tou na regs in die veld van die geslaagde breedte in lyn bring, met spasies aan die linkerkant ingedraai. Soortgelyke metodes is beskikbaar vir ljust () en center (). Hierdie metodes druk niks, dit gee slegs 'n nuwe reël. As die invoerlyn te lank is, sny hulle dit nie af nie, wat gewoonlik die kwaad is. (Om af te sny, kan u 'n snybewerking byvoeg, byvoorbeeld: x.ljust (n) [: n].)

Daar is 'n ander metode: zfill (), wat die spasie aan die linkerkant van die getallelyn met nulle vul. Dit herken die plus- en minustekens:

Die belangrikste manier om die str.format () -metode te gebruik is soos volg:

Hakies met karakters binne (dit word genoem formaat velde (formaat velde)) word vervang met voorwerpe wat na die formaatmetode oorgedra is. Die getal tussen hakies dui die posisie van die voorwerp aan in die lys met parameters wat aan die formaatmetode deurgegee is.

As die formaatmetode benoemde parameters gebruik, kan u hul waardes met behulp van die naam van die ooreenstemmende argument verwys.

Posisionele en benoemde parameters kan willekeurig gekombineer word:

'N Opsionele': '-formaat kan 'n veldnaam volg. Gebruik dit om die formatering van 'n waarde te beheer. Die volgende voorbeeld laat die Pi slegs drie syfers agter die desimale skeier.

Na die ':' -spesifisering, kan u 'n nommer spesifiseer - die minimum veldwydte, uitgedruk in aantal karakters. Dit is gerieflik om te gebruik om pragtige tafels te skep:

As u formaatstring baie lank is en u dit nie in onderdele wil verdeel nie, sal dit lekker wees as u verwys na veranderlikes wat bedoel is vir formatering, nie volgens posisie nie, maar met die naam. Dit kan gedoen word deur eenvoudig die woordeboek deur te gee en vierkantige hakies te gebruik '[]'Vir toegang tot sleutels.

Dieselfde kan gedoen word deur 'n woordeboek met genoemde parameters te slaag met die notasie “**”:

Hierdie tegniek is veral handig om te gebruik in kombinasie met die ingeboude funksie vars (), wat 'n woordeboek met plaaslike veranderlikes lewer.

'N Gedetailleerde beskrywing van formateringstringe met behulp van die str.format () -metode word beskryf in die sintaksis van die formatteringstreng-sintaksis.

Skermuitset

Gestel ons het 'n veranderlike met 'n sekere waarde en ons wil dit op die skerm vertoon. Vir hierdie in Python daar is 'n funksie druk (). Binne die hakies plaas ons die naam van ons veranderlike of enkele karakters. As u bloot 'n syfer as 'n numeriese veranderlike invoer, sal die tolk sweer.

Elke keer word 'n funksie geaktiveer druk () sommige inligting sal op die skerm vertoon word, in hierdie geval dieselfde. na afloop van die druk () Hy druk die volgende reël af op alles wat aan hom gesê is. Om te verhoed dat dit gebeur, moet u iets byvoeg ...

In aanhalingstekens kan u in beginsel skryf wat u hart begeer.

Formatering van snare in die ou styl

U kan die% -bewerking gebruik om snare te formateer. Dit interpreteer die linkeroperand as 'n snor van 'n sprintf-stylformaat wat op die regteroperand toegepas moet word en gee die string wat uit hierdie omskakeling voortspruit, terug. Byvoorbeeld:

Omdat die str.format () -metode redelik nuut is, gebruik die meeste Python-bronkode steeds die% -bewerking. Met verloop van tyd sal lynformatering egter uit die taal verwyder word, dus str.format () moet in die meeste gevalle gebruik word.

Meer inligting kan gevind word in die afdeling Formatering van string-formateringsoperasies in die ou styl.

Gebruikersinvoer

Onthou dat al wat die gebruiker 'n karakterveranderlike het, selfs al het hy slegs 'n nommer ingetik.
As ons nodig het dat die gebruiker 'n nommer moet invoer vir 'n verdere aksie met hom as 'n nommer (byvoorbeeld vir wiskundige bewerkings), moet ons die volgende truuk doen: omskep ons stringresultaat na numeries.

Eerstens voer die gebruiker die data in, nadat hy ingetik en ingedruk het Tik, word die stringinligting wat hy ingevoer het, omgeskakel na 'n nommerformaat. Die funksie help ons hierin. int (). Dit skakel alle data om in 'n numeriese heelgetalformaat. Maar as u besluit om sommige karakters in 'n numeriese formaat te omskep, sal die tolk u 'n fout gee.

Briewe is nie syfers nie!

Op so 'n eenvoudige manier het ons kennis gemaak met 'invoer en uitvoer in taal Python«

Lêers skryf en lees

Die oop () -funksie gee 'n lêerobjek terug en word in die meeste gevalle met twee argumente gebruik: open (lêernaam, regime) .

Die eerste parameter is 'n string wat die lêernaam bevat. Die tweede is 'n ander reël met verskillende karakters wat beskryf hoe om die lêer te gebruik. Parameterwaarde regime kan die simbool 'r' wees as die lêer slegs oop is vir lees, 'w' is slegs oop vir skryf ('n bestaande lêer met dieselfde naam sal uitgewis word) en 'a' is die lêer wat oop is om by te voeg: enige data wat outomaties in die lêer geskryf word word aan die einde gevoeg. 'r +' maak die lêer oop vir lees en skryf. parameter regime opsioneel: as dit weggelaat word, word aanvaar dat dit gelyk is aan 'r'.

In die gewone geval, lêers oop in teks af (teks af) - dit beteken dat u van 'n lêer af lees en in 'n sekere kodering na 'n lêersnare skryf (dit word standaard gebruik UTF-8). As u символ b 'by die lêermodus voeg, word die lêer oopgemaak binêre modus (binêre modus): nou word die data gelees en geskryf as binêre voorwerpe. Hierdie modus moet gebruik word vir alle lêers wat nie teks bevat nie.

By die gebruik van teksmodus word alle lyneindes, standaard, platformspesifiek ( n op Unix, r n op Windows) afgekap na die n-karakter wanneer u vanaf 'n lêer lees, en word hulle weer omgeskakel van n na 'n spesifieke beeld platforms wanneer u na 'n lêer skryf. Hierdie veranderings agter die skerms werk korrek in die geval van tekslêers, maar sal binêre data in lêers soos JPEG of EXE beskadig. Wees versigtig om die binêre modus te gebruik wanneer u sulke lêers lees en skryf.

Metode van lêerobjekte

Die onderstaande voorbeelde aanvaar dat 'n lêerobjek met die naam f vooraf geskep is.

Om die inhoud van 'n lêer te lees, skakel f.read (grootte) - die funksie lees 'n sekere hoeveelheid data en stuur dit terug as 'n string of byte-voorwerp. grootte - opsionele numeriese parameter. indien grootte weggelaat of negatief, sal die hele inhoud van die lêer gelees en teruggestuur word, as die lêer twee keer so groot is as die RAM van u rekenaar, bly die oplossing vir hierdie probleem op u gewete. Andersins, sal 'n maksimum gelees en teruggestuur word. grootte grepe. As die einde van die lêer bereik is, sal f.read () 'n leë string terugstuur ().

f.readline () lees een reël van die lêer af, die newline-karakter ( n) bly aan die einde van die leeslyn en is afwesig by die lees van die laaste reël van die lêer slegs as die lêer nie met 'n leë lyn eindig nie. As gevolg hiervan word die terugkeerwaarde ondubbelsinnig: as f.readline () 'n leë lyn terugstuur, word die einde van die lêer bereik, en die leë lyn wat deur ' n' voorgestel word, bevat slegs 'n newelkarakter.

f.readlines () gee 'n lys met alle reëls data wat in die lêer gevind word. As die opsionele parameter hint_size geslaag word, lees die funksie die gespesifiseerde aantal grepe uit die lêer, plus 'n sekere aantal grepe daarby, wat voldoende is om die lyn te voltooi, en vorm dit 'n lys reëls uit die resultaat. Die funksie word gereeld gebruik vir doeltreffender (lêer word nie heeltemal in die geheue gelaai nie) groot-lêers-vir-lyn-lees van groot lêers. Slegs volledige (voltooide) rye word teruggestuur.

'N Alternatiewe les-vir-lyn-lesing is om deur 'n lêerobjek te loop. Dit is vinnig, geheue-effektief en het 'n eenvoudige kode as gevolg daarvan:

'N Alternatiewe metode is eenvoudiger, maar bied nie fyn beheer oor wat gebeur nie. Aangesien albei hierdie metodes op verskillende maniere met lynbuffering werk, moet hulle nie gemeng word nie.

f.skryf (ry) skryf die inhoud lyne na 'n lêer en gee die aantal geskryfde grepe terug.

Om iets anders van 'n string na 'n lêer te skryf, moet u eers iets na 'n string omskakel:

f.tell () gee 'n heelgetal wat die huidige posisie in lêer f verteenwoordig, gemeet in die grepe vanaf die begin van die lêer. Gebruik f.seek om die posisie van 'n lêerobjek te veranderverplasing, waarvandaan). Die posisie word bereken deur die offset by die verwysingspunt te voeg, die verwysingspunt word gekies uit die parameter waarvandaan . Parameterwaarde 0 waarvandaan meet die verrekening vanaf die begin van die lêer, 'n waarde van 1 pas die huidige posisie in die lêer toe, en 'n waarde van 2 gebruik die einde van die lêer as verwysingspunt. parameter waarvandaan kan standaard weggelaat word en op 0 gestel word deur die begin van die lêer as verwysingspunt te gebruik.

As u met tekslêers werk (geopen sonder die b-teken in die modusreël), word soek slegs vanaf die begin van die lêer toegelaat (behalwe om na die einde van die lêer te blaai met behulp van search (0, 2)).

As u al die aksies op die lêer voltooi het, skakel f.close () om dit toe te maak en al die stelselbronne wat gebruik is om hierdie lêer oop te maak, bevry. U sal 'n uitsondering op alle pogings om die lêerobjek te gebruik nadat u f.close () gebel het, gebruik.

Dit word as goeie praktyk beskou om die met sleutelwoord te gebruik as u met lêerobjekte werk. Die voordeel van hierdie metode is dat die lêer altyd reg sluit nadat die blok uitgevoer is, of as daar 'n uitsondering tydens uitvoering gegooi is. Boonop is die resulterende kode baie korter as die ekwivalente vorm met blokke probeer - uiteindelik :

Lêerobjekte bevat 'n paar ekstra metodes, soos isatty () en afgekap (), wat nie gereeld gebruik word nie, sien die Biblioteekverwysing vir 'n meer volledige oorsig van lêerobjekte.

Piekelmodule

Stringe kan maklik vanaf 'n lêer geskryf word en gelees word. In die geval van getalle, moet u 'n bietjie meer moeite doen: die lees () -metode gee slegs die reëls wat u moet deurgee, terug na 'n funksie soos int (), wat 'n string van die vorm '123' neem en die numeriese waarde daarvan terugstuur: 123. As u egter van plan is om meer ingewikkelde datatipes te bewaar, soos lyste, woordeboeke of klasinstansies, raak dinge 'n bietjie verwarrend.

In plaas daarvan om die programmeerder voortdurend te dwing om kode te skryf en te ontfout vir ingewikkelde datatipes, bied Python 'n standaardmodule genaamd pickle. Dit is 'n wonderlike module wat enige Python-objek kan neem (selfs sommige vorme van Python-kode!) En dit kan omskakel in 'n stringvoorstelling: hierdie proses word genoem bewaring (beit). Die herstel van 'n voorwerp uit die stringrepresentasie word genoem heropening (unpickling): 'n reël wat die voorwerp beskryf, kan in 'n lêer gestoor word, bygevoeg word tot data, of via 'n netwerkverbinding na 'n afgeleë rekenaar gestuur word.

As u 'n objek x en lêerobjek f het om in binêre modus te skryf (binêre modus, met die parameter 'wb'), is die eenvoudigste manier bewaar 'n objek benodig 'n enkele reël kode:

Om die voorwerp weer te bewaar, met dien verstande dat f die objek van die lêer is wat oop is vir lees (ook in binêre modus, met die parameter 'rb'):

(Daar is opsies vir die uitvoering van hierdie handelinge wat van toepassing is wanneer aktiveer verskeie voorwerpe of wanneer u moet opneem geblikte data na 'n lêer, verwys na die dokumentasie vir die pickle-module in die Biblioteekverwysing.)

pickle is 'n standaard manier om Python-voorwerpe te skep wat hergebruik kan word deur ander programme of toekomstige weergawes van dieselfde program, daarvoor is daar 'n tegniese term - bestendige voorwerp (aanhoudende voorwerp). Aangesien piekel gereeld gebruik word, maak baie skrywers van Python-uitbreidings seker dat nuwe datatipes, soos matrikse, korrek kan wees bewaar en geaktiveer.

Redakteur, outeur: Fred L. Drake jr. (Fred L. Drake, jr.) En ander

versamelings

Python het 'n ingeboude datatipes, maar soms gedra hulle nie presies soos hulle wil nie.

Gelukkig het die ingeboude Python-biblioteek 'n versamelmodule met maklike addisionele datatipes:

Het u al ooit gewonder hoe u na 'n voorwerp in Python kan kyk en na die eienskappe daarvan kyk? Natuurlik, dink hulle.

1 Augustus om 10:00, aanlyn, gratis

Gebruik die opdragreël:

Dit kan handig te pas kom tydens 'n interaktiewe sessie in Python, sowel as vir die dinamiese studie van voorwerpe en modules waarmee u werk.

$ pip installeer emoji

En moenie voorgee dat u nie wil probeer nie:

vanaf __future__-invoer

Een van die gevolge van die gewildheid van Python is dat daar voortdurend nuwe weergawes ontwikkel en uitgegee word. Nuwe weergawes - nuwe funksies, maar nie vir u as u verouderd gebruik nie.

Nie alles is egter so sleg nie. Die __future__-module maak dit moontlik om die funksionaliteit van toekomstige weergawes van Python in te voer. Dit is net soos tydreis of toorkuns:

Dit kan moeilik wees vir programmeerders om in geografie te navigeer. Die geopy-module vereenvoudig egter dinge:

$ pip installeer geopy

Dit werk deur die API's van verskillende geokoderingsdienste te onttrek. Hierdie module maak dit moontlik om die volledige adres van die plek, sy lengte en breedtegraad en selfs hoogte uit te vind.

Dit het ook 'n nuttige afstandsklas. Dit bereken die afstand tussen twee plekke in 'n gerieflike meeteenheid.

Is u opgehang aan 'n probleem en kan u nie die oplossing daarvan onthou nie? Moet u na StackOverflow gaan, maar wil nie die terminale verlaat nie?

Dan kan u nie sonder hierdie opdragreël-instrument gaan nie:

$ pip installeer howdoi

Stel enige vrae en hy sal probeer om die antwoord daarop te vind:

Maar wees versigtig: dit haal kode uit die antwoorde op StackOverflow uit en bevat nie altyd nuttige inligting nie:

$ howdoi uitgang vim

Die inspekteermodule is handig om te verstaan ​​wat agter die skerms in Python aangaan. U kan selfs die metodes daarvan self daarop gebruik!

Die volgende gebruik die inspect.getsource () -metode om sy eie bronkode uit te voer. Die inspect.getmodule () -metode word ook gebruik om die module waarin dit gedefinieër is, uit te voer.

Die laaste opdrag vertoon die lynnommer waarop dit geleë is:

Buiten sulke triviale gebruike, kan hierdie module natuurlik nuttig wees om te verstaan ​​wat u kode doen. U kan dit ook gebruik om selfdokuminerende kode te skryf.

Die Jedi-biblioteek is ontwerp vir die voltooiing en ontleding van kodes. Dit versnel die skryf van kode en maak dit meer produktief.

As u nie u IDE ontwikkel nie, sal u waarskynlik meer Jedi as redakteuruitbreiding gebruik. К счастью, уже есть много вариантов.

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

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

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

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

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

Прим.перев. Dit kan ook handig te pas kom wanneer u wikkelfunksies skryf wat alle argumente na 'n ander funksie oordra.

Lys kragopwekkers

Nog 'n oulike Python-funksie wat lyste vinnig maak om te skep. Sulke uitdrukkings maak dit maklik om skoon kode te skryf wat amper soos 'n natuurlike taal lees:

Python het 'n goeie ingeboude ondersteuning vir funksionele programmering. Een van die nuttigste kenmerke is die kaart () -funksie, veral in kombinasie met lambda-funksies:

Hier pas kaart () 'n eenvoudige lambda-funksie toe op elke x-element en gee 'n kaartobjek wat na een of ander herhaalbare voorwerp, soos 'n lys of tupel, omgeskakel kan word.

newspaper3k

As u hom nog nie ontmoet het nie, maak dan gereed vir die koerantmodule om u weg te blaas.

Dit maak dit moontlik om artikels en verwante metadata uit baie verskillende bronne te onttrek. U kan prente, teks en skrywersname onttrek.

Dit het selfs ingeboude NLP-funksies.

As u BeautifulSoup of 'n ander biblioteek in die volgende projek gaan gebruik om webskraap te maak, is dit beter om u tyd en moeite te bespaar en koerante te installeer:

$ pip installeer koerant3k

Operasionele oorlading

Python het ondersteuning vir die oorlaai van die operateur - een van die dinge waaroor alle regte rekenaarwetenskaplikes praat.

Die idee is eintlik eenvoudig. Het u al ooit gewonder waarom Python u toelaat om die + -operateur te gebruik om getalle by te voeg en snare saam te voeg? Agter hierdie is net die oorlading van die operateur.

U kan objekte definieer wat op enige manier die bestuurderkarakters gebruik. Hiermee kan u dit toepas in die konteks van die voorwerpe waarmee u werk:

Die standaardafdruk van Python-funksie () doen die werk. Maar as u probeer om 'n groot geneste voorwerp te vertoon, lyk die resultaat nie baie mooi nie.

Die module uit die standaard-afdrukbiblioteek (mooi afdruk) is hier tot die redding. Deur dit te gebruik, kan u voorwerpe met 'n komplekse struktuur in 'n leesbare vorm vertoon.

'N Moet-hê vir enige Python-ontwikkelaar wat met aangepaste datastrukture werk:

Python ondersteun multi-threading, wat die Queue-standaardmodule help om te gebruik.

Dit stel u in staat om so 'n datastruktuur as 'n tou te implementeer. Toue stel u in staat om elemente volgens 'n spesifieke reël by te voeg en op te spoor.

Met die EIFO-toue “first in, first out”, kan u voorwerpe ophaal in die volgorde waarin hulle bygevoeg is. Van die toue "laaste in, eerste uit" ("laaste in, eerste uit", LIFO), kan u die laaste voorwerpe wat u bygevoeg het, ophaal.

Uiteindelik stel u in prioriteitskrywe voorwerpe op volgens hul sorteerorde.

Hier kan u 'n voorbeeld sien van die gebruik van toue in multi-threaded Python-programmering.

As u 'n klas of objek definieer, is dit nuttig om 'n 'amptelike' manier te voeg om die voorwerp as 'n string voor te stel. Byvoorbeeld:

Dit vergemaklik foutopsporing. Hier is al wat u moet doen:

Prim.perev. Met die __repr __ () -metode kan u 'n stringrepresentasie definieer wat bedoel is vir die programmeerder en gerieflik om te gebruik tydens ontfouting, en met die __str __ () -metode kan u 'n gebruikersvriendelike stringrepresentasie definieer wat in die program-koppelvlak vertoon kan word.

Python is 'n wonderlike skriftaal. Maar soms veroorsaak die standaard-os- en subverwerkingsbiblioteke net hoofpyn.

Die sh-biblioteek kan 'n lekker alternatief wees.

Dit stel u in staat om enige program as 'n gewone funksie te noem, wat nuttig is om verskillende take eksklusief met Python te outomatiseer:

Prim.perev. Die sh-biblioteek ondersteun slegs Linux- en macOS-platforms; om vir Windows te werk, moet u na 'n ander hulpmiddel soek.

Tik aantekeninge

Python is 'n dinamies getikte taal. U hoef nie die datatipe te spesifiseer wanneer u veranderlikes, funksies, klasse, ens. Definieer nie.

Dit versnel die ontwikkelingsproses. Min is egter irriterend net soos 'n hardloopfout wat veroorsaak word deur 'n eenvoudige tipe wanverhouding.

Sedert Python 3.5, kan u tipe annotasies byvoeg wanneer u 'n funksie definieer:

U kan selfs tipe aliasse definieer:

Alhoewel die gebruik daarvan opsioneel is, kan die kode met behulp van tipe aantekeninge meer verstaanbaar gemaak word.

Dit stel u ook in staat om tipe-kontrole-instrumente te gebruik om TypeError-foute op te spoor.

Die uuid-standaardmodule is 'n vinnige en maklike manier om 'n UUID (universeel unieke identifiseerder) te genereer.

Dus skep ons 'n ewekansige 128-bis nommer wat byna sekerlik uniek sal wees.

Daar is meer as 2 ² moontlike UUID's. Dit is meer as 5 onbedoelde of 5.000.000.000.000.000.000.000.000.000.000.000.000.000.

Die waarskynlikheid om duplikate in 'n gegewe stel op te spoor, is buitengewoon klein. Selfs met 'n triljoen UUID's, is die waarskynlikheid dat daar 'n duplikasie onder hulle is baie minder as een in 'n miljard.

Nie sleg vir twee reëls kode nie.

Virtuele omgewings

Dikwels werk Python-programmeerders aan verskeie projekte tegelyk. Ongelukkig is twee projekte soms afhanklik van verskillende weergawes van dieselfde afhanklikheid. Watter een moet u installeer?

Gelukkig het Python ondersteuning vir virtuele omgewings wat die beste van albei wêrelde haal. Tik op die opdrag:

Nou kan u verskillende onafhanklike weergawes van Python op dieselfde masjien hê.

Wikipedia het 'n koel API waarmee u toegang het tot 'n ongeëwenaarde bron van heeltemal gratis inligting.

Die wikipedia-module maak toegang tot hierdie API byna te gerieflik:

Soos 'n regte webwerf, bied die module ondersteuning vir baie tale, die oplossing van die dubbelsinnigheid van bladsye, die verkryging van 'n ewekansige bladsy en selfs die donasie () -metode.

Humor is 'n sleutelkenmerk van Python. Uiteindelik is die taal vernoem na die Britse komedie Monty Python se Flying Circus. Op baie plekke met amptelike dokumentasie kan u verwysings na die beroemdste episodes van die vertoning vind.

Natuurlik eindig 'n sin vir humor nie met die dokumentasie nie. Probeer om die volgende reël in te voer:

Bly jouself, Python. Bly jouself.

YAML beteken "YAML is nie 'n opmaaktaal nie" ("YAML is nie opmerksaam taal nie"). Dit is 'n gegewe formatteringstaal wat 'n superset van JSON is.

Anders as JSON, kan YAML meer ingewikkelde voorwerpe stoor en na sy eie elemente verwys. U kan ook kommentaar daarop skryf, wat YAML geskik maak vir konfigurasielêers.

Met die PyYAML-module kan u YAML in Python gebruik. U kan dit so installeer:

$ pip installeer pyyaml

En voer dan in:

Met PyYAML kan u enige Python-voorwerpe en -instansies van enige aangepaste klasse berg.

Uiteindelik nog 'n oulike ding. Het u al ooit die behoefte gehad om 'n woordeboek uit twee lyste te skep?

Die ingeboude zip () -funksie neem verskillende herhaalbare voorwerpe op en gee 'n reeks tuples terug. Elke tupel groepeer die elemente van voorwerpe volgens hul indeks.

U kan die inverse van zip () met behulp van zip (*) uitvoer.

En watter tegnieke of nuttige biblioteke ken jy? Deel in die kommentaar.

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

Hoe Yandex u data en masjienleer gebruik om dienste te verpersoonlik - lees en kyk YaC 2019.

Kyk na die video: Week 1 (Desember 2021).

Pin
Send
Share
Send
Send