هر برنامه ورودی هایی را دریافت می کند و پس از انجام محاسبات و پردازش هایی، خروجی را بر روی نمایشگر نشان می دهد و یا درون یک فایل و یا درون پایگاه داده ذخیره می کند. همچنین چندین روش برای دریافت ورودی وجود دارد. برنامه می تواند از طریق خط فرمان یا واسط های گرافیکی ورودی بگیرد و یا اینکه از درون یک فایل ورودی را بخواند.

پایتون نسخه ۲ توابع ()input و ()raw_input را برای دریافت ورودی از خط فرمان و کلمه کلیدی print را برای نمایش خروجی بر روی خط فرمان را فراهم کرده است.  تابع ()raw_input در پایتون ۳ حذف شده است و از تابع ()input برای دریافت ورودی استفاده می شود. همچنین در پایتون ۳ print دیگر کلمه کلیدی نیست و به عنوان تابع درونی ()print معرفی شده است.

تابع ()raw_input

این تابع یک رشته را به به عنوان Prompt به کاربر نشان می دهد و داده ای که کاربر وارد می کند را به عنوان یک رشته بر می گرداند. روش کلی استفاده از این تابع مانند قطعه کد ۱ است. داده ای که کاربر وارد می کند درون متغیر input_variable ذخیره خواهد شد.

در خط ۱ Enter a Number به کاربر نشان داده می شود و از کاربر خواسته می شود تا یک عدد (صحیح یا اعشاری) را وارد کند. ورودی کاربر درون متغیر input_variable ذخیره می شود، اما آن چیزی که درون input_variable ذخیره می شود عدد صحیح یا اعشاری نیست بلکه رشته است. خط دوم اعلان برای وارد کردن ورودی را نشان می دهد که عدد ۱۰۰ وارد شده است ولی در خط چهارم توسط تابع ()type نوع متغیر input_variable رشته (str) نشان داده شده است.

تابع ()input

کاربرد این تابع دقیقا همانند تابع ()raw_input است، یعنی یک ورودی را دریافت و آنرا درون متغیر ذخیره می کند. ولی این تابع بر خلاف تابع ()raw_input که بی توجه به نوع داده ورودی، به صورت محض یک رشته را درون متغیر ذخیره می کند، تابع ()input دقیقا همان مقدار ورودی را در متغیر ذخیره می کند. قطعه کد ۲ مثال هایی را نشان می دهد.

تابع ()input در پایتون ۳

همانطور که گفته شد تابع ()raw_input در پایتون ۳ وجود ندارد و از تابع ()input برای دریافت ورودی استفاده می شود. اما تابع ()input در پایتون ۳ با تابع ()input در پایتون ۲ متفاوت است و نقش آن همانند تابع ()raw_input است. یعنی یک ورودی به صورت رشته درون یک متغیر ذخیره می شود. قطعه کد ۳ مثال هایی از دریافت اعداد و لیست ها را نشان می دهد.

تبدیل نوع برای رفع مشکل توابع ()raw_input و ()input

تابع ()raw_input در پایتون ۲ و تابع ()input در پایتون ۳ داده های ورودی را در نهایت به صورت رشته درون متغیر ذخیره می کنند. اگر داده ورودی رشته باشد، پس مشکلی ندارد که به صورت رشته ذخیره شود ولی اگر داده ها به صورت عددی باشند و بخواهیم آنها را در محاسبات اضافه کنیم به مشکل خواهیم خورد. قطعه کد ۴ یک مثال از دریافت عدد و استفاده از آن در یک محاسبه ریاضی را نشان می دهد که به دلیل ذخیره شدن به صورت رشته خطا نشان داده می شود.

در خط آخر خطا نشان می دهد که نمی توان رشته ‘۱۰۰’ را با عدد صحیح ۱۰ الحاق (Concatenate) کرد چون عملگر + برای رشته نقش الحاق کردن دو رشته را دارد و چون عدد ۱۰۰ ورودی به عنوان رشته ذخیره شده و عدد ۱۰ نیز رشته نیست، پس خطا نشان داده می شود. برای رفع مشکل فوق باید از تبدیل کننده های رشته به عدد صحیح، رشته به عدد ممیز شناور، رشته به لیست، رشته به تاپل، رشته به دیکشنری استفاده کرد. قطعه کد ۵ نمونه مثال هایی از کاربرد تبدیل کننده های ()int برای تبدیل رشته به عدد صحیح و تبدیل کننده ()float برای تبدیل رشته به عدد ممیز شناور را نشان می دهد.

