logo

Klasser og objekter i Python

Python er et objektorienteret programmeringssprog, der tilbyder klasser, som er et potent værktøj til at skrive genanvendelig kode. Til at beskrive objekter med fælles karakteristika og adfærd, bruges klasser. Vi vil undersøge Pythons ideer om klasser og objekter i denne artikel.

Klasser i Python:

I Python er en klasse en brugerdefineret datatype, der indeholder både selve dataene og de metoder, der kan bruges til at manipulere dem. På en måde tjener klasser som en skabelon til at skabe objekter. De giver de egenskaber og operationer, som objekterne vil anvende.

Antag, at en klasse er en prototype af en bygning. En bygning indeholder alle detaljer om gulv, rum, døre, vinduer osv. vi kan lave så mange bygninger vi vil, ud fra disse detaljer. Derfor kan bygningen ses som en klasse, og vi kan skabe lige så mange objekter af denne klasse.

Oprettelse af klasser i Python

I Python kan en klasse oprettes ved at bruge nøgleordet klasse efterfulgt af klassenavnet. Syntaksen til at oprette en klasse er angivet nedenfor.

Syntaks

 class ClassName: #statement_suite 

I Python skal vi bemærke, at hver klasse er forbundet med en dokumentationsstreng, som kan tilgås ved at bruge .__doc__. En klasse indeholder en sætningspakke inklusive felter, konstruktør, funktion osv. definition.

java, hvordan man tilsidesætter

Eksempel:

Kode:

 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) 

Navn og alder er de to egenskaber for Person-klassen. Derudover har den en funktion kaldet greet, der udskriver en hilsen.

Objekter i Python:

Et objekt er en bestemt instans af en klasse med unikke egenskaber og funktioner. Efter at en klasse er blevet etableret, kan du lave objekter baseret på den. Ved at bruge klassekonstruktøren kan du oprette et objekt af en klasse i Python. Objektets attributter initialiseres i konstruktøren, som er en speciel procedure med navnet __init__.

Syntaks:

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

Eksempel:

konverter strengdato

Kode:

 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' 

Selv-parameteren

Selvparameteren refererer til den aktuelle forekomst af klassen og får adgang til klassevariablerne. Vi kan bruge hvad som helst i stedet for selvet, men det skal være den første parameter i enhver funktion, der hører til klassen.

_ _init_ _ metode

For at lave en instans af en klasse i Python, kaldes en specifik funktion kaldet __init__. Selvom det bruges til at indstille objektets attributter, omtales det ofte som en konstruktør.

Selvargumentet er det eneste, der kræves af __init__ metoden. Dette argument refererer til den nyligt genererede forekomst af klassen. For at initialisere værdierne for hver attribut, der er knyttet til objekterne, kan du erklære ekstra argumenter i __init__ metoden.

Klasse- og instansvariabler

Alle forekomster af en klasse udveksler klassevariabler. De fungerer uafhængigt af enhver klassemetode og kan tilgås ved brug af klassenavnet. Her er en illustration:

Kode:

 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 

Hvorimod instansvariabler er specifikke for hver instans af en klasse. De er specificeret ved hjælp af selvargumentet i __init__ metoden. Her er en illustration:

Kode:

 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 

Klassevariabler oprettes separat fra alle klassemetoder og deles af alle klassekopier. Hver forekomst af en klasse har sine egne forekomstvariabler, som er specificeret i __init__ metoden ved at bruge selvargumentet.

java array sortering

Konklusion:

Som konklusion er Pythons klasser og objektbegreber stærke ideer, der lader dig skrive genanvendelige programmer. Du kan kombinere information og muligheder i en enkelt enhed, der kan bruges til at bygge mange objekter ved at etablere en klasse. Ved hjælp af punktnotationen kan du få adgang til et objekts metoder og egenskaber, efter at det er blevet oprettet. Du kan udvikle mere logisk, effektiv og håndterbar kode ved at forstå Pythons klasser og objekter.