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.