Pradžia / Programavimas / Python pradedantiesiems lietuviškai

Python pradedantiesiems lietuviškai

Kodėl Python – o ne kas nors kitas?

Jei esi čia, tikriausiai jau girdėjai, kad Python yra „lengva kalba pradedantiesiems”. Ir tai tiesa – bet ne visiškai dėl tų priežasčių, kurias dažniausiai mini. Python nėra lengva todėl, kad ji kažkaip „apgaudinėja” kompiuterį ar slepia sudėtingumą. Ji lengva todėl, kad jos sintaksė yra artima žmogiškai logikai. Kai rašai kodą Python, jis atrodo beveik kaip anglų kalba su keliais specialiais simboliais.

Palygink su C++ ar Java – ten prieš parašydamas „Labas, pasauli!” į ekraną, turėsi suprasti klases, kompiliatorius, tipų sistemas. Python atveju tai atrodo taip:

print("Labas, pasauli!")

Viskas. Viena eilutė. Jokių papildomų ceremonijų.

Bet svarbiau yra tai, kur Python naudojamas. Duomenų mokslas, dirbtinis intelektas, automatizavimas, tinklalapių kūrimas, kibernetinis saugumas – visur Python yra arba pirmoje, arba antroje vietoje. Tai reiškia, kad mokydamasis Python, ne tik išmoksti programuoti – atveri duris į daugybę skirtingų karjeros kelių.

Kaip susidėlioti aplinką ir nepasimesti nuo pat pradžių

Viena iš dažniausių klaidų, kurias daro pradedantieji – jie praleidžia valandas bandydami „teisingai” susikonfigūruoti aplinką, ir dar prieš parašydami pirmą eilutę kodo jau jaučiasi pervargę. Taip neturėtų būti.

Štai paprasčiausias kelias:

  • Atsisiųsk Python iš oficialios svetainės python.org. Rinkis naujausią stabilią versiją (šiuo metu tai 3.12.x). Diegimo metu būtinai pažymėk „Add Python to PATH” – jei to nepadarysi, turėsi papildomų galvos skausmų vėliau.
  • Instaliuok VS Code – tai redaktorius, kurį naudoja tiek pradedantieji, tiek profesionalai. Jis nemokamas, greitas ir turi puikų Python palaikymą per plėtinius.
  • Įdiek Python plėtinį VS Code – tiesiog atsidaryk plėtinių skiltį (Ctrl+Shift+X) ir ieškok „Python”. Pirmasis rezultatas iš Microsoft – tai, ko reikia.

Alternatyva tiems, kurie nenori nieko diegti: Google Colab. Tai naršyklėje veikianti Python aplinka, kuriai reikia tik Google paskyros. Idealiai tinka eksperimentams ir mokymuisi, ypač jei domina duomenų analizė ar mašininis mokymasis.

Dar vienas patarimas – nenaudok Python 2. Jis oficialiai nebepalaikomas nuo 2020 metų, bet internete vis dar pilna senų pamokų, kurios jį naudoja. Jei matai print "tekstas" be skliaustų – tai Python 2 sintaksė, praleisk tą pamoką.

Kintamieji, duomenų tipai ir visa ta teorija, kuri iš tikrųjų svarbi

Programavimas iš esmės yra darbas su duomenimis. Ir pirmiausia reikia suprasti, kaip Python saugo ir tvarko informaciją.

Kintamieji – tai tarsi dėžutės, į kurias dedi informaciją. Python atveju nereikia iš anksto nurodyti, kokio tipo informacija bus saugoma (skirtingai nuo Java ar C++):

vardas = "Tomas"
amzius = 25
ugis = 1.82
yra_studentas = True

Čia matome keturis pagrindinius duomenų tipus:

  • str (string) – tekstas, visada kabutėse
  • int – sveikasis skaičius
  • float – skaičius su kableliu (tiksliau – su tašku, nes Python naudoja angliškąjį formatą)
  • bool – loginė reikšmė, True arba False

Yra ir sudėtingesni tipai – sąrašai (list), žodynai (dict), rinkiniai (set) ir kortežai (tuple). Sąrašas – tai surikiuota elementų kolekcija:

miestai = ["Vilnius", "Kaunas", "Klaipėda", "Šiauliai"]
print(miestai[0])  # Vilnius – indeksavimas prasideda nuo 0!

Žodynas – tai rakto ir reikšmės poros:

zmogus = {
    "vardas": "Rūta",
    "amzius": 30,
    "miestas": "Vilnius"
}
print(zmogus["vardas"])  # Rūta

Viena iš dažniausių klaidų pradedantiesiems – pamiršti, kad Python indeksavimas prasideda nuo nulio. Tai reiškia, kad pirmasis sąrašo elementas yra sąrašas[0], ne sąrašas[1]. Tai iš pradžių atrodo keistai, bet greitai tampa įprastu dalyku.

Sąlygos, ciklai ir kaip priversti kodą „mąstyti”

Statiškas kodas, kuris tiesiog atlieka tuos pačius veiksmus kiekvieną kartą – tai ne programa, o receptas. Tikroji programavimo galia atsiskleidžia, kai kodas gali priimti sprendimus ir kartoti veiksmus.

