คลาสสามารถคืนค่า python ได้หรือไม่?
คลาสสามารถคืนค่า python ได้หรือไม่?

วีดีโอ: คลาสสามารถคืนค่า python ได้หรือไม่?

วีดีโอ: คลาสสามารถคืนค่า python ได้หรือไม่?
วีดีโอ: สอนไพธอน python 3 เรียนเทคนิค def function return สร้าง รับคืนค่า ตัวแปร ประโยชน์ คู่มือ Help 2024, อาจ
Anonim

NS ค่า ไม่ใช่สิ่งที่แตกต่างจากวัตถุใน Python . เมื่อคุณเรียก ระดับ วัตถุ (เช่น MyClass() หรือ list()), it ผลตอบแทน ตัวอย่างของสิ่งนั้น ระดับ . เมื่อคุณพิมพ์วัตถุ (เช่น รับการแสดงสตริงของวัตถุ) เมธอดมายากล _str_ หรือ _repr_ ของวัตถุนั้นจะถูกเรียกและ มูลค่าที่ส่งคืน พิมพ์

ในทำนองเดียวกัน คุณอาจถามว่า constructor สามารถคืนค่าใน Python ได้หรือไม่

Python คาดว่า ตัวสร้าง ถึง กลับ ไม่มีและล้มเหลวถ้ามัน ผลตอบแทน อย่างอื่น ใน Smalltalk คำว่า new ไม่ใช่คำสำคัญ เป็นข้อความที่คุณส่งไปยังชั้นเรียน (ซึ่งเป็นวัตถุ) วิธีการใหม่ของคลาสสร้างวัตถุและ ผลตอบแทน มัน.

ด้านบน ฟังก์ชันสามารถคืนค่าคลาสได้หรือไม่ ถ้า กระบวนการ หรือ ฟังก์ชันส่งคืน วัตถุของ a ระดับ ซึ่งไม่มีตัวสร้างสำเนาสาธารณะ เช่น ostream ระดับ , มันต้อง กลับ การอ้างอิงถึงวัตถุ วิธีการบางอย่างและ ฟังก์ชั่น เช่น ตัวดำเนินการมอบหมายงานที่มากเกินไป กลับได้ ไม่ว่าจะเป็นวัตถุหรือการอ้างอิงถึงวัตถุ

ต่อมา คำถามคือ _ init _ สามารถคืนค่าได้หรือไม่?

_ในนั้น_ กระบวนการ ผลตอบแทน NS ค่า NS _ในนั้น_ เมธอดของคลาสใช้เพื่อ เริ่มต้น วัตถุใหม่ ไม่ใช่สร้างมันขึ้นมา ดังนั้นจึงไม่ควร กลับ ใด ๆ ค่า . กลับมา ไม่มีความถูกต้องในแง่ที่ว่าไม่มีข้อผิดพลาดรันไทม์ จะ เกิดขึ้นแต่ก็แสดงว่า มูลค่าที่ส่งคืน มีความหมายซึ่งไม่ใช่

คุณจะคืนวัตถุใน Python ได้อย่างไร

NS กลับ คำสั่งทำให้ หลาม ฟังก์ชันเพื่อออกและส่งคืนค่าให้กับผู้โทร วัตถุประสงค์ของฟังก์ชันโดยทั่วไปคือการรับอินพุตและ กลับ บางสิ่งบางอย่าง. NS กลับ คำสั่ง เมื่อดำเนินการแล้ว จะหยุดการทำงานของฟังก์ชันทันที แม้ว่าจะไม่ใช่คำสั่งสุดท้ายในฟังก์ชันก็ตาม

แนะนำ: