Ar klasė gali grąžinti python vertę?
Ar klasė gali grąžinti python vertę?

Video: Ar klasė gali grąžinti python vertę?

Video: Ar klasė gali grąžinti python vertę?
Video: How to Return Values from Python Threads 2024, Gegužė
Anonim

A vertė nesiskiria nuo objekto Python . Kai skambinate a klasė objektas (pvz., MyClass() arba list()), tai grįžta to pavyzdys klasė . Kai spausdinate objektą (t. y. gaunate objekto eilutės atvaizdą), iškviečiamas to objekto _str_ arba _repr_ magiškas metodas ir grąžinta vertė atspausdinta.

Panašiai galite paklausti, ar konstruktorius gali grąžinti reikšmę Python?

Python tikisi konstruktorius į grąžinti Jokių ir nepavyks, jei tai grįžta dar kas nors. „Smalltalk“sistemoje naujas nėra raktinis žodis; tai žinutė, kurią siunčiate klasei (kuri pati yra objektas). Klasės naujas metodas sukuria objektą ir grįžta tai.

Be to, ar funkcija gali grąžinti klasę? Jeigu metodas arba funkcija grąžinama objektas a klasė kurioms nėra viešo kopijavimo konstruktoriaus, pvz., ostream klasė , tai privalo grąžinti nuoroda į objektą. Kai kurie metodai ir funkcijas , pvz., perkrautas priskyrimo operatorius, gali grįžti arba objektas, arba nuoroda į objektą.

Vėliau kyla klausimas, ar _ init _ gali grąžinti vertę?

_init_ metodas grįžta a vertė The _init_ naudojamas klasės metodas inicijuoti naujus objektus, o ne juos kurti. Todėl neturėtų būti grąžinti bet koks vertė . Sugrįžimas Nė vienas nėra teisingas ta prasme, kad nėra vykdymo klaidų valios atsiranda, tačiau tai rodo, kad grąžinta vertė yra prasminga, o tai nėra.

Kaip grąžinti objektą Python?

The grąžinti pareiškime nurodoma a pitonas funkcija išeiti ir grąžinti vertę skambintojui. Funkcijų tikslas apskritai yra priimti įvestis ir grąžinti kažkas. A grąžinti Teiginys, kai jis įvykdomas, iškart sustabdo funkcijos vykdymą, net jei tai nėra paskutinis funkcijos sakinys.

Rekomenduojamas: