logo

Klasser och objekt i Python

Python är ett objektorienterat programmeringsspråk som erbjuder klasser, som är ett potent verktyg för att skriva återanvändbar kod. För att beskriva objekt med gemensamma egenskaper och beteenden används klasser. Vi ska undersöka Pythons idéer om klasser och objekt i den här artikeln.

Klasser i Python:

I Python är en klass en användardefinierad datatyp som innehåller både själva datan och de metoder som kan användas för att manipulera den. På sätt och vis fungerar klasser som en mall för att skapa objekt. De ger de egenskaper och operationer som objekten kommer att använda.

Antag att en klass är en prototyp av en byggnad. En byggnad innehåller alla detaljer om golv, rum, dörrar, fönster etc. vi kan göra hur många byggnader vi vill utifrån dessa detaljer. Därför kan byggnaden ses som en klass, och vi kan skapa så många objekt av denna klass.

Skapa klasser i Python

I Python kan en klass skapas genom att använda nyckelordet klass, följt av klassnamnet. Syntaxen för att skapa en klass ges nedan.

Syntax

rutnätslayout
 class ClassName: #statement_suite 

I Python måste vi lägga märke till att varje klass är associerad med en dokumentationssträng som kan nås med hjälp av .__doc__. En klass innehåller en satssvit inklusive fält, konstruktor, funktion, etc. definition.

Exempel:

Koda:

ogiltig 0
 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) 

Namn och ålder är de två egenskaperna för klassen Person. Dessutom har den en funktion som kallas hälsning som skriver ut en hälsning.

Objekt i Python:

Ett objekt är en speciell instans av en klass med unika egenskaper och funktioner. Efter att en klass har upprättats kan du skapa objekt baserat på den. Genom att använda klasskonstruktorn kan du skapa ett objekt av en klass i Python. Objektets attribut initieras i konstruktorn, vilket är en speciell procedur med namnet __init__.

Syntax:

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

Exempel:

kvällsmat vs middagstid

Koda:

 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() 

Produktion:

 'Hello, my name is Ayan' 

Självparametern

Självparametern refererar till den aktuella instansen av klassen och ger åtkomst till klassvariablerna. Vi kan använda vad som helst istället för jaget, men det måste vara den första parametern för alla funktioner som tillhör klassen.

_ _init_ _ metod

För att göra en instans av en klass i Python anropas en specifik funktion som heter __init__. Även om det används för att ställa in objektets attribut, kallas det ofta för en konstruktor.

byt namn på en mapp linux

Självargumentet är det enda som krävs av metoden __init__. Detta argument hänvisar till den nygenererade instansen av klassen. För att initiera värdena för varje attribut som är associerat med objekten kan du deklarera extra argument i metoden __init__.

Klass- och instansvariabler

Alla instanser av en klass utbyter klassvariabler. De fungerar oberoende av alla klassmetoder och kan nås genom att använda klassnamnet. Här är en illustration:

Koda:

 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) 

Produktion:

 2 

Medan instansvariabler är specifika för varje instans av en klass. De specificeras med hjälp av självargumentet i metoden __init__. Här är en illustration:

Koda:

pd.fusion
 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) 

Produktion:

 Ayan 30 

Klassvariabler skapas separat från alla klassmetoder och delas av alla klasskopior. Varje instans av en klass har sina egna instansvariabler, som specificeras i metoden __init__ med hjälp av självargumentet.

Slutsats:

Sammanfattningsvis är Pythons klass- och objektbegrepp starka idéer som låter dig skriva återanvändbara program. Du kan kombinera information och möjligheter till en enda enhet som kan användas för att bygga många objekt genom att skapa en klass. Med hjälp av punktnotationen kan du komma åt ett objekts metoder och egenskaper efter att det har skapats. Du kan utveckla mer logisk, effektiv och hanterbar kod genom att förstå Pythons klasser och objekt.