Câu hỏi phỏng vấn Python
Câu hỏi

Sự khác nhau giữa Deep copy and...

Câu trả lời

Trong Python, việc sao chép đối tượng có thể được thực hiện theo hai cách: shallow copy (sao chép nông) và deep copy (sao chép sâu). Mỗi phương pháp có những đặc điểm và ứng dụng riêng biệt tùy thuộc vào nhu cầu sao chép đối tượng.

Shallow Copy

Shallow copy tạo ra một bản sao mới của đối tượng ban đầu, nhưng không sao chép các đối tượng con mà đối tượng ban đầu tham chiếu đến. Nói cách khác, nó chỉ sao chép cấu trúc bề ngoài của đối tượng, trong khi các đối tượng con bên trong vẫn được tham chiếu đến cùng một địa chỉ bộ nhớ như đối tượng ban đầu. Điều này có nghĩa là nếu bạn thay đổi các đối tượng con trong bản sao nông, thì những thay đổi đó cũng sẽ ảnh hưởng đến đối tượng ban đầu.

python Copy
import copy

original_list = [[1, 2, 3], [4, 5, 6]]
shallow_copied_list = copy.copy(original_list)
shallow_copied_list[0][0] = 'X'

print(original_list)  # Output: [['X', 2, 3], [4, 5, 6]]

Deep Copy

Deep copy tạo ra một bản sao hoàn toàn mới của đối tượng ban đầu cùng với tất cả các đối tượng con mà nó tham chiếu. Các đối tượng con này cũng được sao chép và được lưu trữ tại các địa chỉ bộ nhớ ...

senior

senior

Gợi ý câu hỏi phỏng vấn

middle

PEP 8 là gì và tại sao nó lại quan trọng?

middle

Decorator trong Python là gì?

middle

Negative indexes là gì và tại sao lại dùng chúng?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào