Python ใช้กลไกที่เรียกว่า "Call-by-Object " บางครั้งเรียกอีกอย่างว่า "เรียกโดยอ้างอิงวัตถุ " หรือ "โทรด้วยการแชร์
หากคุณส่งอาร์กิวเมนต์ที่ไม่เปลี่ยนรูป เช่น จำนวนเต็ม สตริง หรือทูเพิลไปยังฟังก์ชัน การส่งผ่านจะทำหน้าที่เหมือน C ทุกมูลค่า . มันแตกต่างออกไปหากเราส่งข้อโต้แย้งที่เปลี่ยนแปลงได้
พารามิเตอร์ทั้งหมด (อาร์กิวเมนต์ ) ในภาษา Python ผ่านโดยการอ้างอิง . หมายความว่าหากคุณเปลี่ยนสิ่งที่พารามิเตอร์อ้างถึงภายในฟังก์ชัน การเปลี่ยนแปลงจะสะท้อนกลับในฟังก์ชันการเรียกด้วย
ตัวอย่าง
student={'Archana':28,'krishna':25,'Ramesh':32,'vineeth':25} def test(student): new={'alok':30,'Nevadan':28} student.update(new) print("Inside the function",student) return test(student) print("outside the function:",student)
ผลลัพธ์
Inside the function {'Archana': 28, 'krishna': 25, 'Ramesh': 32, 'vineeth': 25, 'alok': 30, 'Nevadan': 28} outside the function: {'Archana': 28, 'krishna': 25, 'Ramesh': 32, 'vineeth': 25, 'alok': 30, 'Nevadan': 28}