Kan 'n klas 'n waarde luislang terugstuur?
Kan 'n klas 'n waarde luislang terugstuur?

Video: Kan 'n klas 'n waarde luislang terugstuur?

Video: Kan 'n klas 'n waarde luislang terugstuur?
Video: Bart De Wever: 'Vivaldi blijft in het zadel door vooral niets te doen' 2024, Desember
Anonim

A waarde is nie iets anders as 'n voorwerp in Python . Wanneer jy bel a klas voorwerp (soos MyClass() of lys()), dit opbrengste 'n voorbeeld daarvan klas . Wanneer jy 'n voorwerp druk (d.w.s. 'n stringvoorstelling van 'n voorwerp kry), word daardie voorwerp se _str_ of _repr_ towermetode genoem en die waarde teruggegee gedruk.

Net so, kan jy vra, kan konstruktor 'n waarde in Python terugstuur?

Python verwag die konstruktor aan terugkeer Geen en misluk as dit opbrengste Enigiets anders. In Smalltalk is nuut nie 'n sleutelwoord nie; dit is 'n boodskap wat jy aan 'n klas stuur (wat self 'n voorwerp is). Die klas se nuwe metode skep 'n objek en opbrengste Dit.

Behalwe hierbo, kan 'n funksie 'n klas terugstuur? As 'n metode of funksie gee terug 'n voorwerp van 'n klas waarvoor daar geen publieke kopiekonstruktor is nie, soos ostream klas , dit moet terugkeer 'n verwysing na 'n voorwerp. Sommige metodes en funksies , soos die oorlaaide opdragoperateur, kan terugkeer óf 'n voorwerp óf 'n verwysing na 'n voorwerp.

Die vraag is dan, kan _ init _ waarde teruggee?

_init_ metode opbrengste a waarde Die _init_ metode van 'n klas gebruik word om inisialiseer nuwe voorwerpe, nie skep dit nie. As sodanig behoort dit nie terugkeer enige waarde . Keer terug Geeneen is korrek in die sin dat geen looptydfout nie sal voorkom, maar dit dui daarop dat die waarde teruggegee betekenisvol is, wat dit nie is nie.

Hoe gee jy 'n voorwerp in Python terug?

Die terugkeer stelling maak a luislang funksie om uit te gaan en 'n waarde aan sy beller terug te gee. Die doel van funksies in die algemeen is om insette in te neem en terugkeer iets. A terugkeer stelling, sodra dit uitgevoer is, stop die uitvoering van 'n funksie onmiddellik, selfs al is dit nie die laaste stelling in die funksie nie.

Aanbeveel: