2.42. Recapitulare¶
Ați parcurs părțile din Python care apar constant atunci când scrieți scripturi pentru OpenMV Cam:
Fundamentele limbajului – valori și variabile, aritmetică și comparație, șiruri și octeți, cele patru colecții de bază (
list,tuple,dict,set), condiționale și bucle, definirea funcțiilor și gestionarea argumentelor și domeniului lor de vizibilitate, definirea claselor și utilizarea moștenirii, ridicarea și tratarea excepțiilor. Acestea sunt cărămizile din care este construită orice altă parte din Python.Elementele structurale – împărțirea codului între module și pachete, importarea a ceea ce aveți nevoie, citirea și scrierea fișierelor cu
with, schimbul de date structurate prinjsonși împachetarea înregistrărilor binare prinstructcu ordinea octeților (endianness) și câmpuri de numere întregi cu lățime fixă. Acestea apar în momentul în care un script crește dincolo de un singur fișier sau are nevoie să comunice cu ceva din exterior.Părțile care își schimbă forma pe un mediu de execuție restrâns – de ce numerele în virgulă mobilă din MicroPython sunt pe 32 de biți și cum să le comparați fiabil, cum colectorul de gunoaie distribuie și recuperează blocuri, de ce fragmentarea contează pe o grămadă (heap) mică și cum prealocarea menține comportamentul corect al scripturilor de lungă durată. Obiceiurile de pe desktop induc uneori în eroare aici; acest material vă oferă modelul mental corect pentru cod care rulează pe dispozitiv.
Instrumentele de introspecție și de cod dinamic –
id(),hash(),isinstance(),issubclass(),callable(),globals(),locals()pentru a privi la valori și la mediu;eval()/exec()/compile()pentru cazurile rare în care producerea de cod în timpul execuției este răspunsul corect. Majoritatea scripturilor nu ating niciodată acestea, dar a ști că există (și când să nu recurgeți la ele) face parte din citirea codului Python al altora.Potrivirea de tipare pe text – modulul
repentru șiruri a căror formă o puteți descrie, dar nu o puteți enumera. Clase de caractere, cuantificatori, grupuri de captură, ancore și compromisul lacom-versus-leneș, împreună cu locurile specifice în care subsetul MicroPython rămâne în urma CPython. Recurgeți la el atunci cândstr.findsaustr.splitajung la capăt.Containere dincolo de cele încorporate –
collections.namedtuple()pentru înregistrări tipizate,collections.dequepentru tampoane circulare mărginite și ferestre glisante,collections.OrderedDictatunci când ordinea inserării face parte din egalitate șiheapqpentru întrebări de tipul „care este cel mai mic” sau „care este cel mai urgent” construite pe o listă simplă. Fiecare umple un gol pe care îl lasă în urmă cele patru tipuri de containere de bază.Instrumentele fluxului de lucru cotidian – comprehensiunile pentru construirea de colecții din cele existente, generatoarele și protocolul iteratorului pentru procesarea leneșă a datelor, decoratorii și gestionarii de context pentru încapsularea tiparelor comune de achiziție/eliberare și înainte/după, precum și obiceiurile de depanare (citirea trasărilor de stivă,
repr(),dir(),help(), modulullogging) care transformă un script defect într-unul reparat.
2.42.1. Utilizarea acestui ghid introductiv mai târziu¶
Tratați ghidul introductiv ca material de referință, nu ca o lectură de o singură trecere. Capitolele sunt scurte în mod intenționat; revenirea pentru a vă reîmprospăta cunoștințele despre feliere, gestionari de context sau comprehensiuni este utilizarea preconizată. Marcați secțiunea la care recurgeți cel mai des.
Dacă ceva din documentația camerei face referire ulterior la un concept Python pe care nu îl recunoașteți – să zicem, „acesta returnează un gestionar de context” sau „iterați rezultatul” – pagina corespunzătoare din ghidul introductiv este locul de unde să începeți.
2.42.2. Unde să mergeți de aici¶
Controlul de bază al hardware-ului se construiește direct pe Python-ul pe care îl cunoașteți acum. Acolo unde ghidul introductiv trăia în memorie, controlul hardware-ului trăiește în lumea fizică – tensiuni pe pini, impulsuri pe fire, octeți tactați pe magistrale către alte cipuri. Setul de instrumente se mută la modulul machine și un strat subțire de electronică. Tot din ghidul introductiv se transferă mai departe; nu veți reînvăța def sau with ori cum diferă bytearray de bytes.
Atunci când întâlniți o caracteristică Python care vă pare nefamiliară în materialul despre hardware, acest ghid introductiv este locul unde să reveniți.