Sąlygos Python rašomos su if, elif ir else:

temperatūra = 22

if temperatūra > 30:
    print("Karšta, reikia vandens!")
elif temperatūra > 20:
    print("Puikus oras pasivaikščiojimui")
elif temperatūra > 10:
    print("Apsirengk šilčiau")
else:
    print("Labai šalta, likk namuose")

Atkreipk dėmesį į įtraukas (indentation). Python nenaudoja figūrinių skliaustų kaip C ar Java – vietoj jų naudojamos įtraukos (paprastai 4 tarpai arba vienas Tab). Tai ne tik stilistinis pasirinkimas – tai privaloma sintaksės dalis. Jei įtrauka neteisinga, kodas tiesiog neveiks.

Ciklai leidžia kartoti veiksmus. Yra du pagrindiniai tipai:

# for ciklas - kai žinai, kiek kartų kartosi
for miestas in ["Vilnius", "Kaunas", "Klaipėda"]:
    print(f"Sveiki atvykę į {miestas}!")

# while ciklas - kol sąlyga teisinga
skaitliukas = 0
while skaitliukas < 5:
    print(f"Skaičius: {skaitliukas}")
    skaitliukas += 1

Pastebėk f"..." sintaksę – tai vadinamas f-string (formatuotas tekstas). Tai patogus būdas įterpti kintamuosius tiesiai į tekstą. Naudok jį vietoj seno + jungimo – kodas bus daug skaitomesnis.

Praktinis patarimas: while ciklus naudok atsargiai. Jei pamiršti atnaujinti sąlygą, gausite begalinį ciklą, ir programa "užstrigs". Jei taip nutinka – Ctrl+C terminale sustabdys vykdymą.

Funkcijos – kodas, kurį galima naudoti vėl ir vėl

Įsivaizduok, kad kiekvieną kartą, kai nori apskaičiuoti PVM, rašai tą patį skaičiavimą iš naujo. Tai ne tik nuobodu – tai ir pavojinga, nes kiekvieną kartą gali padaryti klaidą. Funkcijos sprendžia šią problemą.

def skaiciuoti_pvm(kaina, pvm_procentas=21):
    pvm_suma = kaina * (pvm_procentas / 100)
    galutine_kaina = kaina + pvm_suma
    return galutine_kaina

# Naudojimas
kaina_su_pvm = skaiciuoti_pvm(100)
print(f"Kaina su PVM: {kaina_su_pvm} €")  # 121.0 €

# Su kitu PVM tarifu
kaina_su_pvm_9 = skaiciuoti_pvm(100, 9)
print(f"Kaina su 9% PVM: {kaina_su_pvm_9} €")  # 109.0 €

Keletas svarbių dalykų apie funkcijas:

  • def – raktažodis, kuriuo pradedama funkcija
  • Parametrai – tai, ką funkcija gauna (kaina, pvm_procentas)
  • Numatytosios reikšmėspvm_procentas=21 reiškia, kad jei nenurodai, bus naudojamas 21
  • return – tai, ką funkcija grąžina atgal

Gera funkcija daro vieną dalyką ir daro jį gerai. Jei tavo funkcija vadinasi skaiciuoti_ir_spausdinti_ir_issaugoti – tai ženklas, kad reikia ją padalinti į kelias mažesnes.

Yra ir specialios funkcijos – lambda. Jos tinka paprastiems vienos eilutės veiksmams:

kvadratas = lambda x: x ** 2
print(kvadratas(5))  # 25

Lambda funkcijos dažnai naudojamos kartu su map(), filter() ir sorted() – bet tai jau šiek tiek pažangesnė tema.

Moduliai ir bibliotekos – kodėl Python ekosistema tokia galinga

Viena iš didžiausių Python stiprybių – milžiniška bibliotekų ekosistema. Praktiškai bet kokiai užduočiai jau yra parašyta biblioteka, kurią gali tiesiog naudoti.

Python turi standartinę biblioteką – modulius, kurie įdiegiami kartu su Python ir nereikalauja papildomo diegimo:

import math
import random
import datetime

print(math.sqrt(144))  # 12.0
print(random.randint(1, 100))  # atsitiktinis skaičius 1-100
print(datetime.date.today())  # šiandienos data

Bet tikroji galia slypi išorinėse bibliotekose, kurias diegiamas per pip – Python paketų tvarkyklę. Štai keletas, kurias verta žinoti:

  • requests – darbas su HTTP užklausomis, API. pip install requests
  • pandas – duomenų analizė, darbas su lentelėmis. pip install pandas
  • numpy – matematiniai skaičiavimai, matricos. pip install numpy
  • flask – paprastų web aplikacijų kūrimas. pip install flask
  • beautifulsoup4 – web scraping, duomenų rinkimas iš svetainių. pip install beautifulsoup4

Praktinis patarimas: naudok virtualias aplinkas (virtual environments). Tai izoliuotos Python aplinkos kiekvienam projektui, kad bibliotekos nesusimaišytų:

