ورودی و خروجی در پایتون — به زبان ساده
در این مطلب، مبحث ورودی و خروجی در پایتون مورد بررسی قرار خواهد گرفت. پیش از این، در مطلبی با عنوان «زبان برنامه نویسی پایتون (Python) — از صفر تا صد» مفاهیم مقدماتی پایتون شامل چیستی «زبان برنامهنویسی پایتون» (Python Programming Language)، دلایل محبوبیت آن، ویژگیهای پایتون، مزایا و معایب آن، کاربردهای پایتون، بازار کار، نسخههای مختلف این زبان (نسخه ۲ و ۳) و چگونگی انتخاب از میان این دو نسخه و تفاوتهای زبان پایتون با دیگر زبانهای برنامهنویسی مورد بررسی قرار گرفت. در مطلب «پایتون برای مبتدیان — به زبان ساده» به مباحث مقدماتی پایتون برای افراد مبتدی، شامل روش نصب و اجرای کدهای پایتون و همچنین، چگونگی نوشتن برنامه «!Hello World» پرداخته شده است. همچنین، در مطالب زیر، روش نصب پایتون در سیستمعاملهای گوناگون برای علاقهمندان به این موضوع، تشریح شد.
- نصب پایتون — از صفر تا صد
- نصب پایتون در ویندوز — از صفر تا صد
- نصب پایتون در لینوکس — از صفر تا صد
- نصب پایتون در مک — از صفر تا صد
در مطلب «کلیدواژهها و شناساگرها در پایتون — به زبان ساده» به موضوع «کلمات رزرو شده» (Reserved Words)، «کلیدواژهها» (Keywords) و «شناساگرها» (Identifier) پرداخته شده است. همچنین، در مطلبی با عنوان «دستورات پایتون و دندانه گذاری — به زبان ساده» روش نوشتن دستورات زبان پایتون و مفهوم «دندانهگذاری» (Indentation) در پایتون مورد بررسی قرار گرفته است. در مطلب «توضیحات در پایتون — به زبان ساده»، مفهوم «توضیحات» و چگونگی نوشتن توضیحات در پایتون به طور کامل تشریح و در مطلب «انواع متغیرها در پایتون -- به زبان ساده» مفهوم و کاربرد «متغیرها» (Variables)، «ثابتها» (Constant) و «لیترالها» (Literals) بیان شده است. در این مطلب، ورودی و خروجی در پایتون و چگونگی «وارد کردن» (Import) دادهها در این زبان مورد بررسی قرار گرفته است است.
ورودی و خروجی در پایتون
در این راهنما، بر دو تابع توکار ()print و ()input به منظور انجام عملیات ورودی و خروجی در پایتون، تمرکز شده است. همچنین، روش وارد کردن (ایمپورت) ماژولها و استفاده از آنها در برنامه نیز مورد بررسی قرار گرفته است. پایتون توابع توکار متعدد و از پیش آمادهای را فراهم میکند که میتوان از آنها در «خط فرمان پایتون» (Python prompt) استفاده کرد. برخی از توابع مانند ()input و ()print به طور گسترده به ترتیب برای عملیات استاندارد ورودی و خروجی در پایتون مورد استفاده قرار میگیرند. در ادامه، ابتدا به تابع خروجی (output) پرداخته خواهد شد.
خروجی پایتون با تابع ()print
از تابع ()print، برای خروجی دادن دادهها به یک دستگاه خروجی استاندارد (صفحه نمایش) استفاده میشود. همچنین، میتوان از خروجی دادن دادهها در یک فایل استفاده کرد، اما چگونگی انجام این کار از حوصله این بحث خارج است. مثالی در رابطه با تابع ()print در ادامه آورده شده است.
1print('This sentence is output to the screen')
2# Output: This sentence is output to the screen
3
4a = 5
5
6print('The value of a is', a)
7# Output: The value of a is 5
در دومین دستور ()print، تعیین شده که یک فضای خالی بین رشته و مقدار متغیر a اضافه شود. این قابلیت به صورت پیشفرض وجود دارد، اما میتوان آن را تغییر داد. نحو دقیق تابع ()print به صورت زیر است.
1print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
در دستور بالا، objects مقدار(هایی) است که باید چاپ شوند. فاصله جداکننده (sep) بین مقادیر مورد استفاده قرار گرفته است. کاراکتر جدا کننده، به طور پیشفرض، برابر با کاراکتر فاصله تنظیم میشود. پس از آنکه همه مقادیر چاپ شدند، end چاپ میشود. در صورتی که پارامتر end در پایتون مقداردهی نشود، به صورت پیشفرض، با مقدار کاراکتر خط جدید تنظیم میشود. The file شیئی است که مقادیر در آن چاپ میشوند و مقدار پیشفرض آن sys.stdout (صفحه نمایش) است. در ادامه، مثالی در همین رابطه ارائه شده است.
1print(1,2,3,4)
2# Output: 1 2 3 4
3
4print(1,2,3,4,sep='*')
5# Output: 1*2*3*4
6
7print(1,2,3,4,sep='#',end='&')
8# Output: 1#2#3#4&
قالببندی خروجی
گاهی، کاربر نیاز دارد که خروجی برنامه را قالببندی کند تا خواناتر و البته جذابتر به نظر برسد. این کار با استفاده از متد ()str.format قابل انجام است. این متد برای هر شی رشتهای قابل نمایش است.
1>>> x = 5; y = 10
2>>> print('The value of x is {} and y is {}'.format(x,y))
3The value of x is 5 and y is 10
در اینجا، کروشه به عنوان placeholders مورد استفاده قرار میگیرد. میتوان ترتیبی را مشخص کرد که با استفاده از اعداد چاپ شود (اندیس تاپل).
1print('I love {0} and {1}'.format('bread','butter'))
2# Output: I love bread and butter
3
4print('I love {1} and {0}'.format('bread','butter'))
5# Output: I love butter and bread
حتی میتوان از آرگومانهای کلیدواژه برای قالببندی رشته استفاده کرد.
1>>> print('Hello {name}, {greeting}'.format(greeting = 'Goodmorning', name = 'John'))
2Hello John, Goodmorning
همچنین، میتوان رشتههایی مانند استایل ()sprintf قدیمی استفاده شده در زبان برنامهنویسی C را استفاده کرد. از عملگر % برای انجام این کار استفاده میشود.
1>>> x = 12.3456789
2>>> print('The value of x is %3.2f' %x)
3The value of x is 12.35
4>>> print('The value of x is %3.4f' %x)
5The value of x is 12.3457
ورودی پایتون
تاکنون، برنامههای ارائه شده در اینجا، ایستا بودند. مقدار متغیرها تعریف و یا در کد منبع به صورت «کد سخت» (Hard Code) نوشته شده بود. برای پذیرش انعطافپذیری، ممکن است نیاز به گرفتن ورودی از کاربر باشد. در پایتون، تابع ()input برای انجام این کار وجود دارد. نحو تابع ()input به صورت زیر است.
1input([prompt])
که در آن، prompt رشتهای است که هدف نمایش آن روی صفحه نمایش است. این رشته دلخواه است.
>>> num = input('Enter a number: ') Enter a number: 10 >>> num '10'
در اینجا، میتوان مشاهده کرد که مقدار وارد شده «۱۰»، یک رشته است؛ نه یک عدد. برای تبدیل این رشته به یک عدد میتوان از تابع ()float یا ()int در پایتون استفاده کرد.
>>> int('10') 10 >>> float('10') 10.0
عملیات مشابهی با استفاده از تابع ()eval قابل انجام است. اما، مدت زمان بیشتری به طول میانجامد. این روش میتواند حتی عبارتها را ارزیابی کند، خروجی فراهم شده نیز رشته است.
1>>> int('2+3')
2Traceback (most recent call last):
3 File "<string>", line 301, in runcode
4 File "<interactive input>", line 1, in <module>
5ValueError: invalid literal for int() with base 10: '2+3'
6>>> eval('2+3')
75
وارد کردن (ایمپورت) در پایتون
هنگامی که برنامه رشد میکند و بزرگتر میشود، یک ایده خوب شکستن آن به ماژولهای گوناگون و کوچکتر است. یک ماژول در واقع یک فایل حاوی تعریفها و دستورات پایتون است. ماژولهای پایتون دارای یک اسم فایل هستند و با پسوند py. به پایان میرسند. تعاریف درون یک ماژول قابل وارد کردن (ایمپورت) به دیگر ماژولها یا مفسر تعاملی در پایتون است. در این راستا میتوان از کلیدواژه import نیز استفاده کرد. برای مثال، میتوان ماژول math را با نوشتن import math وارد (import) کرد.
1import math
2print(math.pi)
اکنون همه تعاریف درون ماژول math در دامنه موجود هستند. همچنین، میتوان برخی از مشخصههای معین و تابعها را با استفاده از کلیدواژه from وارد کرد. مثال زیر در همین رابطه است.
1>>> from math import pi
2>>> pi
33.141592653589793
هنگام وارد کردن یک ماژول، پایتون چندین مکان تعریف شده در sys.path را تعریف میکند. این یک لیست از موقعیت دایرکتوریها است.
1>>> import sys
2>>> sys.path
3['',
4 'C:\\Python33\\Lib\\idlelib',
5 'C:\\Windows\\system32\\python33.zip',
6 'C:\\Python33\\DLLs',
7 'C:\\Python33\\lib',
8 'C:\\Python33',
9 'C:\\Python33\\lib\\site-packages']
میتوان موقعیت دلخواه کاربر را نیز به لیست اضافه کرد.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون Python
- آموزش تکمیلی برنامهنویسی پایتون
- مجموعه آموزشهای دادهکاوی و یادگیری ماشین
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
- یادگیری علم داده (Data Science) با پایتون — از صفر تا صد
- آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
- نحوه تبدیل فایل پایتون به EXE – آموزش کامل و ساده
^^
سلام میشه راهنمایی کنید چطوری این پروژه رو تو پایتون بنویسم برنامه ای بنویسید گه تا رقم 30 اعداد خود ا دریافت کرده و خروجی بصورت عدد زوج چاپ کنید ) ممنون
سلام، مفید بود ولی برای مبتدی ها کاربردی نیست آیا مطالب کامل تری هم دارید؟
با سلام و احترام؛
صمیمانه از همراهی شما با مجله فرادرس و ارائه بازخورد سپاسگزاریم.
برای یادگیری بیشتر میتوانید از دوره آموزش پایتون مقدماتی استفاده کنید که در درس دوم به معرفی print و در درس بیست و دوم آن به تابع input پرداخته است. این دوره در سطح مقدماتی ارائه شده و برای افراد مبتدی مناسب است:
همچنین در دوره زیر نیز در این خصوص محتوای آموزشی موجود است:
برای شما آرزوی سلامتی و موفقیت داریم.