نامگذاری متغیر: قانونهای ساده برای نوشتن نامهای درست در پایتون
وقتی برنامهنویسی میکنی، برای ذخیرهٔ اطلاعات از متغیرها استفاده میکنی. هر متغیر یک نام دارد که به کمک آن میتوانی به اطلاعات دسترسی پیدا کنی. اما آیا هر نامی را میتوان برای متغیر انتخاب کرد؟ خیر! زبان پایتون برای نامگذاری متغیرها قوانین مشخصی دارد که اگر آنها را رعایت نکنی، برنامهات با خطا مواجه میشود. در این مقاله، با این قوانین آشنا میشوی و یاد میگیری چطور نامهایی بنویسی که هم برای پایتون قابلقبول باشد و هم برای خودت و دیگران خوانا و مفهوم باشد. همچنین با چند اشتباه رایج آشنا میشوی تا در برنامهنویسیهای آیندهات آنها را تکرار نکنی.
قانونهای طلایی برای نامگذاری متغیر
برای اینکه پایتون نام متغیر تو را بپذیرد، باید سه قانون اساسی را رعایت کنی. این قانونها شبیه به قوانین راهنمایی و رانندگی برای نامها هستند؛ اگر آنها را رعایت نکنی، برنامهات از کار میافتد. بیا با هم این قانونها را مرور کنیم.
قانون اول: نام متغیر باید با یک حرف یا خطِ زیر (_) شروع شود
نام متغیر نمیتواند با عدد شروع شود. مثلاً نام 5salam اشتباه است، اما salam5 یا _salam درست هستند. فرض کن میخواهی نمرهٔ ریاضی را در متغیری ذخیره کنی. نام riazi_nomre درست است، اما 1riazi اشتباه است. پایتون اجازه نمیدهد نام با عدد شروع شود چون ممکن است با خود اعداد اشتباه گرفته شود.
قانون دوم: نام متغیر فقط میتواند شامل حروف، اعداد و خطِ زیر (_) باشد
استفاده از فاصله، علامتهای سجاوندی مانند !، @، #، $ یا خط تیره (-) در نام متغیر مجاز نیست. مثلاً نام salam-dost اشتباه است، اما salam_dost درست است. اگر بخواهی نام یک کتاب را در متغیر بگذاری، میتوانی بنویسی name_ketab یا ketab1، اما هرگز name-1 یا ketab$ ننویس.
قانون سوم: پایتوت به بزرگی و کوچکی حروف حساس است
یعنی پایتون نامهای salam و Salam و SALAM را سه متغیر متفاوت میداند. پس وقتی نامی را انتخاب میکنی، باید همیشه بهیک شکل بنویسی. مثلاً اگر متغیر را myName تعریف کردهای، بعداً با myname یا MyName نمیتوانی به آن دسترسی پیدا کنی، چون پایتون آنها را متفاوت میبیند.
برای اینکه بهتر این قانونها را به خاطر بسپاری، جدول زیر را ببین. این جدول چند نام درست و نادرست را کنار هم مقایسه کرده است.
| نام متغیر | درست یا نادرست؟ | دلیل |
|---|---|---|
| mashin | درست | با حرف شروع شده و فقط شامل حروف است |
| 1safar | نادرست | با عدد شروع شده است |
| nomre_riazi | درست | با حرف شروع شده و از خطِ زیر استفاده کرده است |
| nomre-riazi | نادرست | از خط تیره (علامت مجاز نیست) استفاده کرده است |
| _my_name | درست | با خطِ زیر شروع شده و شامل حروف و خطِ زیر است |
| hello world | نادرست | بین دو کلمه فاصله وجود دارد که مجاز نیست |
چطور نامی انتخاب کنیم که هم درست باشد و هم مفهوم؟
حالا که با قانونهای پایه آشنا شدی، نوبت به یک نکتهٔ مهمتر میرسد: نام متغیر باید معنیدار باشد. فرض کن متغیری برای ذخیرهٔ سن یک دانشآموز تعریف میکنی. نام x یا a اگرچه از نظر قوانین پایتون درست است، اما بعد از چند روز که به برنامهات نگاه میکنی، هیچکدام از این نامها به تو نمیگویند که این متغیر برای چه چیزی است. اما اگر نام sale_daneshamuz را انتخاب کنی، هر کسی که کد را میبیند، بلافاصله متوجه میشود که این متغیر برای ذخیرهٔ سال سن دانشآموز است.
انتخاب نام معنیدار، یکی از عادتهای خوب برنامهنویسی است. وقتی نام متغیرها را واضح انتخاب کنی، خواندن و درک برنامه برای خودت و دیگران بسیار راحتتر میشود. همچنین اگر برنامهات خطا داشت، راحتتر میتوانی متوجه بشوی که کدام متغیر مشکل دارد.
در پایتون، یک رسم نانوشته هم وجود دارد که بسیاری از برنامهنویسان از آن پیروی میکنند: برای نامهای چندکلمهای، از خطِ زیر برای جدا کردن کلمهها استفاده میکنند. مثلاً nomre_riazi یا name_madar. به این روش، «نوشتن با خطِ زیر» میگویند. این کار باعث میشود نامها خواناتر شوند.
سؤالهای رایج دربارهٔ نامگذاری متغیر
آیا میتوانم از نامهای فارسی برای متغیر استفاده کنم؟
پایتون از نسخهٔ 3 به بعد، اجازهٔ استفاده از حروف فارسی را در نام متغیر میدهد. اما این کار در بین برنامهنویسان حرفهای توصیه نمیشود، چون ممکن است در برخی محیطها یا سیستمها بهدرستی نمایش داده نشود یا باعث سردرگمی شود. بهتر است همیشه از حروف انگلیسی برای نام متغیرها استفاده کنی تا برنامهات با هر سیستمی سازگار باشد.
چرا پایتون به من اجازه نمیدهد از کلماتی مثل if یا while به عنوان نام متغیر استفاده کنم؟
پایتون کلمههای خاصی را برای خودش نگه داشته است که به آنها «واژههای کلیدی» میگویند. این کلمهها دستورهای اصلی پایتون هستند و برای کارهای خاصی استفاده میشوند، مثل شرطگذاری یا حلقهها. اگر از آنها به عنوان نام متغیر استفاده کنی، پایتون متوجه نمیشود که تو چه کاری میخواهی انجام دهی و خطا میدهد. پس از کلماتی مثل for، while، if، else، True و False به عنوان نام متغیر استفاده نکن.
آیا نام متغیر میتواند خیلی بلند باشد؟
از نظر قوانین پایتون، نام متغیر میتواند هر اندازه که بخواهی باشد، اما از نظر علمی، نامهای خیلی بلند باعث میشوند کدت شلوغ و خواندن آن سخت شود. مثلاً nomre_riazi_danesh_amoz_dar_emtehan خیلی بلند است. بهتر است نامی انتخاب کنی که کوتاه و گویا باشد، مثل nomre_riazi.
نکتهٔ مهم
در این مقاله با سه قانون اصلی نامگذاری متغیر در پایتون آشنا شدی: شروع با حرف یا خطِ زیر، استفاده از حروف و اعداد و خطِ زیر، و حساسیت به بزرگی و کوچکی حروف. همچنین یاد گرفتی که انتخاب نامهای معنیدار و خوانا، یکی از عادتهای خوب برنامهنویسی است که به درک بهتر کد کمک میکند. از واژههای کلیدی پایتون به عنوان نام متغیر استفاده نکن و سعی کن نامها را نه خیلی کوتاه و نه خیلی بلند انتخاب کنی. با رعایت این نکات، برنامههای پایتونیات نهتنها بدون خطا اجرا میشوند، بلکه برای خودت و دیگران هم قابلدرکتر خواهند بود.