Junior
Кадом усулҳои нусхабардории объектҳоро медонед?
sobes.tech AI
Ҷавоб аз AI
Нусхаи рӯи ва амиқ.
Нусхаи рӯи (Shallow Copy) як объекти нав месозад, аммо ишораҳо ба объектҳои дарунӣ ҳамонҳо мемонанд. Таҳрир дар объектҳои дарунӣ дар оригинал ва нусха таъсир мерасонад.
Нусхаи амиқ (Deep Copy) як нусхаи комилан мустақил месозад, аз ҷумла нусхаи ҳамаи объектҳои дарунӣ. Таҳрир дар объектҳои дарунӣ дар оригинал ба нусха таъсир намерасонад.
Маслиҳатҳои иҷро (Python):
# Нусхаи рӯи
import copy
original_list = [1, 2, [3, 4]]
shallow_copy_list = copy.copy(original_list)
# Тағйирот дар объектҳои дарунӣ дар оригинал ба нусха таъсир мерасонад
original_list[2][0] = 99
# Нусхаи рӯи ҳоло [1, 2, [99, 4]]
# Нусхаи амиқ
import copy
original_list = [1, 2, [3, 4]]
deep_copy_list = copy.deepcopy(original_list)
# Тағйирот дар объектҳои дарунӣ дар оригинал ба нусха таъсир намерасонад
original_list[2][0] = 99
# Нусхаи амиқ боқӣ мемонад [1, 2, [3, 4]]
Интихоби усул вобаста ба сохтори объект ва вазифа аст. Барои объектҳои содда, ки бе ишораҳои дарунӣ ҳастанд, нусхаи рӯи кофист. Барои объектҳои мураккаб ё вақте ки мустақилияти пурра лозим аст, нусхаи амиқ истифода мешавад.