Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion
Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.
Når du skriver klasser i Python, kan du ofte støde på udtrykket 'self.'
Det er et afgørende koncept, som begyndere skal forstå, når de dykker dybere ned i objektorienterede funktioner i Python-programmeringssproget.
Parameteren self
refererer til den aktuelle forekomst af en klasse. Du kan bruge det til at få adgang til de attributter og metoder, der hører til den pågældende klasse.
I denne Python-tutorial vil vi undersøge, hvordan self
variablen spiller en central rolle i Python-klasser. Vi viser dig også, hvordan du opretholder kodeklarhed, modularitet og genbrugelighed ved at bruge self
.
Indholdsfortegnelse
Forstå selvet i Python
Python er et objektorienteret programmeringssprog (OOP) , der er stærkt afhængig af klasser og objekter. Så før vi dykker ned i self
parameteren, skal vi først forstå, hvad objektorienteret programmering er.
Objektorienteret programmering i Python
Kridtskrivning – OOP, Objektorienteret programmering " data-medium-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg" data- large-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" decoding="async" loading="doven" src="https: //blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" alt="Hvad er selv i 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">
Objektorienteret programmering hjælper programmører med at modellere virkelige begreber og relationer gennem brug af klasser og objekter. Dette resulterer i kode, der er mere struktureret, genbrugelig og skalerbar.
Tænk på en klasse som en skabelon til at skabe objekter med foruddefinerede egenskaber og metoder. Et objekt er også en forekomst af en klasse, der gemmer sine egne værdier for attributterne og har adgang til klassefunktioner.
Disse to koncepter er en vigtig byggesten i mange applikationer. Du kan se både klasser og objekter i arbejde i denne video om, hvordan du nemt opretter data med Python Faker Library.
Python-selvets rolle
Self
er en reference til forekomsten af klassen i Python. Det giver dig mulighed for at få adgang til og ændre attributterne og metoderne for en klasse inden for dens eget omfang.
Her er et par nøglepunkter om brugen af self
i Python:
Self
er ikke et reserveret nøgleord i Python-syntaksen . Du kan bruge andre navne til at identificere klasseforekomster, men self
er den mest udbredte og accepterede konvention af Python-programmører.Self
bruges som den første parameter i instansmetoder til at referere til den aktuelle instans af klassen.self
til at skelne mellem instansattributter og lokale variabler, hvilket gør din kode mere læsbar og mindre buggy.self
parameteren i __init__()
konstruktøren og alle andre efterfølgende funktionskonstruktører i din klasse. Hvis du ikke gør det, vil dit program kaste en typeerror
. 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
Bemærk: Du kan komme rundt med self
parameteren i funktioner ved at bruge den statiske metodefunktion, som Python 3 giver. Det kommer vi nærmere ind på i et senere afsnit.
At arbejde med sig selv
At lære at bruge self
er meget vigtigt for at bygge klasser i Python. Igennem dette afsnit lærer du, hvordan du bruger self
i forskellige scenarier, når du arbejder med klasser og objekter.
Initialisering af objekter med '__init__()'
Når du opretter en ny instans af en klasse, __init__()
kaldes metoden for at initialisere objektets attributter. Metoden __init__()
er klassekonstruktøren, og den tager parameteren self
som sit første argument.
Parameteren self
bruges i denne metode til at knytte instansattributterne til de givne argumenter.
Her er et eksempel:
class Person: def __init__(self, name, age): self.name = name self.age = age person1 = Person("Alice", 30)
I dette eksempel tager metoden , , og som parametre under objektets initialisering. Parameteren refererer til klasseinstansen, hvilket giver dig mulighed for at indstille og attributter for det specifikke objekt, der oprettes. init
self
name
age
self
name
age
Brug af sig selv i metoder
Når du definerer instansmetoder i en klasse, skal du inkludere self
som den første parameter. Dette giver dig adgang til instansattributterne og andre metoder i klassen.
Lad os udvide det forrige eksempel:
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()
I dette eksempel introduce()
inkluderer metoden self
som dens første parameter. Dette giver dig mulighed for at få adgang til objektets navn og aldersattributter og oprette en personlig introduktion.
Når du kalder metoden i din kode, behøver du ikke at videregive parameteren
self
eksplicit. Python tager sig af det automatisk.
Ved at følge disse retningslinjer og forstå formålet med self
i kan begyndere effektivt arbejde med klasser og objekter. Dette lader dem skabe velstruktureret kode, der er let at læse og vedligeholde.
Almindelige tilfælde af selvbrug
Der er mange måder, du kan bruge nøgleordet i din Python-kode. Ved at forstå disse use cases, vil du være i stand til at udnytte effektivt i dine programmer. self
self
Lad os se på nogle af dem:
Adgang til klasseattributter
En primær anvendelse af self
er at få adgang til instansattributter inden for en klasse. Forekomstattributter er specifikke for et objekt oprettet fra klassen og gemmer objektets data.
Brug self
lader dig manipulere eller få adgang til disse attributter inden for klassemetoder. Lad os se på et eksempel:
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)
I dette eksempel brugte vi self
til at få adgang til navneattributten for et Dog-objekt i metoden display_name
.
Opkaldsklassemetoder
Et andet almindeligt anvendelsestilfælde self
er at kalde andre klassemetoder inde fra en instansmetode. Dette giver dig mulighed for at genbruge kode, reducere kompleksiteten og forbedre læsbarheden.
Det er vigtigt at bruge, self
når der henvises til andre metoder, da det sikrer, at den korrekte metode kaldes for den specifikke instans. Overvej følgende eksempel:
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)
I eksemplet ovenfor bruger vi self
til at kalde show_species
metoden inde fra show_info
metoden. Dette gør os i stand til at vise fuglens art og farve i et enkelt kald.
Husk endelig at bruge, self
når du får adgang til instansattributter og kalder klassemetoder. Når du forstår disse use cases, vil du være i stand til at skrive mere effektiv og organiseret Python-kode.
Bedste selvpraksis
Når du arbejder med, self,
er der nogle konventioner, du skal følge for at undgå problemer og fejl i din kode. Her er nogle af dem.
Hvor man kan bruge selv
Når du definerer instansmetoder, skal du altid bruge self
parameteren som den første parameter. Dette giver dig mulighed for at få adgang til og ændre objektets instansattributter og kalde andre instansmetoder i klassen.
Det er vigtigt at bruge, self
når du arbejder med objektforekomster i Python. Brug af det sikrer ensartet adfærd og giver mulighed for korrekt objektindkapsling.
Overvej for eksempel følgende klasse:
class MyClass: def __init__(self, my_var): self.my_var = my_var
Her bruges selv-parameteren i __init__
metoden til at initialisere my_var
objektforekomstens attribut. På denne måde bliver en instansspecifik attribut. my_var
Som et resultat kan den tilgås og ændres ved hjælp af selvreferencen i andre metoder i klassen.
Navnekonventioner for sig selv
Selvom self
det er det konventionelle navn, der bruges til forekomsten i Python, kan du teknisk set bruge et hvilket som helst navn, du kan lide. Det anbefales dog stærkt, at du holder dig til at bruge dig selv for klarhed og sammenhæng med det bredere Python-fællesskab.
Brug af et andet navn kan forårsage forvirring for dem, der læser og arbejder med din kode, især hvis de er vant til standardnavnekonventioner i Python-biblioteker.
Hvor man ikke skal bruge selv
Vi ved allerede, at self
parameteren giver adgang til objektforekomsten. Men i nogle tilfælde kræver nogle funktioner i klassen muligvis ikke adgang til objektforekomsten.
I dette scenarie er selvparameteren ikke nødvendig. Så Python giver en statisk metodefunktion til at omgå selvparameteren:
Her er et eksempel:
class Car: @staticmethod def print_car(): print('Vroom Vroom')
I eksemplet ovenfor @staticmethod
tilsidesætter funktionsdekoratoren parameterkravet self
i metoden. På denne måde vil funktionen stadig køre, selvom der ikke er nogen objektforekomst sendt ind i den.
Konklusion
Sammenfattende refererer selvparameteren i Python til forekomsten af en klasse og giver dig adgang til dens attributter og metoder. Som Python-udvikler er det vigtigt at forstå formålet med sig selv og dets brug i klasser og objekter.
Ved at bruge self konsekvent i din kode, fremmer du læsbarhed og vedligeholdelse, hvilket forbedrer den overordnede kvalitet af dit arbejde.
Husk også, at selvom du måske ser udtrykket "self"
brugt ofte i Python, er det ikke et reserveret Python-søgeord. Dette adskiller sig fra programmeringssprog som Javascript og Java , hvor "this"
er et reserveret nøgleord.
Du kan navngive den første parameter i en klassemetode, hvad du vil; " self
" er bare den foretrukne konvention.
Der er et spørgsmål, der altid svæver blandt Python-programmører. Er selv virkelig et nøgleord i Python?
I modsætning til andre programmeringssprog som C++, hvor selv anses for at være et nøgleord, er det i Python en konvention, som programmører har en tendens til at følge. Det er dybest set en parameter i en metodedefinition. Du kan dog bruge et hvilket som helst andet navn i stedet for dig selv som et andet eller mig eller noget andet for den første parameter i en metode. En anden grund til, at det foreslås af de fleste mennesker, er, at det forbedrer læsbarheden af din kode.
Lad os se et eksempel for at forstå det:
class myClass: def show(other): print(“en anden bruges i stedet for sig selv”)
Hvis du sammenligner denne kode med koden til Python-klassens selvkonstruktør, vil du bemærke, at vi her har brugt navnet en anden i sted for selv. Lad os nu oprette et objekt af denne klasse og se outputtet:
object = myClass() object.show()
Du kan se, at programmet virker, selvom vi bruger et andet navn i stedet for selvvariablen. Det fungerer nøjagtigt på samme måde som selvvariablen gør.
Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.
Lær nogle fantastiske analytiske teknikker, som vi kan gøre til datamodellering i LuckyTemplates ved hjælp af DAX-understøttende tabeller.
Her dykker vi ned i LuckyTemplates Advanced DAX og implementerer rangeringslogik for at få en meget unik indsigt. Jeg viser også måleforgrening i dette eksempel.
Denne blog introducerer den nye funktion i LuckyTemplates, What-If-analyseparameteren. Du vil se, hvordan det gør alt hurtigt og nemt til din scenarieanalyse.
Lær, hvordan du afgør, om din omsætningsvækst er god ved at kontrollere, om dine avancer er udvidet ved hjælp af LuckyTemplates, der måler forgrening.
Lær og forstå, hvordan du kan oprette og bruge LuckyTemplates Parameters, som er en kraftfuld funktion i Query Editor.
Denne vejledning vil diskutere om oprettelse af et rundt søjlediagram ved hjælp af Charticulator. Du lærer, hvordan du designer dem til din LuckyTemplates-rapport.
Lær, hvordan du bruger PowerApps-funktioner og -formler til at forbedre funktionaliteten og ændre adfærd i vores Power Apps-lærredsapp.
I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.
RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.