2.1. Az első szkripted

A Python szkript egy szövegfájlba .py kiterjesztéssel elmentett utasítássorozat. Az OpenMV Cam azt a szkriptet futtatja, amelyik éppen meg van nyitva az IDE-ben, amikor megnyomod a zöld Run gombot, és minden kimenetet kiír az IDE soros terminálján, az ablak alján.

A lehető legegyszerűbb szkript egyetlen sorból áll:

print("Hello, OpenMV!")

A Run megnyomása elküldi ezt a szkriptet a kamerának, amely végrehajtja, és visszaírja az üzenetet az IDE-be.

2.1.1. Mit csinál a print

A print() egy beépített függvény – egy kódrészlet, amely a firmware-ben él, és mindig elérhető bármilyen beállítás nélkül. Add át neki egy vagy több értéket zárójelben, és kiírja ezeknek az értékeknek a szöveges reprezentációját az IDE-ben.

A print() függvénynek bármit átadhatsz, nem csak szöveget:

print(42)
print(3.14)
print("temperature", 25)

A több argumentumot szóközök választják el a kimenetben:

>>> temperature 25

2.1.2. Megjegyzések

A # jellel kezdődik egy megjegyzés – a sor hátralévő részét a Python figyelmen kívül hagyja. A megjegyzésekkel azt magyarázd el, miért csinálja a kód azt, amit csinál; azt, hogy mit csinál, maga a kód már megmutatja.

# Send a startup banner over the serial terminal.
print("camera ready")

print("running")  # Marker for the operator monitoring the IDE.

A Pythonban nincs külön szintaxis a többsoros megjegyzésekhez. Vagy egyenként kommentezd ki a sorokat, vagy jelöld ki a sorokat az IDE-ben, és nyomd meg a Ctrl+/ billentyűkombinációt a be- és kikapcsolásukhoz.

2.1.3. A behúzás számít

A Python a behúzást – a sor elején lévő üreshelyet – használja a kapcsolódó sorok csoportosítására. Egy függvényen, egy if utasításon vagy egy cikluson belül a blokkhoz tartozó minden sor ugyanannyival van behúzva (négy szóköz a bevett szokás). A tabulátorok és szóközök keverése, vagy a behúzás szélességének megváltoztatása egy blokkon belül szintaktikai hibát okoz.

A felső szintű utasítások, mint a fenti print hívások, nulla behúzással helyezkednek el. A behúzott blokkok akkor jelennek meg, amikor elkezdesz elágazásokat és ciklusokat írni.

Javaslat

Az IDE automatikusan behúz helyetted, amint befejezel egy : jellel végződő sort. Ha valaha rejtélyes IndentationError hibába ütközöl, jelöld ki a problémás blokkot, és nyomd meg a Tab / Shift+Tab billentyűt az újraigazításához.

2.1.4. A szkript ismételt futtatása

Minden alkalommal, amikor megnyomod a Run gombot, a kamera abbahagyja, amit éppen csinált, betölti az aktuális szkriptet, és elölről kezdi. Nincs külön fordítási lépés. Változtass meg egy sort, nyomd meg újra a Run gombot, és az új kimenet megjelenik a terminálban.

Ahhoz, hogy egy szkript automatikusan lefusson minden alkalommal, amikor a kamera bekapcsol, mentsd el main.py néven a kamera fájlrendszerén.