
Mark Lucas
0
1903
377
Python bruges i alt fra Raspberry Pi til maskinlæring. Hvis du imidlertid vil arbejde på et stort projekt, skal du vide, hvordan Python fungerer med objektorienteret programmering (OOP). Denne artikel vil dække de grundlæggende oplysninger, du har brug for.
Hvis du ikke er i gang med programmeringen, hvorfor ikke tage et kig på disse bedste Monty Python-skitser i stedet for 8 af de bedste Monty Pythons Flying Circus-skitser [Stuff to Watch] 8 af de bedste Monty Pythons Flying Circus-skitser [Stuff to Watch] Meget få andre komediegrupper har bragt så meget nyt grund, som Monty Python gjorde, da de første blev sendt på BBC i 1969. Ikke kun var humoren frisk, godt leveret og meget, meget…? De inspirerede trods alt sproget!
Vent, Pythons ikke et rigtigt sprog?
Lad os få en ting klar: Python ER et rigtigt programmeringssprog, det er populært, og det vokser hurtigt. Bare fordi det lyder som pseudokode og du kan kode Minecraft på Pi med det Lær Python og elektronik med Minecraft Pi Edition Lær Python og elektronik med Minecraft Pi Edition Har du altid ønsket at lære at kode, men vidste ikke, hvor du skal starte? Lær hvordan man styrer Minecraft på Raspberry Pi ved hjælp af Python og nogle enkle elektronik. , betyder det ikke, at du skal rabat det som et mindre sprog.
OOP er hjørnestenen i moderne softwareudvikling, og Python er mere end i stand til at følge med. Det gør muligvis en eller to ting anderledes end andre mainstream-sprog, men lad ikke det forhindre dig.
Denne tutorial vil antage en grundlæggende viden om Python, men vi vil dække alle de komplekse ting undervejs. Hvis du er ny med Python, hvorfor ikke se på disse tricks til at lære et nyt programmeringssprog 7 Nyttige tricks til at mestre et nyt programmeringssprog 7 Nyttige tricks til at mestre et nyt programmeringssprog Det er okay at blive overvældet, når du lærer at kode. Du vil sandsynligvis glemme tingene så hurtigt, som du lærer dem. Disse tip kan hjælpe dig med at bevare alle de nye oplysninger bedre. , eller hvad med et simpelt projekt såsom læsning og skrivning til Google Sheets med Python Sådan læses og skrives til Google Sheets With Python Sådan læses og skrives til Google Sheets With Python Python kan virke underligt og usædvanligt, men det er let at lære og brug. I denne artikel viser jeg dig, hvordan du læser og skriver til Google Sheets vha. Python. ?
Python-forudsætninger og opsætning
Inden du kommer i gang, ønsker du måske at få opsat dit Python-udviklingsmiljø. Vi bruger Python 3.6.5, og selvom du kan bruge ældre versioner, har du mindre problemer med at følge med, hvis du bruger en ret ny version.
Du ønsker at oprette et virtuelt miljø Lær hvordan man bruger det virtuelle Python-miljø Lær hvordan man bruger det virtuelle Python-miljø Uanset om du er en erfaren Python-udvikler, eller du lige er i gang, er det vigtigt at lære at opsætte et virtuelt miljø ethvert Python-projekt. Hvis du ikke allerede har en, og installerer PIP til Python Sådan installeres Python PIP på Windows, Mac og Linux Sådan installeres Python PIP på Windows, Mac og Linux Mange Python-udviklere er afhængige af et værktøj kaldet PIP for Python til gøre alt lettere og hurtigere. Sådan installeres Python PIP. hvis det ikke er installeret (det leveres dog med de fleste moderne installationer af Python). Når du har fået denne opsætning, er du god til at gå. Lad os komme igang!
Grundlæggende om Python: klasser
EN klasse er OOPs grundlæggende byggesten. En klasse er som en plan eller en plan. De definerer egenskaber ved et objekt Hvad er objektorienteret programmering? Det grundlæggende forklaret i Laymans vilkår Hvad er objektorienteret programmering? Det grundlæggende forklaret i Laymans vilkår De fleste moderne programmeringssprog understøtter "objektorienteret programmering" (OOP) paradigme. Men hvad er OOP nøjagtigt, og hvorfor er det så nyttigt? . Hvis du for eksempel har en bilklasse, kan det oplyses, at der er fire hjul, mindst et sæde og en motor.
Sådan laves en klasse i Python:
klasse Køretøj: "" "Denne klasse definerer køretøjer." "" pass
Simpelt ikke? Der sker et par ting her. Bemærk kommentaren øverst i klassen. Dette er en særlig kommentar kaldet a docstrengen. Det skulle forklare lidt om din kode. Ved at bruge de tredobbelt citater (“””), fortæller du Python, at dette er en dokstring.
Det passere nøgleord fortæller Python gøre for ingenting. Det er et specielt ord, og du kan tænke på det som en todo. Den får din kode til at køre, men den gør faktisk ikke noget.
Hvis du kører denne kode, vil du se, at der ikke sker noget. Du skal instantiere du klasse. Dette betyder effektivt at gå og opbygge et objekt baseret på den plan, der er defineret i klassen. Du kan oprette så mange kopier, som du vil, hver med forskellige egenskaber. Sådan gør du:
red_car = Køretøj ()
Hvis du kører dette igen, vil du se, at der ikke sker noget. Koden fungerer korrekt, men du har ikke bedt den om at gøre noget mærkbart. Det Køretøj klasse definerer tegninger til et køretøj, og denne seneste linje opretter et køretøjsobjekt og giver det et navn på rød bil.
Det er muligt at fremstille så mange objekter, som du vil:
red_car = Køretøj () green_car = Køretøj () blue_car = Køretøj ()
Lad os tilføje nogle mere kode. Tilføj en kaldet metode __i det__ til Køretøj klasse:
klasse Køretøj: "" "Denne klasse definerer køretøjer." "" def __in __ (selv, farve = "almindelig"): "" "Indstil nogle brugerdefinerede bilegenskaber" "" print ('Ny bil lavet!') self.color = farve red_car = Køretøj () green_car = Køretøj () blue_car = Køretøj ()
Vær særlig opmærksom på dette __i det__ metode. Det skal begynde og slutte med to understregninger. Dette er en speciel metode i Python. Det kaldes automatisk, når du opretter et nyt objekt. Kørsel af denne kode viser ordene “Ny bil lavet!” tre gange.
Langt om længe, __i det__ tager et brugerdefineret argument kaldet farve. Det lige tegn og streng umiddelbart efter fortæller Python at indstille farven til “almindeligt” hvis ikke specificeret. Du kan ændre dine forekomster for at opsætte din bilfarve ved oprettelsen:
red_car = Køretøj (farve = 'rød') green_car = Køretøj (farve = 'grøn') blue_car = Køretøj (farve = 'blå')
Hvis du udskriver bilfarven, vil du se, at hver instans har en anden farve, selvom alle tre blev lavet til samme specifikation (klassen). Python giver dig adgang til næsten enhver variabel eller objekt - ikke mange andre sprog giver dig mulighed for at gøre dette:
print (red_car.color) print (green_car.color) print (blue_car.color)
Dette fungerer, fordi du har tildelt farve til self.color. Selv er et andet specielt nøgleord i Python, og det refererer til hvert specifikt eksempel på en klasse. Hver gang du bruger mig selv, kan du indstille eller få adgang til data, der er unikke for det tilfælde. Den røde bil har f.eks. En farve på rød.
Rediger din __i det__ metode til lagring af bilstøj i en variabel:
self.noise = 'Vroooom'
For at udskrive bilstøj kan du bare få adgang til støj variabel, som du gjorde med farve, men dette er ikke den bedste idé. Hvad hvis, når du kører en bil, du vil have en anden kode til at køre på samme tid, måske kode, som du ikke har skrevet endnu? Eller hvad hvis du vil ændre, hvordan en bil kører i fremtiden? Ved at oprette en fungere (også kendt som en metode), kan du kontrollere, hvordan tingene fungerer. Tilføj dette under din __i det__ metode:
def drive (self): print (self.noise)
Du kan kalde denne metode ganske enkelt:
red_car.drive ()
Hver gang du ringer til køre metode, vil Python udskrive lyden. Du kan udvide dette til at udføre al manor af opgaver, men lade det være som for nu.
Godt klaret! Nu skal du have et godt greb om det grundlæggende. Du skal være i stand til at oprette og bruge dine egne klasser, hver med deres egne unikke evner og funktioner.
Hvad med private variabler i Python?
Private objekter er meget almindelige på de fleste andre sprog. Det er simpelthen variabler eller funktioner, som ikke er tilgængelige uden for klassen. De kan være en kode, der kræver, at særlige betingelser skal være opfyldt før brug, eller simpelthen kun designet til intern brug. Uanset hvad årsagen er, kan tilfælde ikke få adgang til private medlemmer ... medmindre du koder i Python.
Python har ikke private medlemmer. I stedet er Python afhængig af et æresystem: “Vi er alle samtykkende voksne.” Python-programmører forstår, at du måske ønsker at tænke dig med de følsomme internals i en klasse, og det er okay, så intet skulle nogensinde være virkelig utilgængeligt.
Python har dog en accepteret konvention til at markere visse variabler som “privat” i betydningen af “Denne variabel er til intern brug, og du behøver sandsynligvis ikke at røre ved den.” Konventionen er at præfikse variabelnavne med en understregning:
_some_secret_variable = 42
Dette fungerer som en advarsel til andre programmerere. Python vil ikke forhindre dig i at få adgang til dette, men understregningen rådgiver dig om, at dette ikke var designet til at blive brugt på denne måde, og du skal fortsætte på din egen risiko.
Det er undertiden Pythons måde at tænke på skjulte ting, men du risikerer, at ting muligvis ikke fungerer korrekt.
Forståelse af arv i Python
Arv er en anden måde at reducere duplikering og genbruge kode. Når man tænker på et forældre- og barneforhold, giver arv tilladelse til barn at dele fælles kode med forælder. Lad os implementere en elbil, der arver fra forælderen.
Tilføj denne kode under din Køretøj klasse:
klasse ElectricCar (Køretøj): "" "Elektrisk køretøjsklasse." "" opladning (selv): print ('Zzz') electric_car = ElectricCar () electric_car.charge () electric_car.noise = 'Whoosh' electric_car.drive ()
Efter ElectricCar er defineret, Køretøj klasse er specificeret i to parenteser. Dette fortæller Python om det ElectricCar er et barn af Køretøj. Dette giver det adgang til alle de data og metoder, der findes i Køretøj.
Elbilen har sine egne specielle metoder. Det kan oplades (noget som andre køretøjer ikke kan gøre). Ved at ændre bilstøj og derefter køre kan du se, at elbilen giver en anden lyd, og du behøvede ikke at definere køremetoden. Dette skyldes, at drev er arvet fra overordnede.
Udvid din Python-viden yderligere
Disse eksempler har vist, hvor let OOP kan være i Python. Vi har kun dækket de grundlæggende elementer, men når du først har fået dem ned, er resten let.
Hvis du ønsker at fortsætte med at lære Python, eller måske anvende disse OOP-færdigheder i praksis, hvorfor ikke tage et kig på arrays og lister i Python, eller hvad med at få Python og JavaScript til at kommunikere?
Hvis alt dette har efterladt dig, der ønsker mere, så glem ikke at tjekke disse bedste websteder for at lære Python De 5 bedste websteder til at lære Python-programmering De 5 bedste websteder til at lære Python-programmering Vil du lære Python-programmering? Her er de bedste måder at lære Python online, hvoraf mange er helt gratis. .