دستور if در پایتون

با دستور if در پایتون می توان شروطی را برای اجرای بخشی از کدها نوشت تا در صورت درست بودن آن ها، اجرا شوند. 

این شرط ها می تواند بررسی بزرگتر بودن یک عدد نسبت به عددی دیگر باشد یا...

برای مثال دو متغیر x و y با نوع عدد صحیح ایجاد می کنیم.

x = 50
y = 20

با ایجاد دستور if و عملگر > بررسی می کنیم که آیا متغیر x از متغیر y بزرگتر است یا خیر.

در صورت درست بودن شرط، یک رشته نمایش دهد.

if x > y:
  print("شرط درست است!")

نکته: اگر شرط نادرست بود، بخش داخل شرط اجرا نمی شود و ادامه کد اجرا می شود.

نحو نوشتار (syntax) دستور if در پایتون

دستور if مانند تابع ها یک بلوک (قطعه) از کد را اجرا می کند و برای تعیین این بلوک چهار فاصله (space) نیاز است تا بخش دستور نوشته شود.

if x > y :
    print("شرط درست است.")

نکته: به این بخش از کدها یک تورفتگی گفته می شود.

if x > y:
print("Hello World!")

عملگرهای مقایسه ای در دستورات پایتون

دستور if نیاز به عملگرهای مقایسه ای دارد.

عملگرهای مقایسه ای می توانند دو متغیر یا مقدار را بررسی کنند و نتیجه را به صورت داده های بولی برگردانند.

عملگر کاربرد
x == y x با y برابر است.
x != y x با y برابر نیست.
x < y x از y کمتر است.
x <= y x کوچکتر یا مساوی با y است.
x > y x از y بزرگتر است.
x >= y x بزرگتر یا مساوی با y است.

دستور elif در پایتون

دستور elif به ما کمک می کند که به جای یک شرط ، از دو یا چند شرط استفاده کنیم.

با دستور elif، می توانیم دو متغیر را نسبت به هم، بهتر بررسی کنیم.

برای مثال بزرگی و کوچکی یا مساوی بودن را در سه شرط بررسی کرد.

if x > y:
    print("شرط اول درست است.")
elif x > y:
    print("شرط دوم درست است.")
elif x == y:
    print("شرط سوم درست است.")

دستور else در پایتون

دستور else زمانی اجرا می شود که هیچ شرطی درست نباشد. در این صورت می توان یک بلوک کد دیگر را اجرا کرد.

برای مثال دو متغیر x و y را ایجاد می کنیم.

x = 3
y = 5

دستور if و elif را با شرط بزرگ یا کوچک بودن متغیرها، می نویسیم.

if x > y:
    print("شرط اول درست است.")
elif x == y:
    print("شرط دوم درست است.")

با بررسی دو شرط، هنگامی که هر دو نادرست باشند، دستور else را می نویسیم تا بدون شرط اجرا شود.

else :
    print("شرط ها نادرست اند.")

نکته: به زبان ساده تر دستور else همان "در غیر اینصورت" است، در صورتی که هیچ شرطی درست نباشد این قطعه کد اجرا می شود.

دستور if تک خطی در پایتون

اگر دستور شرطی ما کوتاه باشد، می توان برای تمیزی و خوانا بودن کد ،آن را در یک خط نوشت.

برای مثال نمونه کد زیر یک حالت عادی از دستور if است ولی بدون چهار فاصله و در یک خط؛ زیرا بلوک کد یک خط است.

if x > y : print("شرط درست است.")

می توان با دستور else هم در ادامه شرط به صورت تک خطی نوشت.

print("x") if x > y else print("y")

دستور and در پایتون

برای بررسی دو شرط به طور همزمان از دستور and استفاده می کنیم که با این دستور اگر هردو شرطی که مدنظر داریم درست باشد کد اجرا می شود.

برای مثال سه متغیر x و y و z را به نوع عدد صحیح می سازیم.

x = 20
y = 3
z =45

با دستور and دو شرط بزرگتر بودن x از y و کوچکتر بودن x از z یک شرط ایجاد می کنیم.

if x > y and z > x:
    print("هردو شرط درست هستند.")

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

دستور or در پایتون

در دستور or، دو شرط را بررسی می کنیم، اگر حداقل یکی از آنها درست بود دستور اجرا می شود.

نکته: در اصل به زبان ساده تر می گوید شرط اول یا شرط دوم درست باشد؛ هرکدام درست بود، شرط ایجاد می شود.

if x > y or z > x:
    print("حداقل یکی از شروط درست است.")

نکته: اگر هردو شرط درست باشد حتما اجرا می شود.

دستور not در پایتون

دستور not هر شرطی که بگداریم را بررسی می کند و در صورتی که شرط ما نادرست باشد، بلوک کد را اجرا می کند.

if not x > y:
    print("Hello World!")

دستورات if تو در تو در پایتون

دستورات if تو در تو به معنای ایجاد یک شرط در شرطی دیگر است.

می توان از طریق if های تودرتو، شروط را محدودتر کرد.

برای مثال ابتدا متغیری به نام x در شرط اول ،اگر از 10 بزرگتر بود وارد بلوک کد می شود.

در شرط دوم، اگر x از 35 بزرگتر بود قطعه کد شرط دوم اجرا می شود؛ در غیر اینصورت دستور else.

if x > 10:
  print("بیشتر از 10,")
  if x > 35:
    print("از 35 هم بیشتر است.")

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

دستور pass در شرط ها پایتون

اگر در یک دستور if محتوایی ندارید و یا به هر دلیلی خالی است، می توان برای جلوگیری از خطا از دستور pass در داخل شرط استفاده کرد.

if x > y:
    pass

خلاصه درس

در این درس با مباحث زیر آشنا شدید:

  • مفهوم دستورات if و elif و else
  • عملگرهای مقایسه ای
  • دستورات شرطی تو در تو
  • دستورات and و or در دستورات 

توسعه دهندگان
علیرضا چمنی