print() แสดงผลบนคอนโซล แต่ return ส่งค่ากลับให้ผู้เรียกโดยไม่พิมพ์ ทำให้ฟังก์ชันสิ้นสุดการทำงานทันทีแม้จะไม่ใช่บรรทัดสุดท้าย
ฟังก์ชันที่คืนค่าเรียกว่า fruitful functions ฟังก์ชันที่ไม่คืนค่าเรียกว่า procedures
ตัวอย่าง
def foo():
print("Hello from within foo")
return 2
def bar():
return 10 * foo()
print(foo()) # พิมพ์ข้อความ แล้วคืน 2
print(bar()) # เรียก foo() ใช้ค่า 2 คำนวณ 10*2 = 20
ผลลัพธ์
Hello from within foo 2 Hello from within foo 20
ค่าที่ foo() คืน (2) ถูกใช้ใน bar() ไม่ได้ถูกพิมพ์โดยตรง