رشن | خدمات میزبانی وب

انواع شرط در پایتون

شرط در پایتون از شرط‌های منطقی پشتیبانی می‌کند که در مطلب انواع اپراتور یا عملگر آن را توضیح دادیم.

اپراتورهایی که معمولا در شرط‌ها از آن استفاده می‌شود:

  • تساوی a == b
  • نامساوی a != b
  • بزرگ‌تر a > b
  • کوچک‌تر a < b
  • بزرگ‌تر یا مساوی a >= b
  • کوچک‌تر یا مساوی a <= b


نکته خیلی مهم در نوشتن بلاک کد شرط، رعایت فاصله از ابتدای سطر یا indentation می‌باشد که هر کدی که داخل کد شرط قرار می‌گیرد باید حداقل یک فاصله از ابتدای خط داشته باشد که البته استاندارد پایتون، ۴ فاصله است.


شرطی if

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

Python
  1. a = 10
  2. b = 20
  3. if b > a:
  4. print('b is greater than a')

و خب چون b به لحاظ منطق ریاضی بزرگ‌تر از a هست بنابراین خروجی تابع print را در صفحه می‌بینیم.

خروجی:

Code
  1. b is greater than a


شرطی else

از شرطی else زمانی استفاده می‌کنیم که اگر شرط if صحیح نبود خروجی else را نشان دهد.

Python
  1. a = 10
  2. b = 20
  3. if a > b:
  4. print('a is greater than b')
  5. else:
  6. print('b is greater than a')

و چون شرط if صحیح نیست، بنابراین شرط else نمایش داده می‌شود.

خروجی:

Code
  1. b is greater than a


شرطی elif

خب، تا این‌جا شرطی‌های if و else را دیدیم، اما elif چیست و چه کاربردی دارد؟

elif در واقع کوتاه شده‌ی else if می‌باشد که بین دو شرط if و else همیشه قرار می‌گیرد و اگر شرط قبلی خودش صحیح نبود، خروجی elif نمایش داده شود.

Python
  1. a = 10
  2. b = 20
  3. if a > b:
  4. print('a is greater than b')
  5. elif:
  6. print('b is greater than a')
  7. else:
  8. print('a equals to b')

خروجی:

Code
  1. b is greater than a


Indentation یا فاصله‌گذاری

یکی از نکات کلیدی در نوشتن کد در پایتون و اجرای صحیح برنامه، رعایت فاصله‌گذاری یا indentation است. اگر در این مطلب و تمامی مطالب قبلی دقت کرده باشید در برخی از بلوک‌های کد مثل شرطی و حلقه‌های for و while، ما چند فاصله از ابتدای خط داده‌ایم.

در اکثر زبان‌های برنامه‌نویسی از این فاصله‌گذاری برای خوانایی بیشتر استفاده می‌شود و اگر شما فاصله‌گذاری نکنید برنامه‌تان از کار نمی‌افتد، اما در پایتون این فاصله‌گذاری الزامی است و حتما باید رعایت شود.

اگر یک فایل پایتون به این فرمت بنویسیم و در ترمینال ران کنیم خطا می‌گیریم:

Python
  1. a = 10
  2. b = 20
  3. if a < b:
  4. print('a is less than b')

خروجی ترمینال:

Code
  1. File "/var/www/html/saeed.py", line 21
  2. print('a is less than b')
  3. ^
  4. IndentationError: expected an indented block

همان‌طور که مشاهده می‌کنید ارور IndentationError به ما برگردانده و در ادامه هم به وضوح نوشته که نیازمند indent می‌باشد.


شرط یک خطی

اگر فقط یک شرط داشته باشیم می‌توانیم در یک خط بنویسیم و نیازی به بلوک کردن نیست. مثال‌های زیر از شرط‌های یک خطی if و else و elif می‌باشد.

خروجی:

Code
  1. a is greater than b
  2. b is greater
  3. both equal


شرطی AND

زمانی از شرطی and استفاده می‌کنیم که هر دو سمت شرط مقدار صحیح یا True داشته باشند. تفاوتش با or این است که در or کافی است یکی از شرط‌ها برقرار باشد اما در and همه‌ی شرط‌ها باید برقرار باشد.

Code
  1. me = 'Saeed'
  2. you = 'Saeed'
  3. if me and you == 'Saeed':
  4. print('We Have The Same Name')

چون هر دو شرط صحیح هست بنابراین عبارت تابع print را انتظار داریم که در خروجی ببینیم.

خروجی؛

Code
  1. We Have The Same Name


شرطی OR

از شرطی or زمانی استفاده می‌کنیم که حداقل یکی از شرط‌ها برقرار باشد.

Python
  1. a = 10
  2. b = 20
  3. if a > b or b > a:
  4. print('One of them is greater than the other :)')