آموزش پایتون python قسمت پنجم

1395/1/12 پوریا جهانبخش 4126

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

ما میتونیم یک رشته خالی هم داشته باشیم، مثل متغیر p که مقدارش یک رشته ی خالیه:

> > > p = ""

print()

پرینت یک دستور پایتون نیست !
پرینت در واقع یک کلاس توکار هستش.
با مبحث کلاس ها آشنا میشید بعدا و یاد میگیرید کلاس های دلخواهتون رو بسازید ولی فعلا در همین حد بدونید که بعد از نام کلاس ها باید یک پرانتز بهشون بچسبه و اگر کلاس چیزی رو باید دریافت کنه، باید داخل پرانتز اون چیز رو بهش بدیم تا روش عملیات انجام بده.
مثلا مثل:

> > > print("hello world!")


که به کلاس پرینت یه رشته دادم و وظیفه ی این کلاس نمایش دادنه این رشته هست.

البته این ساده ترین نوع تعریفش بود، تعریف تخصصیش بمونه واسه بعدا !
در این قسمت قبل از این که سراغ برش رشته ها بریم، سراغ ساختار کنترلی پایتون میریم.
در این قسمت قصد دارم کلمات کلیدی if, else, elif رو بهتون آموزش بدم.
دستور if:

از الگوی زیر پیروی میکنه:

if شرط:
    عملیاتی که در صورت برقرار بودن شرط انجام میشه.
یه مثال ساده میزنم:

> > > if 4 > 2:
                  print("4 bozorgt tar ast az 2")

همچنین میتونیم برای برقراریه شرط از متغیر ها هم استفاده کنیم:

> > > number1 = 1000
> > > number2 = 999
> > > if number1 >= number2:
                  number3 = 1001

در برنامه ی بالا چون شرط برقراره ( یعنی number1 از number2 بزرگتره) پس عملیات زیر شرط اجرا میشه و متغیر number3 ساخته میشه.

تو رفتگی:

به 2 مثال بالا توجه کنید. در زبان برنامه نویسیه پایتون همیشه خط بعد از عبارت هایی که آخرشون دونقطه (:) داره، به اندازه ی یک Tab یا چهار Space (فاصله) به سمت داخل حرکت میکنیم.

برای مثال اگر یک شرط داشته باشیم که عملیات زیرش 3 خط باشه، هر 3 خط بعد از شرط، باید نسبت به شرط تو رفتگی داشته باشند:

> > > p = 3.14
> > > number = 3.5
> > > if p < number:
                  print("p kuchek tar ast az number")
                  number2 = 12345
                  print("number3 sakhte shod ba meghdare 12345")

در مثال بالا من از Tab برای تو رفتگی استفاده کردم.
توجه داشته باشید که اگر تو رفتگی رو رعایت نکنید دچار خطای نحوی یا معنایی میشید.
بعد از شرط بالا اگر از تورفتگی خارج بشیم و به جای قبل برگردیم هر چیزی که بنویسیم دیگر جزو بدنه ی شرط حساب نمیشه.
قبل از رفتن به سراغ کلمات کلیدی else و elif بهتره 2 چیز مهم دیگه رو یاد بگیریم.

خوب تا حالا ما فقط بلد بودیم مفسر رو باز کنیم و بعد از نوشتن برنامه هامون اون رو ببندیم و اینطوری هر چیزی که نوشته بودیم از بین میرفت.

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

تنها ابزار مورد نیاز ما یک ویرایشگر متن هستش.
البته IDE ها هم دارای ویرایشگر متن هستند که ساختار داده ای متفاوت رو با رنگ های مختلف از هم جدا میکنند.

اگر از پایتون روی ویندوز استفاده میکنید بعد از باز کردن مفسر گرافیکی با فشردن دکمه های Ctrl+N یه ویرایشگر متن باز میشه که میتونید برنامه ی پایتون رو داخلش بنویسید و با فشردن Ctrl+S برنامه رو ذخیره کنید و در آخر هم با دکمه ی F5 برنامه رو از طریق مفسر اجرا کنید.

کار مفسر اینجا اینه که برنامه رو از روی فایل شما خط به خط بخونه و اجرا کنه !

همچنین اگر در لینوکس از پایتون استفاده میکنید میتونید بعد از نوشتن دستوری که برای مفسر پایتون گذاشتین، آدرس کامل برنامه ی پایتونتون رو هم با رعایت یک فاصله بنویسین تا برنامه اجرا بشه.
برای مثال:

python /home/puriya/program.py

همچنین فراموش نکنید که برنامتون رو باید با پسوند .py ذخیره کنید تا مفسر اون رو به عنوان برنامه پایتون بشناسه.

