✦ Srednji nivo Pythona i OOP Srednji nivo Pythona

L2 · Koncept 02 · Osnove OOP-a

Napravite knjigu.
Napravite biblioteku.

Mini Library Manager sada svakoj knjizi dodeljuje jasan naslov i autora kada je napravi.

Cilj učenjaDefinišite klasu Book, koristite __init__ i self i napravite nezavisne objekte knjiga.
01 Uči02 Isprobaj03 Predvidi

Učenje kao gost

Učiš kao gost — sačuvaj svoj napredak!

Napravi besplatan nalog i uči uz Sloby AI mentora, proveru razumevanja i praćenje napretka.

Cela platforma je besplatna tokom 2026. Foundations ostaje zauvek besplatan.

Dajte svakoj knjizi isti početni oblik.

Prethodna lekcija predstavila je klasu kao zajednički model. Sada Book može da pravi objekte knjiga spremne za upotrebu. __init__ se izvršava kada Python pravi objekat, a self označava konkretan objekat koji se priprema.

class Book:
    def __init__(self, title, author):
        self.title = title
        self.author = author

book_one = Book("Dune", "Frank Herbert")
print(book_one.title)

Book(...) poziva __init__. Vrednosti postaju atributi tog jednog objekta: self.title i self.author. Tačka čita atribut iz određene instance.

Dune

Svaki poziv Book(...) pravi novi objekat. Definicija klase je zajednička, ali svaka instanca čuva odvojene vrednosti atributa.

↳

Čitajte self kao „ova knjiga“: Unutar __init__ metoda, self se odnosi na objekat koji Python upravo pravi. Pišete self.title da bi svaki Book dobio sopstveni naslov.

Dve knjige, odvojeni podaci
class Book:
    def __init__(self, title, author):
        self.title = title
        self.author = author

book_one = Book("Dune", "Frank Herbert")
book_two = Book("The Hobbit", "J. R. R. Tolkien")
book_one.title = "Dune Messiah"

print(book_one.title)
print(book_two.title)

Promena book_one.title menja samo book_one. book_two i dalje čuva naslov The Hobbit.

Klasa naspram objekta
Book                  # the class blueprint
book_one = Book(...)  # one object, or instance

Koristite ime klase da napravite objekte. Koristite promenljivu objekta i tačku da pristupite njegovim atributima.

Napravite jednu knjigu u biblioteci

  1. 1. Definišite klasuclass Book imenuje zajednički nacrt.
  2. 2. Inicijalizujte podatke__init__ prima naslov i autora dok se objekat pravi.
  3. 3. Sačuvajte atributeself.title i self.author pripadaju tom jednom objektu.
  4. 4. Napravite još jednu instancuJoš jedan poziv Book pravi odvojene podatke za drugu knjigu u biblioteci.

Česte greške

  • Nedostaje selfMetodima instance prvo je potreban self kako bi Python znao koji objekat prima podatke.
  • Korišćenje title umesto self.titleParametar je privremen; self.title čuva vrednost kao atribut objekta.
  • Očekivanje zajedničkih podataka instanciPromena jedne instance Book ne ažurira drugu instancu.
  • Zaboravljanje zagradaBook(...) pravi objekat; Book sam po sebi imenuje klasu.

Python radni prostor

Učitavanje Python okruženja…

Promenite naslov ili autora, a zatim napravite još jednu instancu Book za biblioteku.

library_books.pyPython
IzlazČeka se Python
Okruženje pregledača se učitava. I dalje možeš da menjaš primer koda.

Pyodide pokreće Python u Web Worker-u pregledača. Zaustavlja se i ponovo pokreće ako se kod predugo izvršava. Izvršavanje u pregledaču nije potpuna bezbednosna granica; ne unosi tajne i ne oslanjaj se na njega za izolaciju nepouzdanog koda.

Šta će ovaj program ispisati?

Pratite promenu samo za book_one. Svaka instanca Book ima odvojene atribute.

class Book:
    def __init__(self, title, author):
        self.title = title
        self.author = author

book_one = Book("Dune", "Frank Herbert")
book_two = Book("The Hobbit", "J. R. R. Tolkien")
book_one.title = "Dune Messiah"

print(book_one.title)
print(book_two.title)
Izaberi izlaz

Vežbajte samostalno

Mini izazov — Registrujte knjigu

Dodajte novu knjigu u biblioteku koristeći konstruktor klase i njene atribute.

Vaš ciljNapravite Book za novi naslov i autora, a zatim ispišite rečenicu koristeći njene atribute.

register_book_challenge.py

Opcioni nagoveštaji
  • Pozovite Book sa dva argumenta: naslovom i autorom.
  • Pročitajte sačuvane vrednosti pomoću new_book.title i new_book.author.
Pitajte Slobyja za nagoveštaj
Sloby, maskota Python AI Tutora

Tvoj mentor za učenje

Prijavite se da pitate Slobyja

Napravite besplatan nalog ili se prijavite za AI smernice tokom učenja.

Prijavite se da proverite svoje razumevanje

Napravite besplatan nalog ili se prijavite da biste dobili AI povratnu informaciju i sačuvali napredak u učenju.

Python AI Tutor · Uči razumevanjem, a ne samo pokretanjem koda.