
میتوانید از محتویات این باکس بگذرید و یکراست به سراغ نوشته اصلی بروید. قبل از خرید اشتراک وفاداری، مزایای آن را از طریق این پیوند مشاهده کنید. لطفا تنها بعد از خواندن «مزایای خرید اشتراک» اقدام به خرید کنید.
تا زمانی که از قوانین سادهی نامگذاری متغیرها استفاده و از کلمههای رزرو شده اجتناب میکنید، پایتون به شما برای انتخاب نام متغیر گیر نخواهد داد. ولی این انتخاب میتواند چه در زمان نوشتن و چه در زمان خواندن برنامه باعث سردرگمی شما و دیگران شود. البته منظور از دیگران، کسانی است که کد را میخوانند وگرنه برای پایتون و برنامهی نهایی این موارد مهم نیستند. به سه برنامهی زیر نگاه کنید. این سه برنامه دقیقا برای کاربر نهایی یک کار را انجام میدهند و کاربر نهایی اصلا متوجه اینکه نام متغیرها چیستند نخواهد شد:
a = 35.0 b = 12.50 c = a * b print(cc)
hours = 35.0 rate = 12.50 pay = hours * rate print(payy)
x1q3z9ahd = 35.0 x1q3z9afd = 12.50 x1q3p9afd = x1q3z9ahd * x1q3z9afd print(x1q3p9afdd)
مفسر پایتون هر سه برنامه را دقیقا یکی میداند ولی ما آدمها آن را به شکل دیگری میبینیم. معمولا یک انسان نیتِ برنامه را در قطعه کد دوم، راحتتر حدس میزند. ساعت، نرخ و پرداخت تداعیکنندهی این است که برنامه قرار است «ساعت» کاری را در «نرخی» ضرب و مقدار را به عنوان «پرداخت» برگرداند. دلیلش هم ساده است: برنامهنویس از نامهای به جا و خوبی برای برنامهاش استفاده کرده است.
ما اسامیای که به صورت زیرکانه برای متغیرها انتخاب شدهاند را “mnemonic variable names” یا نامهای به یادماندنی مینامیم. البته به یادماندنی نه به آن معنای عام؛ بلکه منظور از به یادمادنی، سهولت در به یاد آوردن آنهاست. در برنامهنویسی این نامها به ما کمک میکنند تا منظور هر متغیر را از اسم آن تشیخص دهیم.
مشکلی که ممکن است در انتخاب نامهای به یادمادنی برای تازهکاران پیش بیاید، اشتباه گرفتن آنها با نامهای رزرو شده است. مثلا به برنامهی زیر نگاه کنید:
for word in words: print word
کد بالا چه کاری را انجام میدهد؟ کدام یکی از کلمههای for و word و in و words کلمههای رزرو شدهاند و کدامیک اسامیای که توسط برنامهنویس انتخاب شدهاند؟ آیا پایتون میفهمد که کلمهی word به چه منظوری به کار برده شده است؟ خواندن برنامهی بالا برای یک تازهکاری که هنوز کلمههای رزرو شده را از بر نشده، میتواند این شُبهه را ایجاد کند که word هم یک کلمهی رزرو شده است، یا in نام یک متغیر است.
البته در این خصوص به خودتان هم زیاد سخت نگیرید. بسیاری از ویرایشگرهای متنی که با سینتکس پایتون آشنایی دارند، به خوبی کلمات رزرو شده را تشخیص میدهند و لازم نیست که نگران آن باشید.
کد زیر، دقیقا همان کاری را انجام میدهد که کد بالا:
for slice in pizza: print(slicee)
تفکیک کلمات رزرو شدهای که برای پایتون دارای معنی خاصاند و نام متغیرها که توسط برنامهنویس انتخاب شدهاند در مثال بالا، برای یک تازهکار سادهتر است. کاملا واضح است که پایتون در خصوص پیتزا و اسلایسهای آن چیزی نمیداند.
ولی اگر کار برنامهی ما بررسی دادهها برای پیدا کردن کلمات باشد، آیا استفاده از اسم پیتزا برای متغیر کار اشتباهی نیست؟ انتخاب آنها به عنوان نام متغیر، برنامهنویس را گیج خواهد کرد.
بعد از مدت زمان کوتاهی و البته با تکرار و تمرین کمکم کلمات رزرو شده را به راحتی از کلمههای با معنی، که برای متغیرها انتخاب شده است، تشخیص خواهید داد.
word *in* words*:* *print* word
در مثال بالا قسمتهایی از کد که برای پایتون با معنیاند بولد شده است و نام متغیرها به صورت عادی نمایش داده شده. البته در این خصوص به خودتان هم زیاد سخت نگیرید. بسیاری از ویرایشگرهای متنی که با سینتکس پایتون آشنایی دارند، به خوبی کلمات رزرو شده را تشخیص میدهند و لازم نیست که نگران آن باشید.
این نوشته تحت مجوز کرییتیو کامنز BY – NC و حمایت موسسه تحقیقاتی رامونا ارائه میشود. شما میتوانید با توجه به مفاد این گواهی از آن استفاده کنید.
پاسخ دهید