Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Bij het schrijven van lessen in Python kom je vaak de term tegen. 'self.'Het is een cruciaal concept dat beginners moeten begrijpen als ze dieper ingaan op objectgeoriënteerde functies in de programmeertaal Python.

De selfparameter verwijst naar de huidige instantie van een klasse. U kunt het gebruiken om toegang te krijgen tot de attributen en methoden die bij die klasse horen.

In deze Python-zelfstudie onderzoeken we hoe de selfvariabele een cruciale rol speelt in Python-klassen. We laten u ook zien hoe u code helder, modulair en herbruikbaar kunt houden door het gebruik van self.

Inhoudsopgave

Zelf begrijpen in Python

Python is een objectgeoriënteerde programmeertaal (OOP) die sterk afhankelijk is van klassen en objecten. Dus voordat we in de selfparameter duiken, moeten we eerst begrijpen wat objectgeoriënteerd programmeren is.

Objectgeoriënteerd programmeren in Python

Wat is zelf in Python: voorbeelden uit de echte wereldKrijtschrijven – OOP, objectgeoriënteerd programmeren large-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" decoding="async" loading="lazy" src="https: //blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" alt="Wat is zelf in Python." class="wp-image-206807" width=" 709" height="472" srcset="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg 612w, https://blog.enterprisedna.co /wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg 300w, https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-560x372.jpg 560w" sizes="(max-width: 709px) 100vw, 709px">

Objectgeoriënteerd programmeren helpt programmeurs om real-world concepten en relaties te modelleren door het gebruik van klassen en objecten. Dit resulteert in code die meer gestructureerd, herbruikbaar en schaalbaar is.

Beschouw een klasse als een sjabloon voor het maken van objecten met vooraf gedefinieerde eigenschappen en methoden. Een object is ook een instantie van een klasse die zijn eigen waarden voor de attributen opslaat en toegang heeft tot klassefuncties.

Deze twee concepten zijn een belangrijke bouwsteen in veel Python- toepassingen. U kunt zowel klassen als objecten aan het werk zien in deze video over hoe u eenvoudig gegevens kunt maken met Python Faker Library.

De rol van Python Self

Self is een verwijzing naar de instantie van de klasse in Python. Hiermee kunt u de attributen en methoden van een klasse binnen zijn eigen bereik openen en wijzigen.

Hier zijn een paar belangrijke punten over het gebruik van self in Python:

  • Selfis geen gereserveerd trefwoord in de Python-syntaxis . U kunt andere namen gebruiken om klasse-instanties te identificeren, maar dit selfis de meest gebruikte en geaccepteerde conventie door Python-programmeurs.
  • Selfwordt gebruikt als de eerste parameter in instantiemethoden om te verwijzen naar de huidige instantie van de klasse.
  • U kunt gebruiken selfom onderscheid te maken tussen instantiekenmerken en lokale variabelen, waardoor uw code leesbaarder wordt en minder fouten bevat.
  • Bij het aanroepen van een instantiemethode geeft Python automatisch de instantie door als de eerste parameter.
  • U moet de parameter declareren selfin de __init__() constructor en alle andere daaropvolgende functieconstructors in uw klasse. Als u dit niet doet, zal uw programma een typeerror.

    Hieronder ziet u een voorbeeld van deze fout:

class Person: def __init__(self): print('welcome') def show_person(): print('I love pandas.') a = Person() b = a.show_person() Traceback (most recent call last): File "person.py", line 10, in trill = b.show_person() ^^^^^^^^^^^^^^^^^^ TypeError: Person.show_person() takes 0 positional arguments but 1 was given

Opmerking: u kunt de parameter in functies omzeilen self door de statische methodefunctie te gebruiken die Python 3 biedt. We zullen daar in een later gedeelte dieper op ingaan.

Werken met jezelf

Wat is zelf in Python: voorbeelden uit de echte wereld

Leren hoe te gebruiken self is erg belangrijk voor het bouwen van lessen in Python. In deze sectie leert u hoe u self in verschillende scenario's kunt gebruiken bij het werken met klassen en objecten.

Objecten initialiseren met '__init__()'

Wat is zelf in Python: voorbeelden uit de echte wereld

