1 Pythoni sisseehitatud andmetüübid¶
Andmetüüp ja selle esindaja ehk objekt on programmeerimises olulised mõisted. Erinevad andmetüübi objektid on kasulikud erinevates olukordades. Pythoniga tuleb kaasa mitmeid sisseehitatud andmetüüpe milledest tänases loengus tutvume põgusalt kolmega: täisarvud (int
), kümnendmurd arvud (float
) ja sõned/tähemärgid (str
). Andmetüübid ja objektid on defineeritud Pythoni klassi abil. Klassi mõistet arutame põhjalikumalt tulevastes loengutes.
Joonis 1 kujutab visuaalselt programmeerimist Pythonis, Pythoni programmi ja selle erinevaid osi ning nende omavahelisi seoseid. Leia jooniselt klass. Kursuse jooksul seletame Joonisel 1 kujutatud skeemi sisu detailsemalt.
Joonis 1. Programmeerimine Pythonis. Pythoni programm ja selle osad. |
2 Lihtne aritmeetika ja valik aritmeetika operaatoreid¶
Aritmeetiline operatsioon matemaatikas ja ka Pythonis on arvudega sooritatav liitmis-, lahutamis-, korrutamis- ja/või jagamistehe. Mõnikord nimetatakse aritmeetilisteks teheteks ka astendamist või muid tehteid arvudega. Tulevastes loengutes laiendame Pythoni operaatorite teemat (tehete järjekord, muud Pythoni operaatorid, operaatorite seos maagiliste (spetsiaalsete) meetoditega, Pythoni klassid jne.).
Operaator | Operatsioon |
---|---|
+ |
summa (addition) |
- |
vahe (subtraction) |
* |
korrutamine (multiplication) |
/ |
jagamine (division) |
% |
jagamise jääk (modulus or remainder) |
** |
astendamine (exponent or power) |
// |
jagatise täisosa (floor division) |
Aritmeetika tehteid täis- ja kümnendmurd arvudega:
6 / 3
2.0
10.0 / 3.0
3.3333333333333335
10 % 3
1
10 ** 3
1000
10 // 3
3
Mitme operaatori kasutamine ühes tehtes. Siin kehtivad kooliaritmeetikast tuntud tehete järjekorra reeglid. Vajadusel saab tehete järjekorda juhtida kasutades sulge. Leiame:
$$ \frac{2 \cdot 20}{2^{2+1}} $$
(2*20) / 2**(2+1)
5.0
2 * 20 / 2**(2+1)
5.0
# See rida ei sisalda koodi...
# Interpretaator ignoreerib seda ja eelmist rida.
1 / 2 # Kommentaar: see rida teostab arvutuse 1/2.
0.5
3.2 Sõne defineerimine¶
Pythoni andmetüüp sõne (str
) ehk tavakeeles tekst on tähemärk või tähemärkide kogum. Proovime sisestada teksti:
Python
--------------------------------------------------------------------------- NameError Traceback (most recent call last) Cell In[9], line 1 ----> 1 Python NameError: name 'Python' is not defined
Pythoni interpretaator tõstatas veateate (erisuse). Interpretaator ei saanud sinu sisendist aru.
Sõne sisestamiseks peame kasutama jutumärke:
'Python'
'Python'
"Python"
'Python'
'''Python''' # Vt. ka alla.
'Python'
"""Python""" # Vt. ka alla.
'Python'
Kuidas kasutada jutumärke '
ja "
sõne osana?
'Juulius ütles: "Olen maskott!".'
'Juulius ütles: "Olen maskott!".'
"Juulius ütles: 'Olen maskott!'."
"Juulius ütles: 'Olen maskott!'."
'''"Isa pahandas, 'Mina keeldun laulmast'", ta ütles emale.'''
'"Isa pahandas, \'Mina keeldun laulmast\'", ta ütles emale.'
Märkus: väljastatud \
on nn. escape character, escape tag või exit tag, kus \'
on ülakoma tähistav kirjapilt. Sarnaselt saame ka meie väljastada ülakoma või muid sümboleid (tulevastes loengutes räägime sellest rohkem). Proovime seda ise kasutada:
'"Isa pahandas, \'Mina keeldun laulmast\'", ta ütles emale.'
'"Isa pahandas, \'Mina keeldun laulmast\'", ta ütles emale.'
Kuidas luua mitmerealisi sõnesid (multi-line string)?
'''Juulius
Tipikas on
tore maskott.'''
'Juulius \nTipikas on \ntore maskott.'
Escape tag'i abil defineeritud spetsiaalne sümbol \n
tähistab reavahetust. Proovime seda ise kasutada:
'Juulius \nTipikas on \ntore maskott.'
'Juulius \nTipikas on \ntore maskott.'
Interpretaator mõistab sõnet milles puuduvad tähemärgid või muud sümbolid (k.a. tühik) ehk see on tühi (veateadet ei tõstatata):
''
''
3.3 Sisseehitatud funktsioon print
¶
Pythoniga tuleb kaasa mitmeid sisseehitatud funktsioone. Pythoni funktsioonid käituvad sarnaselt koolimatemaatikast tuntud funktsioonidega. Funktsioonid võtavad vastu argumendi või argumendid ja väljastavad neile vastava väljundi kasutades eelnevalt salvestatud juhiseid.
Pythoni funktsioon print
prindib konsooli enda argumendi/d. Argumediks sobivad kõik selles loengus tutvustatud andmetüübid. Pythoni funktsiooni argument paigutatakse sulgude sisse.
print(6)
6
print(66.6)
66.6
print('666')
666
print(2 + 2) # Tehe teostatakse enne funktsiooni print rakendamist.
4
print('Python on lahe.')
Python on lahe.
print('Juulius ütles: "Olen maskott!"')
Juulius ütles: "Olen maskott!"
print('''"Isa pahandas, 'Mina keeldun laulmast'", ta ütles emale.''')
"Isa pahandas, 'Mina keeldun laulmast'", ta ütles emale.
print('''Juulius
Tipikas on
maskott.''')
Juulius Tipikas on maskott.
Funktsioon print
suudab vastu võtta mitut argumenti, argumente eristame komaga:
print('abc', 'd', 'e', 4)
abc d e 4
4 Minu esimene programm¶
Vastavalt pikaajalisele traditsioonile peetakse esimeseks programmiks nn. Hello, World! programmi. Programm väljastab konsooli lause Hello, World!
.
print('Hello, World!')
Hello, World!