با ویرایشگر متن IDE استاندارد پایتون در ویندوز یک برنامه ی ساده مینویسم و اون رو به نام program.py ذخیره و اجرا میکنم.

آموزش پایتون

تصویر شماره یک مربوط به ویرایشگر متن هستش که بعد از ذخیره و اجراش تصویر شماره دو تولید شد.
از این جا به بعد یاد میگیرید برنامه هاتون رو در فایل پایتون ذخیره و اجرا کنید.

یکی از مهم ترین نکاتی که باید یاد بگیریداستفاده از توضیح داخل برنامتونه. به شدت تاکید میکنم این نکته رو رعایت کنید.

فکر کنید طی چند ماه زحمت یک برنامه ی 2000 خطی نوشتید و حالا چند ساله که ازش استفاده نکردید و اتفاقا الان به یک سری از قسمت های اون برنامه احتیاج دارید، خوب اگر از توضیحات داخل برنامه استفاده نکردید مجبورید انقدر روی برنامه فکر کنید تا یادتون بیاد چند سال پیش به چه دلیل فلان جای برنامه  رو اونجوری نوشتید ! یا این که اصلا یادتون نیاد و دوباره مجبور شید اون قسمت هارو از اول بنویسید!
این اتفاق وحشتناک که الان مثال زدم اصلا پدیده ی نادری نیست و حتما باهاش برخورد خواهید داشت پس توصیه ی من رو برای استفاده از توضیحات در برنامه جدی بگیرید.
و اما نحوه ی استفاده از توضیحات در پایتون:

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

آموزش پایتون

توجه داشته باشید که علامت = رو با علامت == اشتباه نگیرید.
علامت = مخصوص نسبت دهی هست و مقدار سمت راست رو به متغیر سمت چپ نسبت میده.
علامت == مخصوص مقایسه 2 عبارت یا مقدار به همدیگست که به یکی از جواب های True یا False منتهی میشه.

عبارات بولی Boolean:

به عباراتی که به یکی از ثابت های True به معنای درست و یا False به معنای نادرست ختم میشه عبارات بولی گفته میشه.
در پایتون عدد 0 نیز نشانگر False و باقی اعداد نشانگر True هستند.

آموزش پایتون

کلمه کلیدی else:

اگر در برنامه شرط if برقرار نباشه و بخوایم در صورت برقرار نبودن شرط if، عملیات خاصی رو انجام بدیم باید دقیقا بعد از اتمام بدنه ی شرط if و خارج از تورفتگی if, از دستور else استفاده کنیم.

مثال:
 

age = 20
if age > 20:
        print(age)
        print("bozorgtar az 20")
else:
        print(age)
        print("kuchektar az 20")

در کد بالا چون شرط if برقرار نیست، بدنه ی else اجرا میشه.
کلمه ی کلیدی elif:

اگر چندین شرط داریم و لازمه در صورت برقرار نبودن هر یک از شرط ها، شرط بعدی مورد بررسی قرار بگیره، بعد از شرط اول که if هستش، باقی شرط ها با دستور elif باید پشت سر هم و بدون فاصله (یعنی کد دیگه ای بینشون نباشه) قرار بگیرند و همچنین اگر هیچ کدوم از شرط ها برقرار نبود بعد از elif اخری میتونیم یک else اختیاری هم داشته باشیم.

age = 21
if age == 20:
        print("age:20")
elif age > 20:
        print("age>20")
else:
        print("age < 20")

در برنامه بالا ابتدا شرط if بررسی میشه و چون شرط به False ختم میشه، بدنه اون شرط نادیده گرفته میشه و به سراغ elif میره و چون شرط برقراره و به True ختم میشه، بدنه ی elif اجرا میشه و از شرط ها خارج میشه.
مهم ترین فایده ی تو رفتگی ها در پایتون، خوانایی برنامست.
به مثال زیر توجه کنید:

آموزش پایتون


چند نکته درباره ی ساختار شرطی ها در پایتون:

بین شروط if و esle یا if و elif یا if و elif و else نباید هیچ دستور و عبارت دیگری بنویسید.
یک نمونه برنامه ی غلط:

year = 1394
if year == 1393:
         print("year is 1393")
print(year)
else:
        print("year is not 1393")

برنامه بالا به خطای نحوی منجر میشود، زیرا print(year)  خارج از بدنه ی if قرار دارد و پس از آن دستور esle قرار دارد.

نکته ی بعدی این که میتونیم شرط های تو در تو داشته باشیم:
number را یک عدد فرض کنید:

if (number%2) == 2:
        if number > 20:
                  print("عدد مورد نظر زوج و از 20 بزرگتر است.")
        else:
                  print("عدد مورد نظر زوج است ولی از 20 بزرگتر نیست.")
else:
        print("عدد مورد نظر زوج نیست")