پایتون برای همه | 16 | ورودی و کامنت

پایتون برای همه پایتون 3

اشتراک وفاداری

می‌توانید از محتویات این باکس بگذرید و یک‌راست به سراغ نوشته اصلی بروید. قبل از خرید اشتراک وفاداری، مزایای آن را از طریق این پیوند مشاهده کنید. لطفا تنها بعد از خواندن «مزایای خرید اشتراک» اقدام به خرید کنید.

درخواست ورودی از کاربر

گاهی لازم است که مقدار یک متغیر را از کاربر از طریق کیبورد بگیریم. پایتون از یک تابع توکاری-شده یا درونی (به این معنی که این تابع به صورت پیش‌فرض با پایتون همراه است) برای این کار استفاده می‌کند. اسم این تابع input است و ورودی خود را از کیبورد می‌گیرد. وقتی این تابع فراخوانده می‌شود، برنامه متوقف شده و منتظر کاربر می‌شود تا چیزی تایپ کند. زمانی که کاربر Enter را می‌زند، برنامه به ادامه‌ی کار خود می‌پردازد و چیزی که کاربر تایپ کرده بود را به عنوان یک رشته یا استرینگ در متغیر مورد نظر ذخیره می‌کند. مثال زیر را در حالت تعاملی پایتون وارد کنید تا خودتان هم ببینید:

>>> input = input()
Some silly stuff
>>> print(input)
Some silly stuff

در مثال بالا دیدید که تابع ما منتظر شد تا کاربر چیزی را وارد کند، ولی هیچ نشانه‌ای از اینکه منتظر است وجود نداشت. یعنی اگر کسی غیر از ما پشت سیستم نشسته بود، به اعلان خط فرمان نگاه می‌کرد و می‌گفت: «هان! که چی؟» پس شاید بد نباشد که خط اعلان چیزی را به ما اعلام کند؛ مثلا «کاربر محترم لطفا یه ورودی با کیبورد وارد کن». برای اینکار بایستی داخل پرانتز بعد از input یک رشته قرار دهید. به مثال زیر دقت کنید:

>>> name = input('What is your name?n')
What is your name?
Chuck
>>> print(name)
Chuck

آن ‎n در انتهای رشته بیانگر این است که ورودی را در «خط جدید» بگیرد و احتمالا مخفف newline است. این نویسه مختص شکستن خط و رفتن به خط بعدی‌ست؛ و به همین خاطر است که ورودی کاربر در خط جدید ظاهر می‌شود. به خط سوم در کد بالا نگاه کنید.
اگر از کاربر یک عدد صحیح بخواهید چه؟ input ورودی را به صورت رشته، و نه عدد صحیح یا integer می‌گیرد. برای این کار از تابع int()‎ استفاده می‌کنیم:

>>> prompt = 'What...is the airspeed velocity of an unladen swallow?n'
>>> speed = input(prompt)
What...is the airspeed velocity of an unladen swallow?
17
>>> int(speed)
17
>>> int(speed) + 5
22

حالا اگر به جای یک عدد صحیح، یک رشته وارد تابع int کنیم، چه می‌شود؟ بیایید ببینیم:

>>> speed = input(prompt)
What...is the airspeed velocity of an unladen swallow?
What do you mean, an African or a European swallow?
>>> int(speed)
ValueError: invalid literal for int() with base 10:

همانطور که مشاهده می‌کنید زمانی که رشته یک عدد صحیح نباشد تابع int خطا می‌دهد. در آینده به بررسی و نحوه‌ی برطرف کردن این نوع اشکالات خواهیم پرداخت.

کامنت یا نظر بر روی برنامه

به مرور که برنامه بزرگ‌تر می‌شود، پیچیده‌تر خواهد شد. با پیچیده‌تر شدن، خواندنش سخت‌تر می‌شود و ممکن است کار به جایی برسد که شما با خواندن یک قطعه کد متوجه نشوید که قرار است چه کاری را انجام دهد.
به همین دلیل نوشتن کامنت یا نظر بر روی کدها – به زبان آدمیزاد – ایده‌ی خوبی به حساب می‌آید. در پایتون کامنت‌ها با # شروع می‌شوند.

# compute the percentage of the hour that has elapsed
percentage = (minute * 100) / 60

های خط نیز اضافه کنید بدون اینکه اختلالی در کارکرد برنامه ایجاد کند:

percentage = (minute * 100) / 60     # percentage of an hour

هر چیزی که بعد از # قرار می‌گیرد، نادیده گرفته خواهد شد و هیچ تاثیری در برنامه نخواهد داشت. کامنت‌ها زمانی که یک ویژگی نه‌چندان واضح را به کد اضافه می‌کنید، بسیار کاربردی‌اند.
معمولا کاربر می‌فهمد که این قطعه کد چه کاری را انجام می‌دهد، ولی چرایی‌اش مبهم خواهد بود در نتیجه بهتر است در کامنت‌ها چرایی قرار دادن قطعه کد را تشریح کنید. یک کد خوب بایستی به خوبی کامنت شده باشد.
به عنوان مثال کامنت زیر یک کامنت غیرضروری و اضافه است، چون بدون وجود این کامنت هم کاربر می‌فهمد که در این خط کد عدد پنج به متغیر v اختصاص پیدا می‌کند:

v = 5 # assign 5 to v

ولی کامنت زیر اطلاعات خوبی را در اختیار کسی که در حال خواندن کد است می‌گذارد:

v = 5 # velocity in meters/second.

البته اسامی خوب برای متغیر هم می‌تواند نیاز به کامنت کردن را بهینه کند؛ از طرفی اسامی بلند هم نه تنها امکان اشتباه را بالا می‌برد که می‌تواند برای مقاصدی که عبارت طولانی‌ست کار را پیچیده کند. در نتیجه انتخاب نام متغیر و نحوه‌ی کامنت کردن آن بایستی هوشمندانه باشد.

این نوشته تحت مجوز کرییتیو کامنز BY – NC و حمایت موسسه تحقیقاتی رامونا ارائه می‌شود. شما می‌توانید با توجه به مفاد این گواهی از آن استفاده کنید.

اولین نفری باشید که نظر می‌گذارد

پاسخ دهید

ایمیل شما نمایش داده نخواهد شد