Python- klasse en -voorwerpe
Python-klasse/-voorwerpe
Python is 'n objekgeoriënteerde programmeertaal.
Byna alles in Python is 'n voorwerp, met sy eienskappe en metodes.
'n Klas is soos 'n objekkonstruktor, of 'n "bloudruk" om voorwerpe te skep.
Skep 'n klas
Om 'n klas te skep, gebruik die sleutelwoord class
:
Voorbeeld
Skep 'n klas genaamd MyClass, met 'n eienskap genaamd x:
class MyClass:
x = 5
Skep voorwerp
Nou kan ons die klas genaamd MyClass gebruik om voorwerpe te skep:
Voorbeeld
Skep 'n voorwerp genaamd p1, en druk die waarde van x:
p1 = MyClass()
print(p1.x)
Die __init__() Funksie
Die voorbeelde hierbo is klasse en voorwerpe in hul eenvoudigste vorm, en is nie regtig bruikbaar in werklike toepassings nie.
Om die betekenis van klasse te verstaan, moet ons die ingeboude __init__() funksie verstaan.
Alle klasse het 'n funksie genaamd __init__(), wat altyd uitgevoer word wanneer die klas geïnisieer word.
Gebruik die funksie __init__() om waardes toe te ken aan voorwerpeienskappe, of ander bewerkings wat nodig is om te doen wanneer die voorwerp geskep word:
Voorbeeld
Skep 'n klas met die naam Persoon, gebruik die __init__() funksie om waardes vir naam en ouderdom toe te ken:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John",
36)
print(p1.name)
print(p1.age)
Let wel: Die __init__()
funksie word outomaties geroep elke keer as die klas gebruik word om 'n nuwe objek te skep.
Voorwerp Metodes
Voorwerpe kan ook metodes bevat. Metodes in voorwerpe is funksies wat aan die voorwerp behoort.
Kom ons skep 'n metode in die Persoon-klas:
Voorbeeld
Voeg 'n funksie in wat 'n begroeting druk, en voer dit op die p1-voorwerp uit:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def myfunc(self):
print("Hello my name is " + self.name)
p1 = Person("John",
36)
p1.myfunc()
Let wel: Die self
parameter is 'n verwysing na die huidige instansie van die klas, en word gebruik om toegang te verkry tot veranderlikes wat aan die klas behoort.
Die self-parameter
Die self
parameter is 'n verwysing na die huidige instansie van die klas, en word gebruik om toegang te verkry tot veranderlikes wat aan die klas behoort.
Dit hoef nie genoem te word nie self
, jy kan dit noem wat jy wil, maar dit moet die eerste parameter van enige funksie in die klas wees:
Voorbeeld
Gebruik die woorde mysillyobject en abc in plaas van self :
class Person:
def __init__(mysillyobject, name, age):
mysillyobject.name = name
mysillyobject.age = age
def myfunc(abc):
print("Hello my name is " + abc.name)
p1 = Person("John",
36)
p1.myfunc()
Verander voorwerpeienskappe
Jy kan eienskappe op voorwerpe soos volg verander:
Voorbeeld
Stel die ouderdom van p1 na 40:
p1.age = 40
Vee voorwerpeienskappe uit
Jy kan eienskappe op voorwerpe uitvee deur die
del
sleutelwoord te gebruik:
Voorbeeld
Vee die ouderdom-eienskap uit die p1-voorwerp:
del p1.age
Vee voorwerpe uit
Jy kan voorwerpe uitvee deur die del
sleutelwoord te gebruik:
Voorbeeld
Vee die p1 voorwerp uit:
del p1
Die pasverklaring
class
definisies kan nie leeg wees nie, maar as jy om een of ander rede 'n class
definisie met geen inhoud het nie, plaas die pass
stelling in om te verhoed dat jy 'n fout kry.
Voorbeeld
class Person:
pass