Python เป็นภาษาการเขียนโปรแกรมเอนกประสงค์ที่ใช้กันอย่างแพร่หลายในครั้งล่าสุด Yield เป็นคีย์เวิร์ด Python ในตัวที่ใช้สร้างฟังก์ชันตัวสร้าง ฟังก์ชันสร้างชุดผลลัพธ์ มันหยุดการทำงานของโปรแกรมชั่วคราว ส่งค่าผลลัพธ์กลับไปยังผู้โทร และดำเนินการดำเนินการต่อจากผลตอบแทนล่าสุด นอกจากนั้น ฟังก์ชันผลตอบแทนจะส่งชุดผลลัพธ์ที่สร้างขึ้นในรูปแบบของออบเจกต์ตัวสร้าง ในทางกลับกัน การส่งคืนยังเป็นคีย์เวิร์ดในตัวใน Python ที่ยุติฟังก์ชันและส่งค่ากลับไปยังผู้โทร
บทความนี้สรุปความแตกต่างระหว่างผลตอบแทนและผลตอบแทนพร้อมตัวอย่าง
ความแตกต่างระหว่างผลผลิตและผลตอบแทน
ในการเริ่มต้น มีความแตกต่างที่ชัดเจนมากมายระหว่างผลตอบแทนและผลตอบแทน เรามาคุยกันก่อนว่าสิ่งเหล่านี้คืออะไร
กลับ | ผลผลิต |
---|---|
คำสั่ง return ส่งกลับค่าเดียวให้กับผู้โทร | คำสั่งผลตอบแทนสามารถส่งคืนชุดของผลลัพธ์ไปยังผู้เรียกในรูปแบบของอ็อบเจ็กต์ตัวสร้าง |
การส่งคืนออกจากฟังก์ชัน และในกรณีของการวนซ้ำ จะเป็นการยกเลิกการวนซ้ำ เป็นคำสั่งสุดท้ายที่จะวางไว้ในฟังก์ชัน | ไม่ยกเลิกตัวแปรท้องถิ่นของฟังก์ชัน มันระงับการดำเนินการและส่งค่ากลับไปยังผู้เรียก และดำเนินการโปรแกรมต่อจากคำสั่งผลตอบแทนล่าสุด |
ตามตรรกะ ฟังก์ชันควรมีเพียงคำสั่ง return | อาจมีคำสั่งให้ผลตอบแทนมากกว่าหนึ่งคำสั่งภายในฟังก์ชัน |
คำสั่ง return สามารถรันได้เพียงครั้งเดียว | คำสั่งผลตอบแทนสามารถรันได้หลายครั้ง |
คำสั่ง return ถูกวางไว้ในฟังก์ชัน Python ปกติ | คำสั่งผลตอบแทนจะแปลงฟังก์ชันปกติเป็นฟังก์ชันตัวสร้าง |
ตัวอย่างที่ 1: ผลตอบแทนเทียบกับผลตอบแทน
ตอนนี้ มาดูความแตกต่างระหว่างงบผลตอบแทนและผลตอบแทนผ่านตัวอย่าง ในโปรแกรมตัวอย่างด้านล่าง เราได้ใช้คำสั่ง return หลายรายการ คุณสามารถสังเกตได้ว่าการทำงานของโปรแกรมจะสิ้นสุดลงหลังจากคำสั่ง return ครั้งแรก และโค้ดที่เหลือจะไม่ถูกดำเนินการ
#โปรแกรมแสดงการทำงานของ return statement
#การกำหนดตัวแปรตัวเลข
num1=10
#การกำหนดตัวแปรตัวเลข
num2=ยี่สิบ
#การสร้างฟังก์ชันเพื่อดำเนินการคำนวณ
def คณิตศาสตร์OP():
#คำนวณมูลค่ารวม
กลับnum1+num2
#คำนวนส่วนต่าง
กลับnum1-num2
#คำนวนค่าการคูณ
กลับnum1*num2
#คำนวณค่าหาร
กลับnum1/num2
#เรียกฟังก์ชั่น
พิมพ์(คณิตศาสตร์OP())
เอาท์พุต
ในผลลัพธ์จะเห็นว่าฟังก์ชันส่งคืนเฉพาะค่าแรกและโปรแกรมจะถูกยกเลิก
ในการทำงานที่คล้ายคลึงกันด้วยคำสั่ง return หลายรายการ เราต้องสร้างฟังก์ชันที่แตกต่างกันสี่ฟังก์ชันสำหรับการดำเนินการทางคณิตศาสตร์แต่ละประเภท
#โปรแกรมแสดงการทำงานของ return statement#การกำหนดตัวแปรตัวเลข
num1=10
#การกำหนดตัวแปรตัวเลข
num2=ยี่สิบ
#การสร้างฟังก์ชันเพื่อดำเนินการคำนวณ
def sumOP():
#คำนวณมูลค่ารวม
กลับnum1+num2
def ลบOP():
#คำนวนส่วนต่าง
กลับnum1-num2
def คูณOP():
#คำนวนค่าการคูณ
กลับnum1*num2
def ดิวิชั่นOP():
#คำนวณค่าหาร
กลับnum1/num2
#เรียกฟังก์ชันผลรวม
พิมพ์('มูลค่ารวมคือ: ',sumOP())
#เรียกฟังก์ชันการลบ
พิมพ์('ค่าความแตกต่างคือ:',ลบOP())
#เรียกฟังก์ชันการคูณ
พิมพ์('ค่าการคูณคือ:',คูณOP())
#เรียกฟังก์ชันหาร
พิมพ์('ค่าหารคือ: ',ดิวิชั่นOP())
เอาท์พุต
เราสามารถดำเนินการเลขคณิตหลายตัวเหล่านี้ภายในฟังก์ชันตัวสร้างเดียวพร้อมคำสั่งผลตอบแทนหลายรายการ
#โปรแกรมแสดงการทำงานของใบแจ้งยอด#การกำหนดตัวแปรตัวเลข
num1=10
#การกำหนดตัวแปรตัวเลข
num2=ยี่สิบ
#การสร้างฟังก์ชันเพื่อดำเนินการคำนวณ
def คณิตศาสตร์OP():
#คำนวณมูลค่ารวม
ผลผลิตnum1+num2
#คำนวนส่วนต่าง
ผลผลิตnum1-num2
#คำนวนค่าการคูณ
ผลผลิตnum1*num2
#คำนวณค่าหาร
ผลผลิตnum1/num2
#เรียกฟังก์ชั่น
พิมพ์('กำลังพิมพ์ค่า:')
#using for loop เพื่อเข้าถึงค่าจากวัตถุตัวสร้าง
สำหรับฉันอยู่ในคณิตศาสตร์OP():
พิมพ์(ผม)
เอาท์พุต
ตัวอย่างที่ 2: ผลตอบแทนเทียบกับผลตอบแทน
มาดูตัวอย่างอื่นของงบผลตอบแทนและผลตอบแทน ในตัวอย่างที่กำหนด เรามีรายการตัวเลขที่ส่งผ่านไปยังฟังก์ชัน mod() เป็นอาร์กิวเมนต์ เรากำลังดำเนินการโมดูลัสในแต่ละรายการและตรวจสอบว่าตัวเลขเหล่านั้นคืออะไรเมื่อหารด้วย 10 คืนค่าศูนย์เป็นค่าส่วนที่เหลือ
ขั้นแรก ลองใช้ตัวอย่างนี้ในสคริปต์ Python ของเราด้วยคำสั่ง return
#การกำหนดรายการตัวเลขรายการของฉัน=[10,ยี่สิบ,25,30,35,40,ห้าสิบ]
#การกำหนดฟังก์ชันเพื่อดำเนินการโมดูลัส
def mod(รายการของฉัน):
สำหรับฉันอยู่ใน myList:
#ทำการทำงานของโมดูลัส
ถ้า(ผม%10==0):
กลับผม
พิมพ์(ขัดต่อ(รายการของฉัน))
เอาท์พุต
คำสั่ง return จะส่งคืนเฉพาะหมายเลขแรกไปยังผู้โทรและยุติการทำงานของฟังก์ชัน
ตอนนี้ มาลองใช้ตัวอย่างเดียวกันในสคริปต์ Python ของเรากับคำสั่งผลตอบแทน
#การกำหนดรายการตัวเลขรายการของฉัน=[10,ยี่สิบ,25,30,35,40,ห้าสิบ]
#การกำหนดฟังก์ชันเพื่อดำเนินการโมดูลัส
def mod(รายการของฉัน):
สำหรับฉันอยู่ใน myList:
#ทำการทำงานของโมดูลัส
ถ้า(ผม%10==0):
#งบผลตอบแทน
ผลผลิตผม
สำหรับฉันอยู่ใน mod(รายการของฉัน):
พิมพ์(ผม)
เอาท์พุต
บทสรุป
โดยสรุป ผลตอบแทนและผลตอบแทนเป็นคำสำคัญหรือคำสั่ง Python ในตัวสองคำ คำสั่ง return ใช้เพื่อคืนค่าให้กับผู้โทรจากฟังก์ชันและยุติการทำงานของโปรแกรม ในขณะที่คำสั่งผลตอบแทนจะสร้างอ็อบเจกต์ตัวกำเนิด และสามารถคืนค่าหลายค่าให้กับผู้โทรโดยไม่ต้องยุติการทำงานของโปรแกรม บทความนี้แสดงรายการความแตกต่างที่ชัดเจนทั้งหมดระหว่างใบแจ้งผลตอบแทนและผลตอบแทนพร้อมตัวอย่าง