האם מחלקה יכולה להחזיר פיתון ערך?
האם מחלקה יכולה להחזיר פיתון ערך?

וִידֵאוֹ: האם מחלקה יכולה להחזיר פיתון ערך?

וִידֵאוֹ: האם מחלקה יכולה להחזיר פיתון ערך?
וִידֵאוֹ: עצמים ופעולות על עצמים | הנדסת תוכנה וסייבר לכיתות י,יא,יב 2024, מאי
Anonim

א ערך אינו משהו שונה מחפץ ב פִּיתוֹן . כאשר אתה מתקשר א מעמד אובייקט (כמו MyClass() או list()), זה החזרות דוגמה לכך מעמד . כאשר אתה מדפיס אובייקט (כלומר מקבל ייצוג מחרוזת של אובייקט), שיטת הקסם _str_ או _repr_ של אותו אובייקט נקראת וה- ערך שהוחזר מודפס.

באופן דומה, אתם עשויים לשאול, האם בנאי יכול להחזיר ערך ב-Python?

פִּיתוֹן מצפה ל בַּנַאִי ל לַחֲזוֹר אין ונכשל אם זה החזרות עוד משהו. ב-Smalltalk, חדש אינו מילת מפתח; זו הודעה שאתה שולח למחלקה (שהיא בעצמה אובייקט). השיטה החדשה של המחלקה יוצרת אובייקט ו החזרות זה.

מלבד למעלה, האם פונקציה יכולה להחזיר מחלקה? אם שיטה אוֹ הפונקציה חוזרת חפץ של א מעמד שעבורו אין בנאי עותק ציבורי, כגון ostream מעמד , זה חייב לַחֲזוֹר התייחסות לאובייקט. כמה שיטות ו פונקציות , כגון אופרטור ההקצאה העמוס יתר על המידה, יכול לחזור או אובייקט או התייחסות לאובייקט.

לאחר מכן, השאלה היא האם _ init _ יכול להחזיר ערך?

_init_ שיטה החזרות א ערך ה _init_ שיטה של מחלקה משמשת לְאַתחֵל אובייקטים חדשים, לא ליצור אותם. ככזה, אסור לַחֲזוֹר כל ערך . חוזר אף אחד לא נכון במובן זה שאין שגיאת זמן ריצה רָצוֹן להתרחש, אבל זה מצביע על כך שה הערך המוחזר הוא בעל משמעות, וזה לא.

איך מחזירים אובייקט בפייתון?

ה לַחֲזוֹר הצהרה עושה א פִּיתוֹן פונקציה ליציאה ולהחזיר ערך למתקשר שלו. המטרה של פונקציות באופן כללי היא לקלוט תשומות ו לַחֲזוֹר משהו. א לַחֲזוֹר משפט, לאחר ביצוע, עוצר מיד את הביצוע של פונקציה, גם אם זה לא ההצהרה האחרונה בפונקציה.

מוּמלָץ: