logo

Třídy a objekty v Pythonu

Python je objektově orientovaný programovací jazyk, který nabízí třídy, které jsou účinným nástrojem pro psaní opakovaně použitelného kódu. K popisu objektů se sdílenými vlastnostmi a chováním se používají třídy. V tomto článku prozkoumáme myšlenky Pythonu o třídách a objektech.

Třídy v Pythonu:

V Pythonu je třída uživatelem definovaný datový typ, který obsahuje jak samotná data, tak metody, které lze použít k manipulaci s nimi. V jistém smyslu třídy slouží jako šablona pro vytváření objektů. Poskytují vlastnosti a operace, které budou objekty využívat.

Předpokládejme, že třída je prototypem budovy. Budova obsahuje všechny detaily o podlaze, místnostech, dveřích, oknech atd. Na základě těchto detailů můžeme postavit tolik budov, kolik chceme. Budovu lze tedy považovat za třídu a můžeme vytvořit tolik objektů této třídy.

Vytváření tříd v Pythonu

V Pythonu lze třídu vytvořit pomocí klíčového slova class, za kterým následuje název třídy. Syntaxe pro vytvoření třídy je uvedena níže.

Syntax

nahradit řetězec v jazyce Java
 class ClassName: #statement_suite 

V Pythonu si musíme všimnout, že každá třída je spojena s dokumentačním řetězcem, ke kterému lze přistupovat pomocí .__doc__. Třída obsahuje sadu příkazů včetně definice polí, konstruktoru, funkce atd.

Příklad:

Kód:

výška odsazení
 class Person: def __init__(self, name, age): # This is the constructor method that is called when creating a new Person object # It takes two parameters, name and age, and initializes them as attributes of the object self.name = name self.age = age def greet(self): # This is a method of the Person class that prints a greeting message print('Hello, my name is ' + self.name) 

Jméno a věk jsou dvě vlastnosti třídy Osoba. Navíc má funkci nazvanou pozdrav, která vytiskne pozdrav.

Objekty v Pythonu:

Objekt je konkrétní instance třídy s jedinečnými vlastnostmi a funkcemi. Po vytvoření třídy můžete vytvářet objekty založené na ní. Pomocí konstruktoru třídy můžete vytvořit objekt třídy v Pythonu. Atributy objektu jsou inicializovány v konstruktoru, což je speciální procedura s názvem __init__.

Syntax:

 # Declare an object of a class object_name = Class_Name(arguments) 

Příklad:

přidání do pole java

Kód:

 class Person: def __init__(self, name, age): self.name = name self.age = age def greet(self): print('Hello, my name is ' + self.name) # Create a new instance of the Person class and assign it to the variable person1 person1 = Person('Ayan', 25) person1.greet() 

Výstup:

 'Hello, my name is Ayan' 

Vlastní parametr

Vlastní parametr odkazuje na aktuální instanci třídy a přistupuje k proměnným třídy. Místo self můžeme použít cokoliv, ale musí to být první parametr jakékoli funkce, která patří do třídy.

_ _init_ _ metoda

Aby bylo možné vytvořit instanci třídy v Pythonu, zavolá se specifická funkce nazvaná __init__. Ačkoli se používá k nastavení atributů objektu, často se o něm mluví jako o konstruktoru.

typy spojení v rdbms

Vlastní argument je jediný, který metoda __init__ vyžaduje. Tento argument odkazuje na nově vygenerovanou instanci třídy. Chcete-li inicializovat hodnoty každého atributu spojeného s objekty, můžete deklarovat další argumenty v metodě __init__.

Proměnné třídy a instance

Všechny instance třídy si vyměňují proměnné třídy. Fungují nezávisle na jakýchkoli metodách třídy a lze k nim přistupovat pomocí názvu třídy. Zde je ilustrace:

Kód:

 class Person: count = 0 # This is a class variable def __init__(self, name, age): self.name = name # This is an instance variable self.age = age Person.count += 1 # Accessing the class variable using the name of the class person1 = Person('Ayan', 25) person2 = Person('Bobby', 30) print(Person.count) 

Výstup:

 2 

Zatímco proměnné instance jsou specifické pro každou instanci třídy. Jsou specifikovány pomocí vlastního argumentu v metodě __init__. Zde je ilustrace:

Kód:

ascii v jazyce Java
 class Person: def __init__(self, name, age): self.name = name # This is an instance variable self.age = age person1 = Person('Ayan', 25) person2 = Person('Bobby', 30) print(person1.name) print(person2.age) 

Výstup:

 Ayan 30 

Proměnné třídy jsou vytvářeny odděleně od všech metod třídy a jsou sdíleny všemi kopiemi třídy. Každá instance třídy má své vlastní proměnné instance, které jsou specifikovány v metodě __init__ s využitím vlastního argumentu.

Závěr:

Závěrem lze říci, že pojmy tříd a objektů v Pythonu jsou silné myšlenky, které vám umožňují psát opakovaně použitelné programy. Můžete zkombinovat informace a schopnosti do jediné entity, kterou lze použít k vytvoření mnoha objektů vytvořením třídy. Pomocí tečkové notace můžete přistupovat k metodám a vlastnostem objektu poté, co byl vytvořen. Pochopením tříd a objektů Pythonu můžete vyvinout logičtější, efektivnější a lépe ovladatelný kód.