چاپ خروجی بر روی خط فرمان

در پایتون ۲ از عبارت print برای چاپ خروجی استفاده می شود. در واقع print در پایتون ۲ یک تابع نیست بلکه کلمه کلیدی است و به همین خاطر نمی توان از آن به عنوان یک شناسه استفاده کرد. چون print در پایتون ۲ تابع نیست، پس اجباری به استفاده از پرانتزهای باز و بسته وجود ندارد. بنابراین در قطعه کد ۶ هر دو دستور معتبر هستند و رشته ای را چاپ می کنند.

با استفاده از print می توان به غیر از چاپ یک رشته بر روی خط فرمان، محتوای یک یا چند متغیر را نیز چاپ کرد. در قطعه کد ۷ متغیرهای variabl1 و variable2 و variable3 با مقدار دهی و توسط print بر روی نمایشگر چاپ شده اند. متغیرها توسط کاما (ویرگول) از یکدیگر جدا شده اند.

هچنین علاوه بر نمایش رشته ها یا محتوای متغیرها، توسط print می توانید رشته و محتوای متغیرها را نمایش داد. در این صورت بخش رشته و فهرست متغیرها با یک کاما از هم جدا می شوند و همچنین خود فهرست متغیرها نیز با کاما از هم جدا خواهند شد. قطعه کد ۸ بازنویسی شده قطعه کد ۷ است.

 در قطعه کد ۸ محتوای سه متغیر به ترتیب از variable1 و سپس variable2 و در آخر variable3 پس از رشته Three Variables چاپ می شوند ولی اگر بخواهید محتوای متغیرها درون رشته چاپ شود باید از کاراکترهای فرمت استفاده کنید. کاراکترهای فرمت با علامت % شروع می شوند و هر یک برای نمایش یک نوع داده عددی استفاده می شود. شکل ۱ فهرست کاراکترهای فرمت را نشان می دهد. اما استفاده از این کاراکترها درون print با حالت قبل متفاوت است. در حالت عادی از کاما برای جدا کردن رشته و فهرست متغیرها استفاده می شود ولی در زمان استفاده از کاراکترهای فرمت به جای کاما باید از علامت % برای جدا کردن رشته و فهرست متغیرها استفاده کرد.

 قطعه کد ۹ مثال هایی از کاربرد کاراکترهای فرمت را نشان می دهد.

فرض کنید می خواهید محتوای سه متغیر variable1 و variable2 و variable3 را مانند رشته زیر درون  متغیرها درون خود رشته چاپ کنید..

Variable1 is: 100 and Variable2 is: 10.200000 and Variable3 is: Hello World !!!!

احتمالا برای قرار دادن محتوای متغیرها از دستور قطعه کد ۱۰ استفاده می کنید.

اما دستور قطعه کد ۱۰ باعث بروز خطای زیر می شود.

برای رفع مشکل بالا باید فهرست متغیرها را مطابق قطعه کد ۱۱ درون پرانتزهای باز و بسته قرار دهید. همچنین علامت % همچنان پس از بسته شدن رشته و پیش از پرانتز باز قرار دارد.

استفاده از فرم های بالا دیگر کمتر استفاده می شود و به جای آن، از تابع ()format برای انجام فرمت کردن حروجی استفاده می شود.

تابع ()print در پایتون ۳

در پایتون ۳ print به صورت یک تابع معرفی شده است و حتما باید رشته یا محتوای متغیرها میان پرانتزهای باز و بسته قرار بگیرند. قطعه کد ۱۲ بازنویسی شده قطعه کد ۱۱ در پایتون ۳ و استفاده از تابع ()print را نشان می دهد.

البته در پایتون ۲ نیز می توانیم رشته یا محتوای متغیرها را میان پرانتزها قرار دهیم ولی چون print در پایتون ۲ یک تابع نیست، اجباری هم به پرانتزهای باز و بسته نیست.