Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

อาร์กิวเมนต์ส่งผ่านตามค่าหรือโดยการอ้างอิงใน Python อย่างไร


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}