cuốn sách gpt4 ai đã làm

Copy.copy có khác với phép gán trong python không

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 06:46:44 27 4
mua khóa gpt4 Nike

Tôi đã tìm thấy một đoạn mã mà thoạt nhìn có vẻ vô nghĩa. Nhưng tôi nhận ra rằng điều này có thể có một số ý nghĩa chưa biết mà tôi không biết, vì Python không phải là ngôn ngữ tôi quen thuộc nhất.

nhập bản sao
nút = copy.copy(nút)

Tài liệu cho bản đọc nói điều này

copy.copy(x) Trả về một bản sao nông của x.

Một bản sao nông xây dựng một đối tượng phức hợp mới và sau đó (trong phạm vi có thể) chèn các tham chiếu vào đó với các đối tượng tìm thấy trong bản gốc.

  1. Mã này có hoạt động không? Các nút mà nó đang sao chép được lấy từ danh sách đối tượng cảnh. Có phải nó chỉ tạo một bản sao cấp gốc của lớp để có thể thay đổi các biến (tên) nhưng không ảnh hưởng đến các tệp gốc trong danh sách? Một lớp nút chứa nhiều nút con.

  2. sao chép.copy (nút)nút = nút Sự khác biệt là gì? Một cái xây dựng một đối tượng mới và cái kia chỉ đơn giản trỏ đến cùng một đối tượng?

câu trả lời hay nhất

toán tử gán (=) chỉ tạo một tham chiếu đến một đối tượng và tạo một biến mới tham chiếu cùng một địa chỉ bộ nhớ.

Việc sao chép sẽ tạo một đối tượng mới trong bộ nhớ và gán các biến cho nó.

Ví dụ:

nhập bản sao

nút = [0, 1]
nút2 = nút
nút3 = copy.copy(nút)

nút2.append(5)

in (nút)
in (nút2)
in (nút3)

打印出来:

[0, 1, 5]
[0, 1, 5]
[0, 1]

Về python - copy.copy có khác với phép gán trong python không, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/36285916/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress