وقتی با علامت = مقدار یه متغیر رو توی یک متغیر دیگه میریزید، فقط مقدار متغیر جدید از روی متغیر قبلی برداشته میشه. به هیمن دلیل اگر مقدار متغیر اول رو تغییر بدید دومی هم تغییر میکنه.
اما وقتی از متد copy استفاده می کنیم یک متغیر کاملاً جدید و مستقل از متغیر اول ساخته میشه و مقدار متغیر اول درونش کپی میشه. اگر کد زیر رو در کامپایلر مشاهده کنید متوجه تفاوت خواهید شد:
بعد از حذف مقادیر لیست fruits متغیر y هم خالی میشه اما متغیر x هیچ تغییری نمی کنه:
fruits = ['apple', 'banana', 'cherry', 'orange']
x = fruits.copy()
y = fruits
print(x)
print(y)
#meghdare moteghayere fruits ra pak mikonim
fruits.clear()
print('after clear fruits : ')
print(x)
print(y)
فرق copy. با = چیه ؟مثلا mylist = mylist3
با () mylist = mylist3.copy
سلام
وقتی با علامت = مقدار یه متغیر رو توی یک متغیر دیگه میریزید، فقط مقدار متغیر جدید از روی متغیر قبلی برداشته میشه. به هیمن دلیل اگر مقدار متغیر اول رو تغییر بدید دومی هم تغییر میکنه.
اما وقتی از متد copy استفاده می کنیم یک متغیر کاملاً جدید و مستقل از متغیر اول ساخته میشه و مقدار متغیر اول درونش کپی میشه. اگر کد زیر رو در کامپایلر مشاهده کنید متوجه تفاوت خواهید شد:
بعد از حذف مقادیر لیست fruits متغیر y هم خالی میشه اما متغیر x هیچ تغییری نمی کنه: