Table of Contents
نقش «متغیر» در برنامهنویسی
در برنامهنویسی، «متغیر» یکی از سادهترین و در عین حال مهمترین مفاهیم است. تقریباً هیچ برنامهٔ مفیدی بدون متغیر نوشته نمیشود. در این بخش میخواهیم فقط خودِ مفهوم متغیر را بفهمیم، بدون اینکه هنوز درگیر جزئیات «چگونه در پایتون متغیر بسازیم» شویم (این در بخش بعدی میآید).
ایدهٔ اصلی: جعبهای که روی آن برچسب زدهاید
سادهترین تشبیه برای متغیر:
- یک جعبه یا ظرف را تصور کنید.
- روی این ظرف یک برچسب میچسبانید (مثلاً «سن»، «جمع»، «نام»).
- داخل این ظرف یک مقدار میگذارید (مثلاً ۲۰، ۵۰، "Ali").
در برنامهنویسی:
- متغیر مثل همین ظرف است.
- نام متغیر مثل برچسب روی ظرف است.
- مقدار متغیر چیزی است که داخل ظرف قرار میگیرد (عدد، متن، و …).
وقتی در برنامه از نام متغیر استفاده میکنید، در واقع به پایتون میگویید: «برو و مقداری که الان در این ظرف است را برایم بیاور».
چرا به متغیر نیاز داریم؟
فرض کنید میخواهید حاصل جمع دو عدد را حساب کنید:
- بدون متغیر: هر بار خودتان با ماشین حساب عددها را میزنید و یادتان میماند نتیجه چند شد.
- با متغیر: برنامه یک بار جمع را حساب میکند و نتیجه را در یک متغیر نگه میدارد تا بعداً از آن استفاده کند.
کاربردهای متغیر:
- ذخیرهٔ اطلاعات ورودی کاربر
(مثلاً سن، نام، قد که کاربر وارد میکند) - نگه داشتن نتایج محاسبات
(مثلاً جمع نمرهها، میانگین، تعداد موارد) - ذخیرهٔ وضعیت برنامه
(مثلاً اینکه «بازی تمام شده یا نه»، «کاربر وارد شده یا نه»)
بدون متغیر، هر چیزی را که یک بار حساب میکنید، بلافاصله «فراموش» میکنید. متغیر کمک میکند برنامه چیزها را به خاطر بسپارد.
«متغیر» یعنی چه؟
واژهٔ «متغیر» از «تغییر» میآید؛ یعنی چیزی که میتواند عوض شود.
در برنامه:
- در یک لحظه متغیر میتواند مقدار ۱۰ داشته باشد،
- بعداً میتواند مقدارش به ۲۰ تغییر کند.
بنابراین، متغیر فقط یک نام ثابت است برای مقداری که میتواند عوض شود.
مثلاً (به صورت مفهومی):
- الان
xبرابر ۵ است. - بعداً همان
xمیتواند برابر ۱۲ شود، بدون اینکه نامxعوض شود.
متغیر در برنامههای واقعی چه شکلی است؟
برای اینکه شکل کلی استفاده از متغیر را ببینید، لازم نیست فعلاً نگران جزئیات دستورها باشید. فقط به ایده دقت کنید:
age = 25 # اینجا برنامه سنی به نام age نگه میدارد
score = 90 # نمرهای به نام score
name = "Ali" # نامی به نام nameage،score،nameهمگی نام متغیر هستند.25،90،"Ali"مقدارهایی هستند که در این متغیرها ذخیره شدهاند.
بعد از این لحظه، هر جا در برنامه بنویسید age، پایتون مقدار ۲۵ را در نظر میگیرد (تا وقتی که خودتان مقدارش را تغییر دهید).
متغیر در مقابل مقدار ثابت
فرض کنید در یک برنامه مینویسید:
print(25)- عدد
25یک مقدار ثابت است؛ فقط همان یک بار از آن استفاده میکنید.
اما اگر بنویسید:
age = 25
print(age)25هنوز یک مقدار است،- ولی
ageیک متغیر است که آن مقدار را در خود نگه میدارد.
تفاوت مهم:
- مقدار ثابت را مستقیم در کد مینویسید؛ اگر خواستید عوضش کنید، باید کد را ویرایش کنید.
- متغیر را میتوانید در طول اجرای برنامه عوض کنید، بدون اینکه جای دیگری در کد را تغییر دهید.
این موضوع وقتی برنامه بزرگتر میشود، بسیار مهم است.
متغیر به عنوان برچسب روی دادهها
در بعضی زبانهای برنامهنویسی (از جمله پایتون)، میتوانید اینطور فکر کنید:
- داده (مثلاً عدد ۱۰) وجود دارد.
- شما برچسبی (نام متغیر) روی این داده میچسبانید.
- میتوانید بعداً همان برچسب را از یک داده بردارید و روی دادهٔ دیگری بچسبانید.
مثلاً:
x = 10 # الان برچسب x روی مقدار 10 است
x = 20 # حالا همان برچسب x روی مقدار 20 قرار داده شده است
نام x همان است، اما مقداری که به آن اشاره میکند عوض شده است.
متغیرها و حافظهٔ کامپیوتر (نگاه شهودی)
نیازی نیست جزئیات فنی حافظه را بدانید، ولی یک تصویر ذهنی مفید این است:
- کامپیوتر برای ذخیرهٔ اطلاعات از حافظه استفاده میکند.
- وقتی متغیری میسازید، انگار در حافظه یک جای کوچک برای آن مقدار کنار گذاشته میشود.
- نام متغیر مثل آدرس یا نشانی است که به آن جای ذخیره اشاره میکند.
شما لازم نیست آدرسهای واقعی را بدانید؛ فقط با نامها کار میکنید، پایتون بقیهٔ کارها را خودش انجام میدهد.
متغیرها و خوانایی برنامه
یکی از هدفهای مهم استفاده از متغیرها، خوانا کردن برنامه است.
کدام کد را راحتتر میفهمید؟
print(5 * 12)یا:
hours = 5
wage_per_hour = 12
print(hours * wage_per_hour)
در دومی، به کمک نام متغیرها (مثل hours و wage_per_hour) میتوانید حدس بزنید که این کد دارد حقوق بر اساس تعداد ساعت کار را حساب میکند، حتی اگر توضیحی هم در کد نباشد.
پس متغیرها فقط برای ذخیرهٔ مقدار نیستند؛ برای معنیدار کردن کد هم استفاده میشوند.
آیا متغیرها نوع دارند؟
در این بخش فقط ایدهٔ کلی را بگوییم (توضیح کامل در فصلهای بعد میآید):
- یک متغیر میتواند عدد نگه دارد،
- یا رشتهٔ متنی (مثلاً یک نام)،
- یا مقدار منطقی (درست/نادرست)،
- یا انواع دیگری از دادهها.
به این «نوع» مقدارهایی که متغیر نگه میدارد، میگوییم نوع داده.
در ادامهٔ همین فصل، انواع دادهٔ مختلف را یکییکی با مثال میبینید.
خلاصهٔ مفهومی
- متغیر = نام + مقدار.
- میتوانید مقدار را تغییر دهید، ولی نام همان میماند.
- متغیر به برنامه کمک میکند که:
- اطلاعات را ذخیره کند،
- از نتایج قبلی استفادهٔ دوباره کند،
- برنامه را قابلفهمتر کند.
- متغیرها بخش جدانشدنی از هر برنامه هستند؛ تقریباً هر کاری که با پایتون انجام میدهید، به نوعی از متغیر استفاده خواهد کرد.
در بخش بعدی خواهید دید چطور در پایتون متغیر بسازیم و به آن مقدار بدهیم.