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

จะส่งผ่านอาร์กิวเมนต์โดยการอ้างอิงในฟังก์ชัน Python ได้อย่างไร


ใน Python อาร์กิวเมนต์ของฟังก์ชันจะถูกส่งผ่านโดยการอ้างอิงเสมอ ซึ่งสามารถตรวจสอบได้โดยการตรวจสอบ id() ของอาร์กิวเมนต์ที่เป็นข้อเท็จจริงและเป็นทางการ และวัตถุที่ส่งคืน

def foo(x):
  print ("id of received argument",id(x))
  x.append("20")
  return x
a = ["10"]
print ("id of argument before calling function",id(a))
b = foo(a)
print ("id of returned object",id(b))
print (b)
print (a)

id() ของ a, x ภายใน foo() และ b เหมือนกัน

id of argument before calling function 1475589299912
id of received argument 1475589299912
id of returned object 1475589299912