Middle+
Պատմիր ինձ Python-ի copy մոդուլի մասին։ Ի՞նչ տարբերություն կա copy և deepcopy-ի միջև։
sobes.tech AI
Պատասխան AI-ից
Python-ի copy մոդուլը տրամադրում է ֆունկցիաներ օբյեկտների պատճենները ստեղծելու համար: Հիմնական ֆունկցիաները՝
copy.copy(obj)— մակերեսային պատճեն:copy.deepcopy(obj)— խորքային պատճեն:
** copy և deepcopy տարբերությունը՝**
- Մակերեսային պատճենը ստեղծում է նոր օբյեկտ, բայց ներսի օբյեկտները չեն պատճենվում, պարզապես հղում են նույն օբյեկտներին, ինչ սկզբնականում:
- Խորքային պատճենը ռեկուրսիվ կերպով պատճենում է բոլոր ներսի օբյեկտները և ստեղծում լիովին անկախ պատճեն:
Օրինակ՝
import copy
original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
original[1][0] = 'փոխված'
print(shallow) # [1, ['փոխված', 3]] — ներսի ցանկը փոխվել է
print(deep) # [1, [2, 3]] — խորքային պատճենը չի փոխվել