Python ใช้ Call by Object Reference ตัวแปรที่เป็น mutable object (list, dict) จะส่ง reference ไป
ตัวอย่าง
def modify(lst):
lst.append(99)
a = [1, 2]
modify(a)
print(a) # [1, 2, 99] - ค่าเปลี่ยนไป
แต่ immutable objects (int, str, tuple) จะสร้าง object ใหม่ ไม่ส่งผลกลับ
def modify(x):
x = 10
a = 5
modify(a)
print(a) # 5 - ไม่เปลี่ยน