Kordamine. Kokkuvõtlikud tabelid
Sellel lehel on kokkuvõte kursusel kasutatud olulisematest Pythoni funktsioonidest, meetoditest ja muudest operatsioonidest. Materjali eesmärk on aidata meenutada, mida mingi funktsioon või meetod teeb, mida see tagastab ning kas see muudab olemasolevat objekti.
Oluline on eristada:
- funktsiooni, näiteks
len(järjend)võimax(arvud); - meetodit, mida rakendatakse konkreetsele objektile, näiteks
järjend.append(5)võitekst.lower(); - atribuuti, mille järel sulge ei kirjutata, näiteks
fail.closed; - Pythoni konstruktsioone ja võtmesõnu, näiteks
if,for,while,def,return,in,break,withjaassert.
1. Pythoni põhifunktsioonid
| Funktsioon | Mida teeb? | Näide | Tulemus / oluline tähelepanek |
|---|---|---|---|
print(...) | Väljastab väärtused ekraanile | print("Tere", nimi) | Võib väljastada mitu väärtust; end="" abil saab vältida reavahetust. |
input(...) | Küsib kasutajalt sisendi | nimi = input("Nimi: ") | Tagastab alati sõne (str). |
type(x) | Leiab väärtuse tüübi | type(4.5) | float |
int(x) | Teisendab täisarvuks | int("12") | 12 |
float(x) | Teisendab ujukomaarvuks | float("3.5") | 3.5 |
str(x) | Teisendab sõneks | str(15) | "15" |
bool(x) | Teisendab tõeväärtuseks | bool(0) | False |
round(x) | Ümardab arvu | round(3.6) | 4 |
round(x, n) | Ümardab n komakohani | round(3.14159, 2) | 3.14 |
len(x) | Leiab elementide või märkide arvu | len([4, 7, 2]) | 3 |
min(x) | Leiab vähima väärtuse | min([8, 2, 5]) | 2 |
max(x) | Leiab suurima väärtuse | max([8, 2, 5]) | 8 |
sum(x) | Liidab arvulised elemendid | sum([2, 4, 5]) | 11 |
sorted(x) | Tagastab sorteeritud uue järjendi | sorted([4, 1, 3]) | [1, 3, 4] |
range(...) | Tekitab täisarvude vahemiku | range(2, 6) | Väärtused 2, 3, 4, 5 |
list(x) | Teisendab väärtused järjendiks | list(range(3)) | [0, 1, 2] |
tuple(x) | Teisendab väärtused ennikuks | tuple([3, 4]) | (3, 4) |
set(x) | Loob hulga | set([1, 1, 2]) | Korduvad väärtused eemaldatakse. |
dict(x) | Loob sõnastiku | dict([("A", 1), ("B", 2)]) | Loob võti-väärtus paaridest sõnastiku. |
open(...) | Avab faili | open("andmed.txt", encoding="UTF-8") | Tagastab failiobjekti. |
id(x) | Tagastab objekti identiteedi | id(a) | Kasulik viitamise uurimisel. |
isinstance(x, tüüp) | Kontrollib, kas objekt on etteantud tüüpi | isinstance(x, list) | True või False |
Funktsioon range
Funktsiooni range saab kasutada mitmel kujul:
range(5) # 0, 1, 2, 3, 4 range(2, 6) # 2, 3, 4, 5 range(2, 10, 2) # 2, 4, 6, 8 range(5, 0, -1) # 5, 4, 3, 2, 1
Lõppväärtus ise vahemikku ei kuulu.
Näiteks range(2, 6) annab väärtused 2, 3, 4 ja 5, mitte 6.
Levinumad operaatorid
| Operaatorid | Tähendus |
|---|---|
+, -, *, / | Liitmine, lahutamine, korrutamine ja jagamine |
//, %, ** | Täisarvuline jagamine, jääk ja astendamine |
==, !=, <, <=, >, >= | Väärtuste võrdlemine; tulemuseks on True või False |
and, or, not | Loogilised tehted |
in, not in | Kuuluvuse kontroll |
2. Järjend (list) ja ennik (tuple)
Järjend on muteeritav andmestruktuur. See tähendab, et pärast järjendi loomist saab selle sisu muuta.
| Meetod | Mida teeb? | Näide | Kas järjend muutub? |
|---|---|---|---|
append(x) | Lisab ühe elemendi järjendi lõppu | a.append(5) | Jah |
insert(i, x) | Lisab elemendi indeksile i | a.insert(1, 5) | Jah |
count(x) | Loendab väärtuse x esinemised | a.count(5) | Ei |
remove(x) | Eemaldab esimese väärtuse x | a.remove(5) | Jah |
pop() | Eemaldab ja tagastab elemendi | x = a.pop() | Jah |
extend(x) | Lisab teise järjendi elemendid | a.extend([4, 5]) | Jah |
copy() | Loob madala koopia | b = a.copy() | Ei |
reverse() | Pöörab elementide järjekorra ümber | a.reverse() | Jah |
sort() | Sorteerib järjendi | a.sort() | Jah |
clear() | Eemaldab kõik elemendid | a.clear() | Jah |
append ja extend
a = [1, 2] a.append([3, 4]) print(a)
Tulemus:
[1, 2, [3, 4]]
append lisab etteantud väärtuse ühe elemendina.
a = [1, 2] a.extend([3, 4]) print(a)
Tulemus:
[1, 2, 3, 4]
extend lisab teise järjendi elemendid ükshaaval.
sort ja sorted
a = [3, 1, 2] a.sort()
Meetod sort() muudab järjendit ennast.
Pärast käskude täitmist on a väärtus:
[1, 2, 3]
Seevastu:
a = [3, 1, 2] b = sorted(a)
jätab järjendi a muutmata ja annab muutujale b uue sorteeritud järjendi.
Seega:
a == [3, 1, 2] b == [1, 2, 3]
Järjendi tavalisemad operatsioonid
Lisaks meetoditele saab järjendit indekseerida (a[i]), viilutada (a[algus:lõpp:samm]), kontrollida elemendi kuulumist (x in a), ühendada teise järjendiga (a + b) ja muuta elementi (a[i] = väärtus).
Ennik (tuple)
Ennik sarnaneb järjendiga, kuid on mittemuteeritav: pärast loomist ei saa selle elemente lisada, eemaldada ega muuta. Ennikut saab indekseerida ja viilutada ning sellega töötavad näiteks len(), min(), max() ja in. Ühe elemendiga enniku puhul on koma vajalik: (1,).
3. Sõne (str) meetodid
Sõne on mittemuteeritav. Sõnemeetod ei muuda olemasolevat sõne, vaid tagastab tavaliselt uue sõne või muu väärtuse.
| Meetod | Mida teeb? | Näide | Tulemus |
|---|---|---|---|
lower() | Muudab tähed väiketähtedeks | "Tere".lower() | "tere" |
upper() | Muudab tähed suurtähtedeks | "Tere".upper() | "TERE" |
strip() | Eemaldab algusest ja lõpust tühikud, reavahetused jm | " abc\\n".strip() | "abc" |
split() | Jagab sõne tühikute kohalt osadeks | "1 4 5".split() | ["1", "4", "5"] |
split(eraldaja) | Jagab sõne määratud eraldaja kohalt | "A;B;C".split(";") | ["A", "B", "C"] |
splitlines() | Jagab sõne reavahetuste kohalt ridadeks | "a\\nb".splitlines() | ["a", "b"] |
count(x) | Loendab alamstringi esinemised | "tere".count("e") | 2 |
replace(a, b) | Asendab a esinemised väärtusega b | "Gerd".replace("d", "t") | "Gert" |
index(x) | Leiab alamstringi algusindeksi | "abcde".index("cd") | 2 |
rjust(n, märk) | Joondab paremale ja täidab vasakult | "7".rjust(2, "0") | "07" |
Sõnet saab ka indekseerida (s[i]), viilutada (s[algus:lõpp:samm]) ja kontrollida alamstringi kuulumist (x in s).
Näiteks:
nimi = "Gerd"
nimi.replace("d", "t")
print(nimi)
väljastab endiselt:
Gerd
Meetod replace ei muutnud olemasolevat sõne.
Kui soovime uue sõne alles hoida, tuleb tagastatud väärtus omistada:
nimi = nimi.replace("d", "t")
Nüüd on nimi väärtus "Gert".
4. Hulk (set)
Hulk sisaldab unikaalseid elemente. Sama väärtust ei saa hulgas olla mitu korda.
Hulga elementidel ei ole järjendi moodi indeksitega määratud järjekorda.
| Meetod | Mida teeb? | Näide |
|---|---|---|
add(x) | Lisab elemendi hulka | h.add(5) |
remove(x) | Eemaldab elemendi | h.remove(5) |
update(h2) | Lisab teise hulga või muu itereeritava objekti elemendid | h.update(h2) |
pop() | Eemaldab ja tagastab ühe elemendi | x = h.pop() |
clear() | Eemaldab kõik elemendid | h.clear() |
copy() | Tagastab hulga koopia | h2 = h.copy() |
Hulkade tehted
| Tehe | Tähendus |
|---|---|
a & b | Hulkade ühisosa |
a | b | Hulkade ühend |
a - b | Hulkade vahe |
a ^ b | Hulkade sümmeetriline vahe |
a < b / a <= b | Kontrollib, kas a on b range / mitterange alamhulk |
a > b / a >= b | Kontrollib, kas a on b range / mitterange ülemhulk |
x in a | Kontrollib, kas element x kuulub hulka |
Tühja hulga loomiseks kasutatakse:
h = set()
Oluline:
h = {}
ei loo hulka, vaid tühja sõnastiku.
5. Sõnastik (dict)
Sõnastik koosneb võtme ja väärtuse paaridest. Võtmed on unikaalsed ja peavad olema mittemuteeritavat tüüpi; väärtused võivad olla mistahes tüüpi.
Näiteks:
vanused = {
"Mari": 20,
"Jüri": 22
}
| Kirjutis | Mida teeb? |
|---|---|
d[võti] | Tagastab võtmele vastava väärtuse. |
d[võti] = väärtus | Lisab uue kirje või muudab olemasoleva võtme väärtust. |
d.keys() | Annab sõnastiku võtmed. |
d.values() | Annab sõnastiku väärtused. |
d.items() | Annab võti-väärtus paarid. |
len(d) | Annab kirjete arvu. |
võti in d / võti not in d | Kontrollib võtme olemasolu sõnastikus. |
del d[võti] | Kustutab võtme koos sellele vastava väärtusega. |
Sõnastiku otsene läbimine for-tsükliga annab võtmed:
for nimi in vanused:
print(nimi, vanused[nimi])
Võtme ja väärtuse saab korraga kätte meetodiga items():
for nimi, vanus in vanused.items():
print(nimi, vanus)
6. Failidega töötamine
Faili avamiseks kasutatakse funktsiooni open.
Näiteks:
fail = open("andmed.txt", encoding="UTF-8")
| Funktsioon või meetod | Mida teeb? |
|---|---|
open(...) | Avab faili ja tagastab failiobjekti. |
readline() | Loeb ühe rea. |
readlines() | Loeb read järjendisse. |
read() | Loeb kogu ülejäänud faili sisu. |
read(n) | Loeb kuni n ühikut. |
write(s) | Kirjutab sõne faili. |
close() | Sulgeb faili. |
fail.closed | Atribuut, mille väärtus näitab, kas fail on suletud. |
Faili lugemine
fail = open("andmed.txt", encoding="UTF-8")
for rida in fail:
rida = rida.strip()
print(rida)
fail.close()
Failist saadud rea lõpus on tavaliselt reavahetuse märk. Meetod strip() on seetõttu failide lugemisel sageli kasulik.
Faili kirjutamine
Faili avamisel kirjutamiseks kasutatakse näiteks:
fail = open("tulemus.txt", "w", encoding="UTF-8")
fail.write("Tere\n")
fail.close()
Faili avamisrežiimidest "r" tähendab lugemist (vaikimisi), "w" kirjutamist koos varasema sisu ülekirjutamisega ja "a" faili lõppu lisamist.
with konstruktsioon
Failidega töötamisel saab kasutada ka with konstruktsiooni:
with open("andmed.txt", encoding="UTF-8") as fail:
for rida in fail:
print(rida.strip())
Sellisel juhul suletakse fail ploki lõppedes automaatselt.
7. Viitamine ja kopeerimine
Kahe muutuja kasutamine ei tähenda alati kahe eraldi objekti olemasolu.
Näiteks:
a = [1, 2, 3] b = a
Nüüd viitavad a ja b samale järjendiobjektile.
Seetõttu:
b.append(4) print(a)
annab tulemuseks:
[1, 2, 3, 4]
Objektide identiteeti saab uurida funktsiooniga id:
print(id(a)) print(id(b))
Kui mõlemad muutujad viitavad samale objektile, on nende objektide identiteedid samad.
Madal koopia
Järjendist saab teha koopia:
b = a.copy()
või näiteks:
b = list(a)
Sellisel juhul on a ja b kaks eri järjendiobjekti.
Pesastatud andmestruktuuride puhul tuleb siiski arvestada, et copy() teeb madala koopia.
Sügav koopia
Pesastatud andmestruktuuride täielikuks kopeerimiseks võib kasutada deepcopy funktsiooni:
from copy import deepcopy b = deepcopy(a)
deepcopy loob koopiad ka pesastatud objektidest.
8. Juhuarvud, matemaatika ja ajaline viivitus
Moodulis olevate funktsioonide kasutamiseks tuleb vastav moodul või funktsioon importida.
Juhuarvud – random
Näiteks:
from random import randint arv = randint(1, 6)
| Funktsioon | Mida teeb? |
|---|---|
randint(a, b) | Tagastab juhusliku täisarvu vahemikust a kuni b, kusjuures mõlemad piirid kuuluvad võimalike tulemuste hulka. |
Seega:
randint(1, 6)
võib tagastada nii 1 kui ka 6.
See erineb funktsioonist range:
range(1, 6)
mille väärtuste hulka 6 ei kuulu.
Ajaline viivitus – time
from time import sleep sleep(1)
sleep(1) peatab programmi töö ligikaudu üheks sekundiks.
Matemaatilised funktsioonid – math
from math import sqrt, cos
| Funktsioon | Mida teeb? |
|---|---|
sqrt(x) | Arvutab arvu ruutjuure. |
cos(x) | Arvutab koosinuse. |
Näiteks:
sqrt(25)
annab väärtuse:
5.0
9. Kilpkonnagraafika
Kilpkonnagraafikas kasutatakse funktsioone liikumiseks ja joonistamiseks.
| Funktsioon | Mida teeb? |
|---|---|
forward(x) / fd(x) | Liigub x ühikut edasi. |
back(x) / backward(x) / bk(x) | Liigub x ühikut tagasi. |
left(kraadid) / lt(kraadid) | Pöörab vasakule. |
right(kraadid) / rt(kraadid) | Pöörab paremale. |
circle(r) / circle(r, kraadid) | Joonistab ringi või kaare. |
color(...) | Määrab värvi. |
pencolor(...) | Määrab joone värvi. |
fillcolor(...) | Määrab täitevärvi. |
begin_fill() | Alustab täidetava kujundi joonistamist. |
end_fill() | Lõpetab kujundi täitmise. |
up() | Tõstab pliiatsi üles. |
down() | Paneb pliiatsi maha. |
bgcolor(...) | Määrab taustavärvi. |
exitonclick() | Hoiab akna avatuna kuni sellel klõpsatakse. |
Näiteks:
from turtle import * forward(100) left(90) forward(100) exitonclick()
10. EasyGUI
EasyGUI abil saab luua lihtsaid graafilisi dialoogiaknaid.
| Funktsioon | Mida teeb? |
|---|---|
msgbox(...) | Kuvab teate. |
buttonbox(...) | Kuvab valikunupud. |
choicebox(...) | Võimaldab valida väärtuse loendist. |
enterbox(...) | Küsib tekstisisendit. |
integerbox(...) | Küsib täisarvu. |
fileopenbox() | Avab faili valimise dialoogi. |
filesavebox() | Avab faili salvestamise dialoogi. |
Näiteks:
from easygui import *
nimi = enterbox("Sisesta oma nimi")
msgbox("Tere, " + nimi)
11. Veebist andmete lugemine ja JSON
Veebist andmete saamiseks saab kasutada urllib.request moodulit.
Näiteks:
from urllib.request import urlopen vastus = urlopen(url)
| Funktsioon või meetod | Mida teeb? |
|---|---|
urlopen(url) | Avab veebiaadressi ja tagastab vastuseobjekti. |
read() | Loeb vastuse baidid. |
decode("utf8") | Teisendab baidid sõneks. |
close() | Sulgeb ühenduse. |
json.loads(s) | Teisendab JSON-kujul oleva sõne Pythoni andmestruktuuriks. |
webbrowser.open(url) | Avab veebilehe brauseris. |
Tüüpiline tegevuste jada:
from urllib.request import urlopen
import json
vastus = urlopen(url)
sisu = vastus.read().decode("utf8")
andmed = json.loads(sisu)
Oluline on tähele panna, kuidas andmetüüp etappide jooksul muutub:
veebivastus -> baidid -> sõne -> Pythoni andmestruktuur
12. Testimine
Programmi töö kontrollimiseks saab kasutada assert lauset.
Näiteks:
assert paaris_liitmine(0) == 1
Kui tingimus on tõene, jätkub programmi töö.
Kui tingimus on väär, tekib AssertionError.
assert ei ole funktsioon, vaid Pythoni lause.
unittest
unittest moodulis kasutatakse näiteks järgmisi meetodeid ja funktsioone:
| Meetod või funktsioon | Mida teeb? |
|---|---|
self.assertEqual(a, b) | Kontrollib, kas a == b. |
unittest.main() | Käivitab testid. |
Testimise näide
Oletame, et meil on funktsioon, mis tagastab etteantud arvu ruudu:
def ruut(arv):
return arv ** 2
Funktsiooni tööd saab kontrollida assert lausete abil:
assert ruut(2) == 4 assert ruut(-3) == 9 assert ruut(0) == 0
Kui kõik tingimused on tõesed, jätkub programmi töö ilma veateateta. Kui mõni oodatud tulemus ei vasta tegelikule tulemusele, tekib AssertionError.
Sama funktsiooni saab testida ka unittest mooduli abil:
import unittest
def ruut(arv):
return arv ** 2
class TestRuut(unittest.TestCase):
def test_positiivne_arv(self):
self.assertEqual(ruut(2), 4)
def test_negatiivne_arv(self):
self.assertEqual(ruut(-3), 9)
def test_null(self):
self.assertEqual(ruut(0), 0)
unittest.main()
Iga test kontrollib ühte konkreetset juhtu. Meetod assertEqual(a, b) kontrollib, kas tegelik tulemus a võrdub oodatud tulemusega b.
13. Pandas: Series ja DataFrame
Andmetabelitega töötamisel kasutatakse Pandase teeki.
import pandas as pd
Andmete loomine ja lugemine
| Funktsioon | Mida teeb? |
|---|---|
pd.Series(...) | Loob Pandase seeria. |
pd.DataFrame(...) | Loob andmefreimi. |
pd.read_csv(...) | Loeb CSV-faili andmefreimiks. |
Meetodid
| Meetod | Mida teeb? |
|---|---|
sort_values(...) | Sorteerib väärtuste järgi. |
sort_index() | Sorteerib indeksite järgi. |
sum() | Arvutab summa. |
append(...) | Ühendab kursuse näites seeria andmed teise seeriaga. |
join(...) | Ühendab andmefreime. |
head(n) | Tagastab esimesed n rida. |
tail(n) | Tagastab viimased n rida. |
set_index(...) | Määrab veeru indeksiks. |
pop(...) | Eemaldab ja tagastab veeru. |
drop(...) | Tagastab tabeli, kust määratud read või veerud on eemaldatud. |
rename(...) | Muudab nimesid või silte. |
mean() | Arvutab keskmise. |
plot(...) | Koostab graafiku. |
plot.bar() | Koostab tulpdiagrammi. |
Näiteks pop muudab olemasolevat tabelit:
eemaldatud = andmed.pop("Uus veerg")
Seevastu drop puhul kasutatakse sageli tagastatud uut tabelit:
andmed = andmed.drop(["Uus veerg"], axis=1)
Atribuudid ja indekseerijad
Järgmiste järel sulge ei kasutata.
| Kirjutis | Tähendus |
|---|---|
s.size | Elementide arv |
df.shape | Tabeli mõõtmed |
df.columns | Veergude nimed |
df.index | Indeks |
df.T | Transponeeritud tabel |
df.loc[...] | Ridade ja veergude valimine siltide järgi |
Oluline on eristada meetodit ja atribuuti:
df.head() # meetod – sulud on vajalikud df.shape # atribuut – sulge ei ole
14. Matplotlib
Graafikute vormistamisel kasutatakse näiteks moodulit matplotlib.pyplot:
import matplotlib.pyplot as plt
| Funktsioon | Mida teeb? |
|---|---|
plt.title(...) | Määrab graafiku pealkirja. |
plt.xlabel(...) | Määrab x-telje nimetuse. |
plt.ylabel(...) | Määrab y-telje nimetuse. |
plt.show() | Kuvab graafiku. |
15. Klassid ja meetodid
Klassi sees defineeritud funktsiooni nimetatakse meetodiks.
Näiteks:
class Inimene:
def __init__(self, nimi):
self.nimi = nimi
def tervita(self):
print("Tere, olen", self.nimi)
Objekti ehk klassi isendi loomine:
mari = Inimene("Mari")
Meetodi kasutamine:
mari.tervita()
| Meetod või konstruktsioon | Tähendus |
|---|---|
__init__(self, ...) | Käivitatakse objekti loomisel ja kasutatakse isendi algväärtustamiseks. |
__str__(self) | Määrab objekti sõnelise esituse. |
obj.meetod() | Kutsub meetodi konkreetse isendi jaoks. |
Klass(...) | Loob klassi isendi. |
self viitab konkreetsele isendile, mille meetodit parajasti kasutatakse.
Olulised erinevused, mida tasub meeles pidada
Järgnevas tabelis on koos konstruktsioonid, mis võivad esmapilgul sarnased tunduda, kuid käituvad erinevalt.
| Võrdlus | Erinevus |
|---|---|
input() ja int(input()) | input() tagastab sõne, int(input()) teisendab sisendi täisarvuks. |
int(1.9) ja round(1.9) | Esimene annab 1, teine 2. int ei ümarda, vaid eemaldab murdosa. |
round(x, 2) ja f"{x:.2f}" | round tagastab arvulise väärtuse, f-sõne vormindamine tagastab sõne. |
range(1, 5) ja randint(1, 5) | range ei kaasa väärtust 5, randint võib tagastada ka 5. |
append ja extend | append lisab ühe elemendi, extend lisab etteantud objekti elemendid ükshaaval. |
sort() ja sorted() | sort() muudab järjendit, sorted() jätab algse objekti muutmata ja tagastab uue järjendi. |
reverse() ja a[::-1] | reverse() muudab järjendit, viilutus loob uue järjendi. |
copy() ja deepcopy() | Esimene teeb madala, teine sügava koopia. |
replace() sõne puhul | Olemasolevat sõne ei muudeta, vaid tagastatakse uus sõne. |
list ja tuple | Järjend on muteeritav, ennik mittemuteeritav. |
set() ja {} | set() loob tühja hulga, {} tühja sõnastiku. |
remove() ja pop() | remove eemaldab etteantud väärtuse; pop eemaldab ja tagastab elemendi. |
readline() ja read() | readline() loeb ühe rea, read() ülejäänud faili sisu. |
read() ja readlines() | read() tagastab sõne, readlines() ridade järjendi. |
len(a) ja a.append(x) | len on funktsioon, append konkreetse järjendi meetod. |
return ja print | return tagastab väärtuse funktsiooni väljakutsujale, print kuvab väärtuse ekraanile. |
None | Tähendab väärtuse puudumist. Paljud objekti muutvad meetodid tagastavad None. |
Funktsioon, meetod või atribuut?
Koodi lugemisel aitab süntaks sageli aru saada, millega on tegemist.
| Näide | Mis see on? |
|---|---|
len(a) | Funktsioon |
sorted(a) | Funktsioon |
a.append(5) | Meetod |
tekst.lower() | Meetod |
fail.read() | Meetod |
fail.closed | Atribuut |
obj.nimi | Atribuut |
return | Võtmesõna |
assert | Pythoni lause |
Kas objekt muutub?
Koodi töö käigust arusaamiseks on väga oluline teada, kas operatsioon muudab olemasolevat objekti või tagastab uue väärtuse.
| Operatsioon | Kas objekt muutub? | Mida tagastab? |
|---|---|---|
a.append(x) | Jah | None |
a.insert(i, x) | Jah | None |
a.remove(x) | Jah | None |
a.pop() | Jah | Eemaldatud elemendi |
a.sort() | Jah | None |
a.reverse() | Jah | None |
sorted(a) | Ei | Uue sorteeritud järjendi |
a.copy() | Ei | Uue järjendi |
s.lower() | Ei | Uue sõne |
s.upper() | Ei | Uue sõne |
s.strip() | Ei | Uue sõne |
s.replace(a, b) | Ei | Uue sõne |
s.split() | Ei | Järjendi |
len(a) | Ei | Täisarvu |
sum(a) | Ei | Arvulise väärtuse |
Näide: sort ja sorted
Vaata järgnevat programmi:
a = [3, 1, 2] b = a.sort()
Pärast nende ridade täitmist on:
a == [1, 2, 3] b is None
Meetod sort() muutis järjendit a, kuid ei tagastanud sorteeritud järjendit.
Seevastu:
a = [3, 1, 2] b = sorted(a)
annab:
a == [3, 1, 2] b == [1, 2, 3]
Funktsioon sorted() ei muutnud algset järjendit ning tagastas uue sorteeritud järjendi.
Näide: return ja print
Vaatame kahte funktsiooni.
def ruut1(arv):
print(arv ** 2)
def ruut2(arv):
return arv ** 2
Esimene funktsioon kuvab tulemuse:
ruut1(5)
ekraanile ilmub:
25
kuid funktsioon ise ei tagasta arvulist tulemust.
Teine funktsioon tagastab väärtuse:
tulemus = ruut2(5) print(tulemus)
Muutuja tulemus väärtuseks saab 25.
Funktsiooni tagastatud väärtust saab seega kasutada edasistes arvutustes:
vastus = ruut2(5) + ruut2(3)
Näide: sisend ja andmetüüp
Funktsioon input() tagastab alati sõne.
vanus = input("Sisesta vanus: ")
print(type(vanus))
Kui kasutaja sisestab 20, on vanus siiski sõne "20".
Arvutamiseks tuleb väärtus vajadusel teisendada:
vanus = int(input("Sisesta vanus: "))
print(vanus + 1)
Näide: sõned on mittemuteeritavad
tekst = "Tere" tekst.upper() print(tekst)
Tulemus on endiselt:
Tere
Kui soovime suurtähtedega variandi salvestada:
tekst = tekst.upper()
Nüüd on tekst väärtus:
TERE
Näide: järjendid on muteeritavad
arvud = [1, 2, 3] arvud.append(4) print(arvud)
Tulemus:
[1, 2, 3, 4]
Meetod append muutis olemasolevat järjendit.