متغیر های محلی چیست ؟ توضیح دهید.
متغیر های محلی چیست ؟ توضیح دهید.
شاید تعجب کرده باشید که چگونـه مـیتـوانیم متغیـر مشـابهی همچـون i را در هـر دو تـابع printMultiples و printMultTable استفاده کنیم. آیا هنگامی که یکـی از توابـع، مقـدار متغیر را تغییر میدهد، مشکلی ایجاد نمیشود؟ پاسخ منفی اسـت، زیـرا I در printMultiples و I در printMultTable یکسـان نیستند. متغیرهاي ایجاد شده درون یک تابع، محلی هستند و شما نمیتوانید به متغیر محلی از بیـرونِ محیط تابع دسترسی داشته باشید. یعنی مختارید که چندین متغیر با نامهاي مشابه داشـته باشـید بـهشرطی که آنها درون یک تابع نباشند. نمودار پشته براي این برنامه نشان میدهد که دو متغیر با نام i ، متغیرهـاي یکسـانی نیسـتند. آنها میتوانند به مقادیر متفاوتی اشاره کنند و تغییر یکی از آنها در دیگري تأثیري ندارد. مقدار i در printMultTable از 1 به سـمت 6 مـیرود. در نمـودار ایـن اتفـاق تـا زمـان رسیدن به 3 رخ داده است. در اجراي بعدي حلقـه مقـدار آن 4 خواهـد بـود. هـر بـار در طـول حلقـه printMultTable تابع printMultiples را بـا مقـدار جـاري i ، بـهعنـوان یـک آرگومـان فراخوانی میکند. آن مقدار به پارامتر n انتساب مییابد. درون تابع printMultiples مقدار i از 1 به طرف 6 مـیرود. در نمـودار ایـن اتفـاق تـا رســیدن بــه عــدد 2 رخ داده اســت. تغییــر ایــن متغیــر هــیچ تــأثیري روي مقــدار i در تــابع printMultTable ندارد. داشتن متغیرهاي محلی مختلف با نامهاي یکسان امري کاملاً قـانونی و رایـج اسـت. مخصوصـاً نامهایی مانند i و j که براي تکرار به عنوان متغیرهاي حلقه استفاده میشوند. اگر شما از بهکار بردن آنها در یک تابع بپرهیزید فقط به خاطر اینکه در جاي دیگـري اسـتفاده کردهاید، ممکن است کد برنامه را از لحاظ خواندن دشوار سازید.
برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید