Rozdział 14 · Tworzenie rzeczywistych obiektów

Czym jest programowanie obiektowe?

Już korzystałeś z obiektów przez wiele rozdziałów — po prostu jeszcze ich tak nie nazywałeś.

Obiekt — to, co już jest znane, ale z nową nazwą

Przyjrzyj się kodowi z poprzednich rozdziałów: artist.forward(100), "Python".upper(), [1,2,3].append(4) — we wszystkich trzech mamy jakiś rodzaj cel (żółw, łańcuch znaków, lista) oraz Komendę, którą wywołujemy z nim przez punkt. Przez cały ten czas już pracowałeś z przedmiotami "Ta sekcja daje znanej idei dokładną nazwę.

Każdy obiekt w Python ma dwie strony:

Strona obiektowaPrzykład w artist (żółwie)
Status są dane, które obiekt obecnie przechowujeaktualnych współrzędnych, koloru, kierunku
Zachowanie — działania, które obiekt może wykonaćforward(), right(), color()

Programowanie obiektowe (OOP) to sposób organizacji kodu wokół Takie obiekty: dane i działania z nimi związane żyją razem, oraz nie są rozproszone między pojedynczymi zmiennymi i funkcjami.

Typ obiektu: type()

Każdy obiekt w Python ma typ, który może być rozpoznawany przez wbudowaną funkcję type()już znasz:

tip_obekta.py
artist = __import__("turtle").Turtle()
print(type(artist))     # <class 'turtle.Turtle'>
print(type("Python"))   # <class 'str'>
print(type([1, 2, 3]))  # <class 'list'>

Word class w każdej odpowiedzi — nie przypadek. Typ obiektu — to właśnie on klasa.

Udowodnijmy to!

Już korzystałeś z obiektów od samego rozdziału 6, nawet nie nazywając ich tak:

vy_uzhe_polzovalis_obektami.py
import turtle

artist = turtle.Turtle()   #artist jest obiektem klasowym Turtle
artist.forward(100)         # forward() jest działaniem (metodą) tego obiektu
artist.color("red")         # obiekt ma również własny stan — na przykład kolor

turtle.Turtle jest klasa: rysunek, szablon, opisujące, jakie są żółwie i co potrafią. Każde wyzwanie turtle.Turtle() tworzy nową, niezależną cel (nazywane także „instancją klasy”

Klasa opisuje obiekty PRZYSZŁE, a nie jeden konkretny
turtle.Turtle sam nie ma pozycji na ekranie — tylko KAŻDY utworzony obiekt ma swoją pozycję turtle.Turtle() osobno. Klasa to opis tego, czym będą obiekty, a nie sam obiekt.
Praktyka: znajdujemy obiekty w już znanym kodzie
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →