Junior
Kas ir self Python?
sobes.tech AI
Atbilde no AI
self Python valodā ir pirmā metodei klases instancē. Tas pārstāv pašu objekta instanci, caur kuru tika izsaukta metode.
Galvenās self iezīmes:
- Saite uz instanci: ļauj piekļūt atribūtiem un izsaukt citas metodes šai konkrētajai klases instancei.
- Vārda konvencija:
selfir tradicionāls, bet ne obligāts nosaukums. Var izmantot jebkuru citu nosaukumu, betselfir plaši pieņemts standarts, kas padara kodu lasāmāku. - Automātiski tiek nodots: Izsaucot metodi, Python automātiski nodod saiti uz izsaukto instanci kā pirmo argumentu (
self). To nav nepieciešams definēt izsaukuma laikā. - Nav pieejams statiskajās metodēs un klases metodēs: Statiskajās metodēs (
@staticmethod)selfnav, jo tās nav saistītas ar konkrētu instanci. Klases metodēs (@classmethod) pirmais arguments ir saite uz pašu klasi (cls), nevis uz instanci.
Piemērs lietošanai:
class MyClass:
def __init__(self, value):
# Piešķir nodoto vērtību instances atribūtam 'value'
self.value = value
def print_value(self):
# Izmanto 'self', lai piekļūtu šīs instances atribūtam 'value'
print(f"Vērtība ir: {self.value}")
# Izveido klases instanci
obj = MyClass(10)
# Izsauc metodi. Python automātiski nodod 'obj' kā 'self'
obj.print_value()
Šajā piemērā self iekš __init__ un print_value metodēm atsaucas uz objektu obj. Bez self nebūtu iespējams piekļūt atribūtam value, kas pieder tieši šai MyClass instancē.