# Sukurti virtualią aplinką
python -m venv mano_projektas_env

# Aktyvuoti (Windows)
mano_projektas_env\Scripts\activate

# Aktyvuoti (Mac/Linux)
source mano_projektas_env/bin/activate

Kai aktyvi virtuali aplinka, visi pip install komandos įdiegs bibliotekas tik į tą aplinką. Tai gera praktika, kurią verta įsivesti nuo pat pradžių.

Dažniausios klaidos ir kaip su jomis susitvarkyti

Klaidos – tai ne nesėkmė, o mokymosi proceso dalis. Bet yra keletas klaidų, kurias daro beveik visi pradedantieji, ir žinant jas iš anksto, galima sutaupyti daug laiko.

IndentationError – neteisingos įtraukos. Sprendimas: naudok tik tarpus arba tik Tab, bet nemaišyk jų. VS Code automatiškai tvarko tai, jei naudoji Python plėtinį.

NameError: name 'x' is not defined – bandai naudoti kintamąjį, kurio dar nesukūrei arba kuris yra kitoje srityje (scope). Patikrink, ar kintamasis tikrai apibrėžtas prieš naudojimą.

TypeError – bandai atlikti operaciją su netinkamu tipu. Klasikinis pavyzdys:

amzius = input("Įvesk amžių: ")  # input visada grąžina string!
print(amzius + 5)  # TypeError: can only concatenate str (not "int") to str

# Teisingas variantas:
amzius = int(input("Įvesk amžių: "))
print(amzius + 5)  # Dabar veikia

IndexError – bandai pasiekti elementą, kurio sąraše nėra:

sąrašas = [1, 2, 3]
print(sąrašas[5])  # IndexError: list index out of range

KeyError – bandai pasiekti žodyno raktą, kurio nėra. Saugus variantas – naudoti .get() metodą:

duomenys = {"vardas": "Jonas"}
print(duomenys.get("amzius", "Nežinoma"))  # Grąžins "Nežinoma", ne klaidą

Kai gauni klaidą, visada skaityk Traceback – tai klaidos aprašymas, kuris nurodo, kurioje eilutėje įvyko klaida ir kodėl. Daugelis pradedančiųjų išsigąsta ir uždaro terminalą – tai didžiausia klaida. Traceback yra tavo draugas.

Nuo "Hello World" iki realių projektų – kur eiti toliau

Teorija yra gerai, bet programavimo išmoksti tik rašydamas kodą. Ir čia svarbu pasirinkti tinkamus projektus – ne per lengvus (tada neišmoksi nieko naujo), bet ir ne per sunkius (tada nusivylsi ir mesi).

Štai keletas projektų idėjų, kurios puikiai tinka po pirmų savaičių mokymosi:

  • Skaičiuotuvas – paprastas, bet leidžia praktikuoti funkcijas, sąlygas ir vartotojo įvestį
  • Žodžių skaičiuoklis – programa, kuri skaito tekstinį failą ir skaičiuoja žodžius, raides, sakinius
  • Orų programa – naudojant requests biblioteką ir nemokamą orų API (pvz., OpenWeatherMap)
  • Asmeninis dienoraštis – programa, kuri saugo įrašus į failą ir leidžia juos skaityti
  • Viktorina – klausimų ir atsakymų žaidimas su rezultatų skaičiavimu

Dėl mokymosi resursų – internete jų yra daugybė, bet ne visi vienodai geri. Štai patikimi šaltiniai:

  • docs.python.org – oficiali dokumentacija. Iš pradžių gali atrodyti sudėtinga, bet tai pats tiksliausias šaltinis
  • realpython.com – puikūs anglų kalba parašyti straipsniai ir pamokos, dauguma nemokamų
  • leetcode.com ir codewars.com – programavimo užduotys, kurios lavina algoritminio mąstymo įgūdžius
  • github.com – žiūrėk į kitų žmonių kodą. Tai vienas geriausių būdų išmokti gerų praktikų

Vienas dalykas, kurį norisi pabrėžti ypač stipriai: nekopijuok kodo nesuprasdamas, ką jis daro. Tai gundanti trumpakelė, ypač kai "ChatGPT gali parašyti visą programą per sekundę". Bet jei nekopijuosi – neišmoksi. Naudok AI kaip paaiškinimo įrankį ("paaiškink, ką reiškia šis kodas"), o ne kaip kodų generatorių. Bent jau tol, kol dar mokaisi pagrindų.

Python mokymasis – tai maratonas, ne sprintas. Pirmą savaitę viskas atrodys sudėtinga. Antrą savaitę pradėsi matyti ryšius tarp konceptų. Po mėnesio reguliaraus praktikavimo (bent 30-60 minučių per dieną) pradėsi rašyti kodą, kuris iš tikrųjų kažką daro. O po trijų mėnesių – turėsi pagrindus, ant kurių galėsi statyti bet ką: duomenų analizę, automatizavimą, web kūrimą ar net mašininį mokymąsi. Svarbiausia – pradėk. Dabar. Atidaryk terminalą ir parašyk tą pirmą print("Labas, pasauli!").