Bij het maken van een nieuwe instantie van een klasse __init__() wordt de methode aangeroepen om de attributen van het object te initialiseren. De __init__() methode is de klassenconstructor en neemt de self parameter als eerste argument.

De selfparameter wordt binnen deze methode gebruikt om de instantieattributen te associëren met de gegeven argumenten.

Hier is een voorbeeld:

class Person: def __init__(self, name, age): self.name = name self.age = age person1 = Person("Alice", 30)

In dit voorbeeld neemt de methode , , en als parameters tijdens de initialisatie van het object. De parameter verwijst naar de klasse-instantie, waardoor u de kenmerken en kunt instellen voor het specifieke object dat wordt gemaakt. init selfnameageself nameage

Zelf gebruiken in methoden

Wanneer u instantiemethoden in een klasse definieert, moet u deze self als eerste parameter opnemen. Hierdoor hebt u toegang tot de instantiekenmerken en andere methoden binnen de klasse.

Laten we het vorige voorbeeld uitbreiden:

class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): print("Hello, my name is " + self.name + " and I'm " + str(self.age) + " years old.") person1 = Person("Alice", 30) person1.introduce()

In dit voorbeeld introduce()bevat de methode selfals eerste parameter. Hiermee krijgt u toegang tot de naam en leeftijdskenmerken van het object en kunt u een gepersonaliseerde introductie maken.

Wanneer u de methode in uw code aanroept, hoeft u de self parameter niet expliciet door te geven. Python regelt het automatisch.

Door deze richtlijnen te volgen en het doel van Python te begrijpen self, kunnen beginners effectief werken met klassen en objecten. Hierdoor kunnen ze goed gestructureerde code maken die gemakkelijk te lezen en te onderhouden is.

Veelvoorkomende gevallen voor zelfgebruik

Wat is zelf in Python: voorbeelden uit de echte wereld

Er zijn veel manieren waarop u het trefwoord in uw Python-code kunt gebruiken. Door deze use-cases te begrijpen, kunt u deze effectief gebruiken in uw programma's. self self

Laten we er een paar bekijken:

Toegang tot klassekenmerken

Een primair gebruik van selfis om toegang te krijgen tot instantieattributen binnen een klasse. Instantiekenmerken zijn specifiek voor een object dat is gemaakt op basis van de klasse en slaan de gegevens van het object op.

Met behulp van selfkunt u deze attributen manipuleren of openen binnen klassenmethoden. Laten we naar een voorbeeld kijken:

class Dog: def __init__(self, name, age): self.name = name self.age = age def display_name(self): print("The dog's name is:", self.name)

In dit voorbeeld hadden we self toegang tot het naamattribuut van een Dog-object binnen de display_name methode.

Klassenmethoden aanroepen

Een ander veelvoorkomend gebruik selfis het aanroepen van andere klassenmethoden vanuit een instantiemethode. Hierdoor kunt u code hergebruiken, de complexiteit verminderen en de leesbaarheid verbeteren.

Het is essentieel om te gebruiken selfbij het verwijzen naar andere methoden, omdat het ervoor zorgt dat de juiste methode wordt aangeroepen voor de specifieke instantie. Beschouw het volgende voorbeeld:

class Bird: def __init__(self, species, color): self.species = species self.color = color def show_species(self): print("The bird species is:", self.species) def show_info(self): self.show_species() print("The bird color is:", self.color)

In het bovenstaande voorbeeld gebruiken we selfom de show_speciesmethode vanuit de show_infomethode aan te roepen. Dit stelt ons in staat om de soort en kleur van de vogel in één keer weer te geven.

Vergeet ten slotte niet te gebruiken selfbij het openen van instantiekenmerken en het aanroepen van klassemethoden. Zodra u deze use-cases begrijpt, kunt u efficiëntere en georganiseerde Python-code schrijven.

Beste zelfpraktijken

Wat is zelf in Python: voorbeelden uit de echte wereld

Bij het werken met self,zijn er enkele conventies die u moet volgen om problemen en bugs in uw code te voorkomen. Hier zijn er een aantal.

Waar te gebruiken Zelf

