em chào mọi người, em có sample code này, ở console, em thấy số tham chiếu tới value=10 đã tăng thêm 4.
em đoán lần lượt ở vị trí 1,2,3,4.
em chưa hiểu 1 chuyện: khi gọi hàm f(arg1) hoặc hàm getrefcount(arg2),Tại sao nó không lấy luôn biến arg1 có sẵn ở hàm mẹ show_refcount(arg1), cũng như tại sao nó không lấy luôn biến có sẵn ở hàm mẹ f(arg2), nó không lấy biến có sẵn đó mà khi gọi f(arg1), hay getrefcount(arg2), nó đã tạo 2 biến mới trỏ đến 10, làm cho số tham chiếu tăng 2.
mong mọi người đọc kỹ những gì em hỏi trước khi comment.
cảm ơn ạ!
from sys import getrefcount
def show_refcount(arg1):
def f(arg2):
print("số tham chiếu tới 10: ",getrefcount(arg2))
f(arg1)
print("số tham chiếu tới 10: ",getrefcount(10))
print("số tham chiếu tới 10: ",getrefcount(10))
show_refcount(10)