A mundet një klasë të kthejë një vlerë python?
A mundet një klasë të kthejë një vlerë python?

Video: A mundet një klasë të kthejë një vlerë python?

Video: A mundet një klasë të kthejë një vlerë python?
Video: Generators in Python || Python Tutorial || Learn Python Programming 2024, Mund
Anonim

A vlerë nuk është diçka e ndryshme nga një objekt në Python . Kur telefononi një klasës objekt (si MyClass() ose list()), ai kthehet një shembull i kësaj klasës . Kur printoni një objekt (d.m.th. merrni një paraqitje të vargut të një objekti), thirret metoda magjike _str_ ose _repr_ e atij objekti dhe vlera e kthyer të shtypura.

Në mënyrë të ngjashme, mund të pyesni, a mund të kthejë konstruktori një vlerë në Python?

Python pret konstruktor te kthimi Asnjë dhe dështon nëse është kthehet ndonje gje tjeter. Në Smalltalk, e reja nuk është një fjalë kyçe; është një mesazh që i dërgon një klase (e cila është në vetvete një objekt). Metoda e re e klasës krijon një objekt dhe kthehet atë.

Përveç sa më sipër, a mund të kthejë një funksion një klasë? Nese nje metodë ose funksioni kthehet një objekt i a klasës për të cilat nuk ka konstruktor të kopjeve publike, siç është ostream klasës , duhet kthimi një referencë për një objekt. Disa metoda dhe funksione , siç është operatori i caktimit të mbingarkuar, mund të kthehen ose një objekt ose një referencë për një objekt.

Më pas, pyetja është, a mundet _ të inicojë _ vlerën?

_fillimi_ metodë kthehet a vlerë Të _fillimi_ përdoret metoda e një klase për të inicializoj objekte të reja, jo t'i krijojë ato. Si e tillë, nuk duhet kthimi ndonjë vlerë . Duke u kthyer Asnjë nuk është i saktë në kuptimin që nuk ka gabim në kohën e ekzekutimit do ndodhin, por sugjeron që vlera e kthyer është kuptimplotë, gjë që nuk është.

Si të ktheni një objekt në Python?

Të kthimi deklaratë bën a piton funksioni për të dalë dhe për t'i kthyer një vlerë thirrësit të tij. Objektivi i funksioneve në përgjithësi është të marrin inpute dhe kthimi diçka. A kthimi deklarata, pasi të ekzekutohet, ndalon menjëherë ekzekutimin e një funksioni, edhe nëse nuk është deklarata e fundit në funksion.

Recommended: