Sinf python qiymatini qaytara oladimi?
Sinf python qiymatini qaytara oladimi?

Video: Sinf python qiymatini qaytara oladimi?

Video: Sinf python qiymatini qaytara oladimi?
Video: #12 Python Darslari | Eng ko'p uchraydigan xatolar 2024, May
Anonim

A qiymat ichidagi ob'ektdan farqli narsa emas Python . Qo'ng'iroq qilganingizda a sinf ob'ekt (masalan, MyClass() yoki list()), u qaytadi bunga misol sinf . Ob'ektni chop etganingizda (ya'ni ob'ektning satrli tasvirini olganingizda), bu ob'ektning _str_ yoki _repr_ sehrli usuli chaqiriladi va qaytarilgan qiymat bosilgan.

Xuddi shunday, siz so'rashingiz mumkin, konstruktor Pythonda qiymatni qaytara oladimi?

Python kutadi konstruktor uchun qaytish Yo'q va agar u muvaffaqiyatsiz bo'lsa qaytadi har qanday boshqa narsa. Smalltalk-da yangi kalit so'z emas; bu siz sinfga yuboradigan xabar (bu ob'ektning o'zi). Sinfning yangi usuli ob'ektni yaratadi va qaytadi bu.

Yuqoridagilardan tashqari, funktsiya sinfni qaytara oladimi? Agar a usuli yoki funksiya qaytadi a ob'ekti sinf buning uchun ostream kabi ommaviy nusxa ko'chirish konstruktori mavjud emas sinf , kerak qaytish ob'ektga havola. Ba'zi usullar va funktsiyalari , masalan, haddan tashqari yuklangan tayinlash operatori, qaytishi mumkin ob'ekt yoki ob'ektga havola.

Keyinchalik, savol: _ init _ qiymatni qaytarishi mumkinmi?

_init_ usuli qaytadi a qiymat The _init_ sinf usuli ishlatiladi ishga tushirish yangi ob'ektlar, ularni yaratish emas. Shunday bo'lmasligi kerak qaytish har qanday qiymat . Qaytish Ish vaqti xatosi yo'q degan ma'noda hech biri to'g'ri emas bo'ladi sodir bo'ladi, lekin bu shuni ko'rsatadiki qaytarilgan qiymat mazmunli bo'lib, u emas.

Python-da ob'ektni qanday qaytarish mumkin?

The qaytish bayonot beradi piton chiqish va qo'ng'iroq qiluvchiga qiymatni qaytarish funktsiyasi. Umuman olganda, funktsiyalarning maqsadi kirish va ma'lumotlarni olishdir qaytish nimadur. A qaytish Ko'rsatma bajarilgandan so'ng, funktsiyaning oxirgi iborasi bo'lmasa ham, funktsiyaning bajarilishini darhol to'xtatadi.

Tavsiya: