Loeng 1: Python, sissejuhatus programmeerimisse Pythonis, Pythoni installeerimine, konsool, Jupyter, minu esimene programm, lihtne aritmeetika, sõne (string), funktsioon print¶

Viimati uuendatud 19.11.2024.

Koodinäited¶

Pythoni sisseehitatud andmetüübid¶

Andmetüüp ja selle esindaja ehk objekt on programmeerimises olulised mõisted. Erinevad andmetüübi objektid teevad erinevaid asju. Pythoniga tuleb kaasa mitmeid andmetüüpe millest tänases loengus tutvume põgusalt kolemga: 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 tulevastes loengutes. Joonis 1 kujutab visuaalselt programmeerimist Pythonis, leia jooniselt klass.

No description has been provided for this image
Joonis 1. Programmeerimine Pythonis.

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 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:

In [1]:
6 / 3
Out[1]:
2.0
In [2]:
10.0 / 3.0
Out[2]:
3.3333333333333335
In [3]:
10 % 3
Out[3]:
1
In [4]:
10 ** 3
Out[4]:
1000
In [5]:
10 // 3
Out[5]:
3

Mitme operaatori kasutamine ühes tehtes. Siin kehtivad kooliaritmeetikast tuntud tehete järjekorra reeglid. Leiame:

$$ \frac{2 \cdot 20}{2^{2+1}} $$
In [6]:
(2*20) / 2 ** (2+1)
Out[6]:
5.0

Sõne (string) ja sisseehitatud funktsioon print¶

Koodi kommenteerimine¶

Pythoni programmikoodi saab kommenteerida ehk lisada sellele inimloetavaid märkusi mida interpretaator ignoreerib. Kommentaare ei interpreteerita. Kommentaari lisamiseks kasuta #:

In [7]:
# See rida ei sisalda koodi...
1 / 2  # Kommentaar: see rida teostab arvutuse 1/2
Out[7]:
0.5

Sõne defineerimine¶

Pythoni andmetüüp sõne (str) ehk tavakeeles tekst on tähemärk või tähemarkide kogum. Proovime sisestada teksti:

In [8]:
Python
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
Cell In[8], line 1
----> 1 Python

NameError: name 'Python' is not defined

Pythoni interpretaator tõstatas veateate (erisuse). Interpretaator ei saanud sinust aru.

Sõne sisestamiseks peame kasutama jutumärke:

In [9]:
'Python'
Out[9]:
'Python'
In [10]:
"Python"
Out[10]:
'Python'
In [11]:
'''Python'''  # Vt. ka alla.
Out[11]:
'Python'
In [12]:
"""Python"""  # Vt. ka alla.
Out[12]:
'Python'

Kuidas kasutada jutumärke ' ja " sõne osana?

In [13]:
'Juulius ütles: "Olen maskott!".'
Out[13]:
'Juulius ütles: "Olen maskott!".'
In [14]:
"Juulius ütles: 'Olen maskott!'."
Out[14]:
"Juulius ütles: 'Olen maskott!'."
In [15]:
'''"Isa pahandas, 'Mina keeldun laulmast'", ta ütles emale.'''
Out[15]:
'"Isa pahandas, \'Mina keeldun laulmast\'", ta ütles emale.'

Märkus: väljastatud \ on nn. 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).

In [16]:
'"Isa pahandas, \'Mina keeldun laulmast\'", ta ütles emale.'
Out[16]:
'"Isa pahandas, \'Mina keeldun laulmast\'", ta ütles emale.'

Kuidas luua mitmerealisi sõnesid (multi-line string)?

In [17]:
'''Juulius 
Tipikas on 
tore maskott.'''
Out[17]:
'Juulius \nTipikas on \ntore maskott.'

Exit tag'i abil defineeritud spetsiaalne sümbol \n tähistab reavahetus.

In [18]:
'Juulius \nTipikas on \ntore maskott.'
Out[18]:
'Juulius \nTipikas on \ntore maskott.'

Interpretaator mõistab sõnet milles puuduvad tähemärgid või muud sünbolid (k.a. tühik) ehk see on tühi (veateadet ei teki):

In [19]:
''
Out[19]:
''

Sisseehitatud funktsioon print¶

Pythoniga tuleb kaasa mitmeid 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 juhistele.

Pythoni funktsioon print prindib konsooli enda argumendi/d. Argumediks sobivad kõik selles loengus tutvustatud andmetüübid. Argument paigutatakse sulgude sisse.

In [20]:
print(6)
6
In [21]:
print(66.6)
66.6
In [22]:
print('666')
666
In [23]:
print(2 + 2)  # Tehe teostatakse enne funk. rakendamist.
4
In [24]:
print('Python on lahe.')
Python on lahe.
In [25]:
print('Juulius ütles: "Olen maskott!"')
Juulius ütles: "Olen maskott!"
In [26]:
print('''"Isa pahandas, 'Mina keeldun laulmast'", ta ütles emale.''')
"Isa pahandas, 'Mina keeldun laulmast'", ta ütles emale.
In [27]:
print('''Juulius 
Tipikas on 
maskott.''')
Juulius 
Tipikas on 
maskott.

Funktsioon print suudab vastu võtta mitut argumenti, argumente eristame komaga:

In [28]:
print('abc', 'd', 'e', 4)
abc d e 4

Minu esimene programm¶

Vastavalt pikaajalisele traditsioonile peetakse esimeseks programmiks nn. Hello, World! programmi. Programm väljastab konsooli lause Hello, World!.

In [29]:
print('Hello, World!')
Hello, World!

Tehtud töö salvestamine TTÜ arvutisüsteemi arvutites¶

Kui soovite taaskasutada arvutiklassi arvutis eelmistes loengutes tehtud tööd siis salvestage see võrgukettale nimega P (500 MB). Isikliku arvuti kasutamine pole keelatud.


Lisad 1 ja 2¶

Kliki siia.

















☻   ☻   ☻