tgoop.com/pythopiachannel/144
Create:
Last Update:
Last Update:
وقتی یک متغیر رو به تابع پاس میدیم، آیا مقدارش تغییر میکنه؟
۱. دادههای تغییرناپذیر (Immutable)
این دادهها مثل اعداد (int) و متنها (str)، وقتی به تابع فرستاده بشن، فقط یک کپی از مقدارشون میره. پس متغیر اصلی تغییر نمیکنه.
def try_to_change(money):
money = 1000
# فقط روی کپی اثر داره
my_money = 50
try_to_change(my_money)
print(my_money)
# خروجی: 50
(بدون تغییر)
۲. دادههای تغییرپذیر (Mutable)
اینها مثل لیستها (list) و دیکشنریها (dict) به صورت اشتراکی به تابع داده میشن. پس اگه تابع تغییری بده، متغیر اصلی هم تغییر میکنه!
def add_to_list(items):
items.append("شیر")
# روی لیست اصلی اثر میذاره
shopping_list = ["نان", "پنیر"]
add_to_list(shopping_list)
print(shopping_list)
# خروجی: ['نان', 'پنیر', 'شیر']
(تغییر کرد)
✨ نکته کلیدی: حواستون به لیستها و دیکشنریها باشه! چون توابع میتونن محتویات اونها رو برای همیشه عوض کنن.
BY Pythopia

Share with your friend now:
tgoop.com/pythopiachannel/144