class

Definiuje klasę: szablon obiektów łączący dane i funkcje, które na nich działają.

Na tej stronie

Przykład

#
Python
class Student:
    def __init__(self, name, level=1):
        self.name = name
        self.level = level

    def level_up(self):
        self.level += 1
        return self.level

    def __str__(self):
        return f"{self.name} (poziom {self.level})"

ania = Student("Ania")
ania.level_up()
print(ania)
Wynikzapisany wynik, możesz go sprawdzić
Ania (poziom 2)

Definicja i zastosowanie

#

Słowo class tworzy nowy typ obiektów. Metoda specjalna __init__ ustawia dane nowego obiektu przy jego tworzeniu, a pierwszy parametr każdej metody, zwyczajowo nazwany self, wskazuje na obiekt, na którym metoda działa.

Klasy mogą dziedziczyć po innych klasach: class Mentor(Person) dostaje wszystkie metody Person i może je rozszerzać albo nadpisywać. Funkcja super() pozwala wywołać metodę klasy bazowej.

Metody z podwójnymi podkreślnikami, jak __str__ czy __repr__, określają zachowanie obiektu w wbudowanych operacjach, na przykład w print(). Do prostych klas przechowujących dane wygodny jest dekorator @dataclass.

Składnia

#
Składnia
class Nazwa:
    def __init__(self, parametr):
        self.pole = parametr

    def metoda(self):
        ...

Więcej przykładów

#
Dziedziczenie i dataclass
Python
from dataclasses import dataclass

@dataclass
class Course:
    title: str
    modules: int

class Mentor:
    def __init__(self, name):
        self.name = name

    def introduce(self):
        return f"Jestem {self.name}"

class PythonMentor(Mentor):
    def introduce(self):
        return super().introduce() + " i uczę Pythona"

print(Course("Python", 12))
print(PythonMentor("Darwin").introduce())
Wynikzapisany wynik, możesz go sprawdzić
Course(title='Python', modules=12)
Jestem Darwin i uczę Pythona

Dobre praktyki

#
  • Nazwy klas pisz w stylu PascalCase (StudentProfile), a metod i pól w snake_case.
  • Do klas, które głównie przechowują dane, użyj @dataclass. Dostaniesz automatycznie __init__, __repr__ i porównywanie.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.