آموزش پایهای پایتون - قسمت 1
به نام خدا
بخش اول : دانلود و نصب پکیج زبان برنامهنویسی پایتون روی ویندوز.
آخرین نسخه رسمی پایتون را میتوانید با مراجعه به آدرس python.org که سایت رسمی زبان برنامهنویسی پایتون است دانلود کنید.
پس از وارد کردن آدرس سایت در نوار آدرس مرورگر خود و بالا آمدن صفحه اصلی، تب Downloads را انتخاب میکنیم که در این صفحه نسخههای مربوط به سیستمعاملهای مختلف برای دانلود در دسترس است. با توجه به اینکه ما با مرورگری مبتنی بر سیستمعامل ویندوز وارد سایت شدهایم، به صورت خودکار دو پیشنهاد به ما ارائه میشود:
با کلیک روی دکمه دانلود فایل مربوطه، پروسه دانلود آغاز میشود. در ادامه، به پوشهای که فایل دانلودشده در آن ذخیره شده است مراجعه کنید و روی فایل دوبار کلیک کنید تا اجرا شود که پنجرهای به شکل زیر باز خواهد شد:
همانطور که در تصویر بالا مشاهده میکنید، دو گزینه برای انتخاب وجود دارد Install Now و Customize installation علاوه بر آن دو دکمه چکباکس هم در تصویر میبینیم که در صورت انتخاب اولین گزینه، Launcher این زبان برای تمام کاربران سیستم نصب خواهد شد و با انتخاب دومین چکباکس مسیر مفسر پایتون به متغیر PATH در ویندوز اضافه میشود (توصیه میکنیم تیک این گزینه را فعال کنید چرا که بعداً در استفاده از کامندلاین، به راحتی میتوانید دستورات پایتون را اجرا کنید)
برای نصب این زبان برنامهنویسی، بر روی دکمه Install Now کلیک میکنیم:
و در نهایت پنجره زیر را میبینید که اعلام میکند فرآیند نصب با موفقیت انجام شده است:
در این مرحله از کار، پکیج زبان برنامهنویسی پایتون به همراه محیط توسعه یکپارچه آن تحت عنوان IDLE روی سیستمعامل شما نصب گردیده و کدنویسی با این زبان را میتوانید شروع کنید.
بخش دوم : توضیحات ابتدایی
کلمه IDE مخفف کلمه انگلیسی Integrated Development Environment است و به معنی محیط یکپارچه توسعه نرمافزار تفسیر میشود.
کلمه IDE عبارت است از محیطی عمدتاً گرافیکی که تمام یا شماری از ابزارهای لازم برای توسعه نرمافزار را خود دارد. در IDE دسترسی به ابزارها و اعمال آنها در کار تسهیل شدهاست. (مثال هایی مانند VS Code و PyCharm)
نحوه کار یک سیستم:
ورودی => پردازش => خروجی
بخش سوم : آموزش ابتدایی
خب در این بخش ابتدا وارد محیط IDLE شدیم، سپس از قسمت File => NewFile فایل جدیدی را برای نوشتن کد باز میکنیم:
برای اجرای فایل مورد نظرمان هم در قسمت Run => Moudle را انتخاب میکنیم.
سپس از اولین دستور گفته شده شروع میکنیم، دستور print()که به معنای چاپ هر چیزی ست که به آن داده میشود و مقادیر را باید داخل پرانتز این دستور وارد کرد:
همانطور که در تصویر میبینید، داخل متنی که نشان داده میشود، نوشته است که این دستور به عنوان اولین ورودی یا اولین مقدارش، Value را دریافت میکند که منظور همان عبارتی ست که قصد چاپ آن را دارید، از عبارت دوم میگذریم و در عبارت سوم که نوشته شده است End این مقدار به معنای این است که باید بعد از چاپ یک مقدار و اتمام این دستور، چه مقدار از این عبارت چاپ شده فاصله بگیریم، یا آخر این عبارت چه مقدار فاصله (Space) چاپ شود که این مقدار به صورت پیشفرض یک خط است، یعنی خود پایتون بعد از چاپ یک عبارت، اگر نیازمند چاپ عبارت دیگری بود، به خط بعدی میرود. خب حالا دو سوال پیش میآید:
1. چگونه عبارتی که میخواهم را برای هر کدام از ورودی های این دستور بدهم؟
خب در جواب این سوال باید گفت اولین ورودی این دستور که Value هست، دو نوع داده را قبول میکند، اولی دادهی متنی یا رشته (String) و دومی داده عددی (integer)
برای مثال یک داده متنی یا رشته را به این شکل مینویسیم : “salam” یا ‘salam’ (نکته: داده متنی یا رشته، همیشه داخل دابل کوتیشن (") یا سینگل کوتیشن (") قرار میگیرد اما باید توجه داشت که نوع کوتیشن ابتدا و انتهای یک رشته متفاوت نباشد برای مثال این رشته اشتباه است : ‘salam”)
مثالی برای داده عدد هم به این شکل است : 545 (داده عددی داخل کوتیشن قرار نمیگیرد و نیازی به چیز دیگری به غیر از عدد نیست، اما اگر عدد مورد نظر داخل کوتیشن قرار گرفته باشد، این داده دیگر عددی نیست بلکه رشته تبدیل شده و دیگر نمیتوان عملیات ضرب یا جمع یا .... را با این داده انجام داد.)
نمونه چاپ یک عدد و چاپ یک رشته توسط دستور print :
همانطور که در این تصویر هم میبینید، در ابتدا رشته سلام ما چاپ شده و سپس در خط بعد داده عددی ما چاپ شده است. (دقت کنید همانطور که گفتم به علت اینکه مقدار End را وارد نکردیم، پایتون به صورت پیشفرض، برای چاپ مقدار بعدی، به خط بعد رفته و عبارت را چاپ میکند.
2. چگونه به یک دستور، دو یا چندین مقدار را بدهم؟
برای این کار، بین مقادیری که میخواهیم وارد کنیم، باید یک , قرار دهیم تا پایتون بفهمد ما از این به بعد میخواهیم مقدار بعدی را وارد کنیم:
در این تصویر هم میبینیم که ابتدا در دستور اول، برای جدا کردن مقدار هایی که میخواستم وارد کنم، عبارت , را وارد کردم و سپس end را برابر با (‘’) قرار دادم که به معنای هیچ است، یعنی بعد از چاپ عبارت سلام، هیچ فاصله ای با عبارت بعدی نداشته باش و همانطور که میبینید در خروجی هم عبارتها، پشت سر هم چاپ شده اند.
خب به قسمت بعدی میرسیم، چگونه یک داده (متنی یا عددی یا ....) را داخل یک متغیر ذخیره کنیم؟
متغیر ها در زبان پایتون به صورت یک حرف یا یک کلمه هستند اما برای انتخاب نام آنها نمیتوانیم از علائم نگارشی خاص، از اسم دستور های پایتون (مثل print) استفاده کنیم، توجه داشته باشید در ابتدای نام متغیر ها مجاز به استفاده از عدد نیستیم (2n متغیری غلط است!) یک نکته دیگر هم این هست که در نام یک متغیر، حروف بزرگ و کوچک تاثیر دارند (متغیر n با N متفاوت است).
نحوه ذخیره یک داده در متغیر ها هم به این روش است که ما ابتدا اسم متغیرمان را نوشته، سپس علامت مساوی را نوشته و سپس داده ای را برای ذخیره اعلام میکنیم که به این کار انتساب میگویند:
اما همانطور که میبینید متغیر ها ذخیره شدند اما چیزی چاپ نشد!، چون فقط ما آنها را ذخیره کردهایم و چاپشان نکردهایم!
و اما جمع و ضرب و .... (عملیات ریاضی) در پایتون، عملیات ها در پایتون به این گونه هستند که در پایتون، ما به جای ÷ از / و به جای ^ از ** و به جای × از * استفاده میکنیم:
خب، به قسمت بعدی هم رسیدیم، چگونه از کاربر داده ای را دریافت و با آن کار کنیم!؟
برای دریافت یک داده از کاربر در پایتون از دستور input() استفاده میکنیم، اما این دستور، هر دادهای را که بگیرد، به رشته تبدیل میکند، برای مثال اگر شما به عنوان کاربر به این دستور عدد 557 را بدهید، این دستور، داده “557” را ذخیره کرده است. این کار یک مشکل دارد، و آن هم اینکه دیگر نمیتوانیم با استفاده از عددی که کاربر وارد کرده، عملیاتی انجام بدیم، به همین علت، باید بعد از گرفتن عدد، آن را int()کنیم (int(input()) دستور مربوط به این کار است):
برای مثال در این تصویر میبینید که من در کد نوشته ام که ابتدا باید از کاربر عدد بگیرم و در متغیر f ذخیره کنم، سپس رشته ای بگیرم و در متغیر g ذخیره کنم و بعد هر دو آنها را چاپ کنم.
همانطور که در محیط IDLE میبینید، هنوز >>> نیامده و این به معنای این است که پایتون منتظر است تا من یک عدد وارد کنم!:
عدد را وارد کردم، سپس منتظر رشته است، رشته را هم وارد میکنم و بعد از زدن دکمه Enterمیبینم که داده های داده شده توسط من، چاپ شده است:
بخش بعدی، بخش خطا هاست، اگر من در بخشی از کد، اشتباهی تایپی یا ... داشتم، چه میشود!؟
اگر در کد شما اشتباه نحوی وجود داشته باشه یعنی اینکه شما قواعد پایتون رو رعایت نکرده باشید و دستوری که دادید برای پایتون قابل فهم نباشه با ارور Syntax Errorمواجه میشوید. (برای مثال اگر برای print پرانتز نگذاشته باشید):
همانطور که میبینید، در ارور باز شده، نوشته شده است، Syntax Error یعنی اینکه قواعد پایتون که یکیشون پرانتز گذاری برای تابع هاست رو رعایت نکردید!!!
خطای بعدی Name Error هست، زمانی که شما از متغیری استفاده میکنید که تعریف نشده یا حذف شده با این خطا مواجه میشوید. یعنی شما از متغیری استفاده کردید که در حافظه سیستم موجود نیست و یا اینکه توی نوشتن دستوری اشتباه تایپی داشتید:
همانطور که در دو تصویر بالا میبینید، در یکی از تصاویر من به جای printاز ptint استفاده کردم و در دیگری، از متغیری استفاده کردم که اصلاً تعریفش نکردم! پس باید با Name Error مواجه بشم.
ارور بعدی هم Type Error هست، این خطا مربوط به زمانی میشه که شما در یک عملیات از مقدار نادرستی استفاده کردید یا از یک تابع که مخصوص یک مقدار خاص است را برای مقداری دیگر استفاده کرده اید. مثلا یک رشته (string) رو با یک عدد جمع کردید یا برای مثال، به int(input())که عدد میگیرد، رشته داده باشید:
همانطور که در این دو تصویر هم میبینید، در تصویر اول من اشتباهاً رشته را با داده عددی جمع بستم و در دیگری، به int(input()) که عدد میگیرد، رشته داده ام!!!
قسمت بعدی و آخر هم مربوط به شرط گذاری میشه و اینکه در پایتون چگونه از شرط ها استفاده کنم؟
در پایتون، دستوری شرطی به نام if وجود داره که به معنای اگر هست، یعنی اگر چیزی که جلوی if میآمد، درست بود، دستورات زیر if اجرا، و در غیر این صورت هیچی نمیشود. (توجه داشته باشید، دستورات داخل if دستوراتی هستند که بعد از نوشتن if …… : در زیر آن و با یک Tab = 4 Spaceفاصله از سر خط نوشته میشوند):
همانطور که میبینید، داخل دستور if گفته ایم که اگر متغیر nبرابر با عدد 2 بود، آفرین را چاپ کن و در غیر این صورت هیچ چیزی نمیشود.
نکته: بعد از شرط if ، باید یک : بذارید و به خط بعد رفته و دستورات داخل (بدنه) شرط را بنویسید!
توجه داشته باشید، برخی علائم در پایتون تغییر کرده اند:
جمع = + منها = - ضرب = *
توان = ** علامت انتساب = = علامت بررسی مساوی بودن = ==
علامت بررسی نامساوی بودن = != علامت بررسی بزرگتر = < بررسی کوچکتر = >
تقسیم = / خارج قسمت تقسیم = // باقی مانده تقسیم = %
بررسی کوچکتر مساوی = => بررسی بزرگتر مساوی = =<
برای مثال حاصل عبارت 5%2 برابر با عدد 1 هست.
حال اگر بخواهیم بگوییم اگر شرط if برقرار نبود چی!؟
دستور else که در ادامه ifو شبیه به آن است دقیقاً برای همین منظور است و به معنای در غیر این صورت است:
همانطور که دیدید، اگر عدد 2 را وارد کنم، آفرین و اگر چیز دیگری وارد کنم، اشتباه چاپ میشود.
نکته: میتوانیم چند if را داخل هم بگذاریم و چند شرط را بررسی کنیم:
همانگونه که دیدید، من در این سوال از یک if داخل یک ifدیگر هم استفاده کردم.
و در آخر به عملگر های منطقی and و or میرسیم که به معنای "و" و "یا" هستند. برای مثال اگر در یک if بخواهیم همزمان چندین شرط را بررسی کنیم از این عملگر ها استفاده میکنیم.
برای مثال در این کد میخواهیم بگوییم، اگر عدد ما از 5 کوچکتر و از 2 بزرگتر بود:
در این کد میخواهیم بگوییم اگر عدد 1 یا 9 بود:
ممنون از توجه شما
امیدوارم که به خوبی یاد گرفته باشید.
مطلبی دیگر از این انتشارات
آموزش و تمرین ارتباط با سرور
مطلبی دیگر از این انتشارات
مدیریت Dependency ها در جاوا - قسمت دوم: Apache Maven
مطلبی دیگر از این انتشارات
طراحی سایت با پایتون قسمت ۲