Gebruik bij het definiëren van instantiemethoden altijd de selfparameter als eerste parameter. Hierdoor kunt u de instantiekenmerken van het object openen en wijzigen en andere instantiemethoden binnen de klasse aanroepen.

Het is belangrijk om te gebruiken selfbij het werken met objectinstanties in Python. Het gebruik ervan zorgt voor consistent gedrag en zorgt voor een juiste inkapseling van objecten.

Beschouw bijvoorbeeld de volgende klasse:

class MyClass: def __init__(self, my_var): self.my_var = my_var

Hier wordt de parameter self gebruikt in de __init__ methode om het my_var attribuut van de objectinstantie te initialiseren. Op deze manier wordt het een instantiespecifiek kenmerk. my_var

Als gevolg hiervan kan het worden geopend en gewijzigd met behulp van de zelfreferentie in andere methoden van de klasse.

Naamgevingsconventies voor jezelf

Hoewel selfdit de conventionele naam is die wordt gebruikt voor de instantie in Python, kunt u technisch gezien elke gewenste naam gebruiken. Het wordt echter ten zeerste aanbevolen om jezelf te gebruiken voor duidelijkheid en consistentie met de bredere Python-gemeenschap.

Het gebruik van een andere naam kan verwarring veroorzaken bij degenen die uw code lezen en ermee werken, vooral als ze gewend zijn aan standaard naamgevingsconventies in Python-bibliotheken.

Waar niet te gebruiken Zelf

We weten al dat de selfparameter toegang geeft tot de objectinstantie. In sommige gevallen hebben sommige functies in de klasse echter geen toegang tot de objectinstantie nodig.

In dit scenario is de parameter self niet nodig. Python biedt dus een statische methodefunctie voor het omzeilen van de self-parameter:

Hier is een voorbeeld:

class Car: @staticmethod def print_car(): print('Vroom Vroom')

In het bovenstaande voorbeeld heft de @staticmethodfunctie decorateur de selfparametervereiste in de methode op. Op deze manier wordt de functie nog steeds uitgevoerd, zelfs als er geen objectinstantie aan is doorgegeven.

Conclusie

Wat is zelf in Python: voorbeelden uit de echte wereld

Samenvattend verwijst de self-parameter in Python naar de instantie van een klasse en geeft u toegang tot de attributen en methoden. Als Python-ontwikkelaar is het belangrijk om het doel van self en het gebruik ervan in klassen en objecten te begrijpen.

Door self consistent in uw code te gebruiken, bevordert u de leesbaarheid en onderhoudbaarheid, wat de algehele kwaliteit van uw werk verbetert.

Onthoud ook dat hoewel je de term vaak in Python ziet "self", het geen gereserveerd Python-sleutelwoord is. Dit verschilt van programmeertalen zoals Javascript en Java , waar "this" een gereserveerd trefwoord is.

U kunt de eerste parameter in een klassemethode een naam geven die u maar wilt; " self" is gewoon de voorkeursconventie.

Is zelf een trefwoord in Python? 

Er is een vraag die altijd leeft onder Python-programmeurs. Is zelf eigenlijk een trefwoord in Python? 

In tegenstelling tot andere programmeertalen zoals C++, waar 'self' als een trefwoord wordt beschouwd, is dit in Python een conventie die programmeurs doorgaans volgen. Het is feitelijk een parameter in een methodedefinitie. U kunt echter elke andere naam gebruiken in plaats van uzelf, zoals andere of ik of iets anders voor de eerste parameter van een methode. Een andere reden waarom de meeste mensen dit suggereren, is dat het de leesbaarheid van uw code verbetert. 

Laten we een voorbeeld bekijken om het te begrijpen: 

class myClass:   def show(another):   print("andere wordt gebruikt in plaats van zelf")  

Als je deze code vergelijkt met de code voor de zelfconstructor van de Python-klasse, zul je merken dat we hier de naam een andere in hebben gebruikt plaats van zelf. Laten we nu een object van deze klasse maken en de uitvoer bekijken: 

object = mijnKlasse()  object.show()

U kunt zien dat het programma werkt, zelfs als we een andere naam gebruiken in plaats van de variabele self. Het werkt op precies dezelfde manier als de zelfvariabele. 


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten