Python (Vir:2) je tolmač. Je enostaven , pokriva vse programerske vsebine in je orodje številnih uporabnikov in razvijalcev. Preden začnemo raziskovati izbrane vsebine si moramo pogledati osnove (Vir:1).
Na spletu obstaja veliko posnetih izobraževalnih tečajev. Vabim vas, da si kakšnega ogledate. Pri python-u velja, tako kakor pri ostalih tehnologijah, da izkušnje štejejo. Ni odveč omeniti, da je to prvi produkcijski razvojni jezik, kjer ni potrebno znanje dveh jezikov. Do sedaj smo knjižnice in gonilnike pisali v C-ju ali strojnem jeziku. Tehnologija cython (Vir:3) avtomatsko prevede python knjižnico v C in potem C v Python izvršilno knjižnico. Poglejmo si strukturo, rekurzijo, slovar, datoteko in sistem.
Avtor: Boštjan Šuhel
E-pošta: bostjan.suhel@gmail.com
2021-297-51
struktura.py
Programski jeziki so strukturni. Strukturo določa strukturni pravopis. Python uporablja ključne besede if, for in while. Za strukturne ukaze je značilna ključna beseda, pogoj in dvopičje. Za ukazom ki se zaključi z dvopičjem sledi zamik. Zamik prve vrstice za dvopičjem določi telo strukture. Vsi ukazi v telesu, ki je na istem nivoju morajo imeti začetek vrstice na isti poziciji. To je značilno za python. Gre za veliko izkušenj z pisanjem programov in desetletja nabiranja praks kodiranja. Osnovni in izbrani primeri kažejo na moderne oblike kodiranja, ki lovijo ravnotežje med razumljivostjo, kompleksnostjo in hitrostjo kodiranja. Pri vsakem opisovanju kodiranja se nujno sklicujemo na pedagoške pristope in primere dobre prakse, ki so potrjeni s strani uporabnikov (npr. Vir:7) in uradnih predstavnikov (Vir:2). Za prvo leto učenja python jezika imamo na slovenski izdaji (Vir:8) v Dokumentih/python/osnove 32 osnovnih vaj, ki se učijo v terminalu. Odvisno od nivoja šolanja, je to celoletni ali ustrezno krajši priporočeni začetek.
Ta vsebina je samo za naročnike
rekurzija.py
Rekurzija je programska možnost, ko funkcija kliče samo sebe. Šolski primer je računanje fakultete števil. Fakulteta števil je tudi lahko merilno orodje za testiranje matematike programskega jezika. V našem primeru lahko izračunamo 998!. Absolutni rekord rekordov. Rekurzivni algoritmi so lahko razumljivi in pregledni, zahtevajo pa kar veliko osnovnega poznavanja J . Ena od ugotovitev je, da python podpira nove pravopisne prijeme, ki so hitrejši, preglednejši, zahteva pa več prakse, da se nam zapis zares odpre.
slovar.py
Slovar je v python jeziku osnovna podatkovna struktura. Tehnično gre za dodajanje iskalnega ključa. Tag ali ključ, je na splošno vseprisoten. Teoretično se premaknemo iz numeričnega ključa na ključ na zapisu. V zgodovini smo to naredili, ko smo telefonsko številko zamenjali za email, ali kak drug zapis oziroma ključ. Vse ključe lahko še danes zamenjamo z IP številko ali navadno številko. Slovarji omogočajo veliko bolj intiutivne programe. Brez uporabe slovarjev bi zelo hitro trčili ob meje predstavljanja s strani človeških možganov. Ko nekaj zapišemo je raven intuicije ključna za široko sprejemanje tehnologije.
datoteka.py
Datoteke oziroma bolje rečeno tekst datoteke, so osnove zapisa parametrov. Teoretično je lokalna datoteka zapis podatkov, ki smo jih uporabili, spremenili in zapisali tekom uporabe programa. Pri zapisovanju datotek je potrebno imeti potrebna dovoljenja. Datoteka se lahko zapisuje na strani strežnika ali odjemalca. Datoteko zapisujemo v podatkovni nosilec ali v spomin, če je del podatkovne strukture prenesen v spomin (npr. mapa /tmp v Linuxu). Pri zapisovanju datoteke moramo upoštevati največje število zapisov v SSD, na eni lokaciji. Ker je shranjevanje vmesnih rezultatov (npr. rezultat meritve) najlažje spraviti v datoteko, je potrebno razmišljati o prevelikem številu zapisov v to datoteko, če npr. temperaturo merimo na 1s. Datoteka je tudi idealna za prenos podatkov med programi. Tu se moramo vedno zavedati, da smo v več uporabniškem OS. Če npr. staro datoteko brišemo in potem vpišemo novo z istim imenom, lahko drug program vmes ostane brez datoteke.
sistem.py
Iz pythona lahko poženemo sistemske ukaze ali druge programe, kot da bi to naredili iz ukazne vrstice. Tukaj gre za dovoljenja in tudi za to, kako to naredimo. Kaj lahko naredimo, je nemogoče opisati. Primer zažene mp3 pesem, ki si jo naključno izbere izmed vseh pesmi na podmapi. S posnemanjem ukazne vrstice poženemo svoj program v več uporabniškem OS. Glavni program čaka (ali ne čaka) zaključek klicanega ukaza (ali programa). Klicanje ukazov (ali zaporedij ukazov – skript) ali programov iz programa je tako pogosto, da sem ta lep primer uvrstil med osnove.
S tem smo serijo osnove zaključili, vabim vas na ogled filma za python začetek, potrudite se in napravite 32 vaj v ukazni vrstici, napišite kak svoj program in poizkusite kake vsebine osnov kombinirati. Tu velja pogum, štejejo pa izkušnje in pretečeni kilometri. Ko obvladamo osnove, je čas za kombinacijo tehnologij, izbrane vsebine in učne projekte. Pri projektih govorimo o orkestraciji tehnologij. Dejstvo je, da samo z eno tehnologijo lahko naredimo bore malo.
Za trening pythona rabite samo povezavo na moj domači strežnik z naloženo slovensko izdajo in že lahko poljubno spreminjate in preizkušate programe. Praktično vsaka naprava, ki jo uporabljamo v našem laboratoriju nove mehatronike na TŠC Maribor ima v sebi računalnik in Slovensko izdajo. Enostavno, poceni in hitro, kot še nikoli v zgodovini. Če morda pomnite politične akcije okoli računalnika pod 100€, je to to. Za nas elektrotehnike je pa to izpolnitev tehnoloških želja skozi desetletja in seveda ultimativno orodje razvoja.
Naslednjič
Preden nadaljujemo, si moramo pogledati minimalno učilo. Kako si nabavimo material, kako povežemo modul s štirimi tipkami in štirimi diodami na GPIO vtikač male matične plošče. Posebej za minimalno učilo so napisane vaje, ki med drugim pokažejo, kako lahko na en GPIO pin priključimo tipko in LEDici ter obe polno izkoriščamo. Popravljene in posodobljene so tudi vaje za osnovna vrata in časovne člene. Vmes ste vabljeni k nakupu matične plošče in modulčka. Rabite še povezovalne kable, SD kartico in napajalnik. Večina prenosnih računalnikov že ima vgrajen čitalnikSD kartic, poskrbeti moramo samo za adapter za male SD kartice.
Vedno bolj se kaže uporabna vrednost minimalne postavitve učila, ki ima poleg male matične plošče priključene samo še tipke (Vir:6). Gre za dejstvo, da lahko 80% vaj pripravimo z minimalno postavitvijo, vključno z vajami povezovanja (učenci morajo povezati 6 linij po Arduino standardu). Drugi razlog je cena, ki skupaj z napajalnikom, SD kartico in modulom ne preseže 60€.
Viri:
http://si.raspberryip.com/python/osnove/
https://www.python.org/
https://cython.org/
http://si.raspberryip.com/
https://www.youtube.com/watch?v=jf3GdvAFHsE
https://www.banggood.com/CJMCU-0401-4-bit-Button-Capacitive-Touch-Proximity-Sensor-Module-With-Self-locking-Function-p-1118016.html
https://www.youtube.com/watch?v=rfscVS0vtbw
http://si.raspberryip.com/