Prezentācija par atvērtā pirmkoda programmēšanas valodas Python izmantošanu skolā. Prezentācijā pamatota Python izvēle, sniegta īsa pamācība uzstādīšanā populārākajās operētājsistēmās, demonstrēti koda piemēri, kā arī dotas saites uz citiem piemēriem, praktiskiem uzdevumiem.
Prezentācija demonstrēta 2013. gada 1. novembrī LatSTE darbnīcas laikā LU Linux centrā.
Koda paraugus atradīsiet šajā saitē: http://ej.uz/py_kods
2. Programmēšana ir jaunais melnais
Ievērojamās vakances IKT jomā
start(it)
code.org un codeacademy
Igaunija
Programmēšanas nedēļa vai koda stunda
Eiropas Savienībā un ASV
8 LatSTE 2013 tēmas ir +/- par programmēšanu
4. Kāpēc Python?
Valoda viegla gan apgūšanai, gan koda lasīšanai
class myfirstjavaprog
{
public static void
main(String args[])
{
System.out.println("Hello World!");
}
}
program HelloWorld;
begin
writeln('Hello World');
end.
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World!";
return 0;
}
print("Hello, World!")
6. Kāpēc Python?
Python ir dažādu programmēšanas valodu reitingu pirmajā
trijniekā – desmitniekā.
Ar Python izstrādāti vai Python nodrošina darbību vairākiem
aktuāliem tīmekļa resursiem – Instagram, Pinterest, Rdio, Reddit,
Youtube, Gmail, Google Maps.
Un lietotnes vai to papildinājumi Dropbox, Blender 3D animāciju modelēšana, BitTorrent. Corel
Paint Shop Pro, Gimp, Inkscape paplašinājumi.
8. Python vizītkarti noslēdzot
Guido van Rossum – Nīderlande, 1991
Interpretatora valoda
Ar savu koda redaktoru IDLE un tkinter moduli
grafiskās vides programmu veidošanai
Python 2 un Python 3 (šodien par Python 3)
Datņu tips .py .pyw .pyc .pyo
10. Python prasības sistēmai
"Parasts" dators ar mūsdienīgu operētājsistēmu Linux, Windows, OS X.
Var uzstādīt Android telefonā vai planšetdatorā.
(Nepieciešams Python for Android, skriptu
palaidējs,koda redaktors).
Python koda redaktors pieejams arī iOS ierīcēm.
Meklēt iekš iTunes. Tiesa, par maksu.
11. Python uzstādīšana Linux
Ubuntu, Mint, Debian
sudo apt-get install python3 idle3
Fedora
su yum install python3 python3-tools
Arch
pacman -S python tk
Uzstādīto meklēt pie visām lietotnēm grupā Izstrāde
12. Python uzstādīšana Windows/OS X
python.org/download
Meklēt savu OS versiju, lejuplādēt un uzstādīt kā ierasts
Meklēt pie lietotnēm Python 3 - IDLE
16. Python izstrādes vide IDLE
Izceļ kodu
Liek pareizas un labo nepareizas atkāpes
Rindiņas pabeigšana (TAB, CTRL + space)
Atkļūdotājs (debugger)
Koda izpildīšana (F5)
17. Citas izstrādes vides
IDLE nav ērts, ja jāstrādā ar daudz datnēm vai ja
datorklasē jārāda ar projektoru. Ir alternatīvas:
Geany
Gedit
Sublime Text
PyDev spraudnis Eclipse
Vēl ~simts:
https://wiki.python.org/moin/PythonEditors
19. Python mainīgie un vienkāršas
darbības interpretatora vidē:
print(25 + 23)
...
print(25**23)
vards = “Python”
print(vards)
print(vards*5)
valodas = [“Python”,”C”,”Pascal”]
print(valodas[0])
20. Koda atvēršana, izpildīšana:
Python komentāri sākas ar #
# te var rakstīt visu, ko domā
Garāki komentāri sākas un beidzas ar '''
Koda atvēršana ar File – Open, izpilde ar F5
01_mainigie_darbibas.py
01a_mainigie_darbibas.py
01_uzdevums.py
21. Funkcijas
Ideālajā pasaulē Python kods ir organizēts ar
funkcijām.
Python atkāpe koda strukturēšanai ir 4
tukšumi.
def sveiki():
print(“Sveika, pasaule!”)
def taisnsturis(a, b):
return(a*b)
sveiki()
print(taisnsturis(4,5))
02_funkcijas.py
02_uzdevums.py
22. Sazarojumi
diena = 5
if diena == 5:
print(“Urrā, piektdiena, varēs ilgāk
palikt darbā”)
elif diena == 6 or diena == 7:
print(“Brīvdiena”)
else:
print(“Ej ka nu strādāt!”)
03_sazarojumi.py
23. Moduļi
Python kā valodu var iemācīties gandrīz vienā dienā.
Tam ir tikai 68 funkcijas.
Citu funkcionalitāti importē no moduļiem. Arī paši var
uzrakstīt moduli.
Mācoties par kādu moduli, datni nedrīkt nosaukt šī
moduļa vārdā!
import math
print(math.sin(pi/4))
print(math.sqrt(121))
print(math.factorial(12))
04_moduli.py
04a_moduli.py
04_uzdevums.py
24. Cikli
for i in range(1,6):
print(i)
valodas = [“python”,”php”,”ruby”]
for katrs in valodas:
print(katrs)
import random
a = 0
while a<= 10:
a += random.random()
print(a)
05_cikli.py
05a_cikli.py
05_uzdevums.py
25. Darbības ar datnēm
datne = open("teksts.txt","r")
saturs = datne.read()
datne.close()
print(saturs)
datne = open("teksts.txt","w")
datne.write(“Sveika, pasaule!”)
datne.close()
06_datnes.py
06_uzdevums.py
27. Grafiskais modulis turtle
Atslodzes brīžiem, pirmajām stundām, figūru
zīmēšanai, fraktāļiem.
Arī viena no iespējām 7. klasē pie algoritmiem.
08_rupucis.py
08a_rupucis.py
08_uzdevums.py
28. Grafiskais modulis tkinter
tkinter modulis ir iebūvēts, bet, iespējams, ne pats stilīgākais.
Ir alternatīvas:
–
wxPython, PyQT, PyGTK
Galvenie elementi:
–
“parastās” formas – pogas, teksta ievade un citi,
–
zīmēšanas virsma canvas,
–
attēlu importēšana (gif),
–
Tas viss ar grid() salikts rindās un kolonnās.
Izskats +/- līdzīgs visās platformās
09_grafiska_vide.py 09a_grafiska_vide.py 09_uzdevums.py
31. Vidējās izglītības standarts
Vispārējās vidējās izglītības mācību
priekšmeta Programmēšanas
pamati standarts ir realizējams,
izmantojot programmēšanas
valodu Python.
32. Riski, problēmas
Python 2 un Python 3:
–
Meklējot padomus internetā un nezinot mazās
atšķirības, var nekas nesanākt
–
Ir atsevišķi moduļi, kas nav pārnesti uz Python 3
(piemēram, PIL attēlu bibliotēka)
Literatūra latviešu valodā
Python nav informātikas olimpiādes valoda
34. Pygame
Modulis 2D spēļu izstrādei. Lieliski dokumentēta, ir
bezmaksas e-grāmatas ar kodu. Uzstādot jāpaseko
līdzi versijām.
Veicina un attīsta arī zīmēšanas, attēlu un skaņas
apstrādes prasmes.
pygame.org
35. Minecraft
Ar Python programmējams Minecraft serveris.
Tēma šķiet aktuāla, jo vairāki savstarpēji
nesaistīti autori izstrādā savas metodes. Arī
Latvijā.
Šis pagaidām ir tikai darbu sarakstā.
36. Attīstība nākotnei
Nokomplektēt konspektu, piemēru un
uzdevumu "iztikas minimumu" precīzai
standarta realizācijai un to nodot brīvai
lietošanai un pilnveidošanai.
Plašākas intereses gadījumā kursi
pedagogiem.
Iemācīties spēlēt Minecraft. :)