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

در ادامه مباحث آموزش مقدماتی پایتون، در این بلاگ به بررسی عبارت‌های شرطی (Conditional Statement) می‌پردازیم. عبارت‌های شرطی در پایتون ابزارهایی قدرتمند برای کنترل جریان اجرای کد هستند. این عبارت‌ها به شما این امکان را می‌دهند که بر اساس شرایط مختلف تصمیم‌گیری کنید. در اینجا به توضیح سه عنصر اصلی عبارت‌های شرطی می‌پردازیم: if، elif و else.

فهرست مطالب پنهان‌کردن فهرست
  1. 1. شرط if
  2. 2. شرط elif
  3. 3. شرط else
  4. 4. عبارات شرطی تو در تو
  5. 5. شرط‌های چندگانه در پایتون
    1. 5.1. استفاده از عملگر and
    2. 5.2. استفاده از عملگر or
    3. 5.3. استفاده از عملگر not
    4. 5.4. ترکیب چندین شرط
  6. 6. عبارت شرطی یک خطی
    1. 6.1. تخصیص مقدار به متغیر
    2. 6.2. محاسبه مقدار و چاپ نتیجه
    3. 6.3. استفاده در توابع
    4. 6.4. استفاده در لیست‌های ترکیبی
  7. 7. استفاده از ASSERT
    1. 7.1. بررسی یک شرط ساده
  8. 8. استفاده از عبارات شرطی در لیست‌ها
    1. 8.1. فیلتر کردن لیست اعداد زوج
    2. 8.2. فیلتر کردن و تغییر مقادیر همزمان
    3. 8.3. استفاده از عبارات شرطی چندگانه
    4. 8.4. استفاده از چند حلقه تو در تو با شرط
  9. 9. عبارت‌های match و case
    1. 9.1. الگویابی مقادیر ثابت
  10. 10. تمرین برنامه‌نویسی
    1. 10.1. برنامه‌ای بنویسید که یک عدد را از ورودی بگیرد و نام روز هفته متناظر با آن را چاپ کند.
      1. 10.1.1. حل تمرین با استفاده از if تو در تو
      2. 10.1.2. حل تمرین با استفاده از match و case
  11. 11. پرسشهای متداول
    1. 11.1. عبارت شرطی if در پایتون چه زمانی استفاده می‌شود و چگونه کار می‌کند؟
    2. 11.2. تفاوت بین elif و else چیست و هرکدام چه زمانی استفاده می‌شوند؟
    3. 11.3. فرض کنید یک لیست از اعداد صحیح دارید و می‌خواهید لیستی جدید ایجاد کنید که شامل مربع اعداد فرد و مکعب اعداد زوج باشد. چگونه می‌توانید این کار را با استفاده از List Comprehensions انجام دهید؟ مثال بزنید.
    4. 11.4. عبارت شرطی یک خطی (Ternary Conditional Operator) چیست و چگونه از آن استفاده می‌شود؟ یک مثال بیاورید.
    5. 11.5. چگونه می‌توان از match و case برای الگویابی (Pattern Matching) در پایتون 3.10 به بعد استفاده کرد؟ یک مثال بیاورید.
  12. 12. یادگیری تحلیل داده را از امروز شروع کنید!

برای یادگیری زبان برنامه‌نویسی پایتون، به سری مقالات آموزش پایتون در کافه‌تدریس مراجعه کنید.

انواع داده در زبان برنامه نویسی پایتون

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

شرط if

عبارت if در زبانهای برنامه نویسی برای بررسی اینکه آیا یک شرط خاص درست است یا خیر استفاده می‌شود. اگر شرط درست باشد، کد داخل بلوک if اجرا می‌شود. به عنوان مثال:

        
            temperature = 30
            if temperature > 25:
                print("It's a hot day.")
        
    

در این مثال، اگر مقدار متغیر temperature بیشتر از ۲۵ باشد، پیام "It's a hot day." چاپ می‌شود.

شرط elif

عبارت elif، که مخفف “else if” است، برای بررسی شرایط اضافی بعد از شرط if استفاده می‌شود. اگر شرط if نادرست باشد، برنامه به شرط elif می‌رسد و آن را بررسی می‌کند. شما می‌توانید چندین شرط elif داشته باشید. به عنوان مثال:

        
temperature = 20
if temperature > 25:
    print("It's a hot day.")
elif temperature > 15:
    print("It's a warm day.")
        
    

در این مثال، اگر شرط if نادرست باشد (یعنی دما کمتر یا مساوی ۲۵ باشد)، شرط elif بررسی می‌شود. اگر دما بیشتر از ۱۵ باشد، پیام "It's a warm day." چاپ می‌شود.

شرط else

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

        
temperature = 10
if temperature > 25:
    print("It's a hot day.")
elif temperature > 15:
    print("It's a warm day.")
else:
    print("It's a cold day.")
        
    

در این مثال، اگر هیچ‌یک از شرایط if یا elif درست نباشند (یعنی دما کمتر یا مساوی ۱۵ باشد)، پیام "It's a cold day." چاپ می‌شود.

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

عبارات شرطی تو در تو

عبارات شرطی تو در تو (Nested Conditions) در پایتون به شما این امکان را می‌دهند که شرایط پیچیده‌تری را بررسی کنید. در این نوع عبارات شرطی، یک عبارت شرطی می‌تواند در داخل یک عبارت شرطی دیگر قرار گیرد. این به شما این امکان را می‌دهد که چندین شرط را به طور سلسله مراتبی بررسی کنید.

عبارات جملات شرطی تو در تو

در ادامه، نحوه استفاده از شرط‌های تو در تو را با یک مثال توضیح می‌دهیم:

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

        
temperature = 18
is_sunny = True
if temperature > 25:
    if is_sunny:
        print("It's a hot and sunny day.")
    else:
        print("It's a hot day but not sunny.")
elif temperature > 15:
    if is_sunny:
        print("It's a warm and sunny day.")
    else:
        print("It's a warm day but not sunny.")
else:
    if is_sunny:
        print("It's a cold but sunny day.")
    else:
        print("It's a cold day and not sunny.")
        
    

در این مثال، ابتدا شرط اول بررسی می‌شود که آیا دما بیشتر از ۲۵ است یا خیر. اگر این شرط درست باشد، سپس یک شرط دیگر بررسی می‌شود که آیا هوا آفتابی است یا خیر. اگر هر دو شرط درست باشند، پیام "It's a hot and sunny day." چاپ می‌شود. در غیر این صورت، پیام "It's a hot day but not sunny." چاپ می‌شود. این روند برای سایر شرایط نیز به همین ترتیب ادامه می‌یابد.

این نوع عبارات شرطی به شما این امکان را می‌دهند که شرایط پیچیده‌تر و چندگانه را به صورت سازمان‌یافته و منطقی بررسی کنید.

شرط‌های چندگانه در پایتون

عبارات شرطی چندگانه (Multiple Conditions) در پایتون به شما این امکان را می‌دهند که چندین شرط را با استفاده از عملگرهای منطقی مانند and، or و not ترکیب کنید. این کار به شما این اجازه را می‌دهد که بر اساس چندین شرط همزمان تصمیم‌گیری کنید. در اینجا چند مثال برای درک بهتر این مفهوم آورده شده است.

استفاده از عملگر and

عملگر and برای بررسی این که آیا هر دو شرط درست هستند یا خیر استفاده می‌شود. تنها در صورتی که هر دو شرط درست باشند، عبارت شرطی درست خواهد بود.

        
age = 20
has_ticket = True
if age >= 18 and has_ticket:
    print("You can enter the concert.")
else:
    print("You cannot enter the concert.")
        
    

در این مثال، شرط تنها در صورتی درست است که هر دو شرط age >= 18 و has_ticket درست باشند. اگر هر دو شرط درست باشند، پیام "You can enter the concert." چاپ می‌شود. در غیر این صورت، پیام "You cannot enter the concert." چاپ می‌شود.

استفاده از عملگر or

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

مثال:

        
day = "Saturday"
is_holiday = True
if day == "Saturday" or day == "Sunday" or is_holiday:
    print("You can relax today.")
else:
    print("You have to go to work.")
        
    

در این مثال، شرط درست خواهد بود اگر day برابر با "Saturday" یا "Sunday" باشد یا اگر is_holiday درست باشد. اگر هر یک از این شرایط درست باشند، پیام "You can relax today." چاپ می‌شود. در غیر این صورت، پیام "You have to go to work." چاپ می‌شود.

استفاده از عملگر not

عملگر not برای معکوس کردن نتیجه یک شرط استفاده می‌شود. اگر شرطی درست باشد، استفاده از not آن را نادرست می‌کند و برعکس.

        
is_raining = False
if not is_raining:
    print("You can go for a walk.")
else:
    print("You need an umbrella.")
        
    

در این مثال، اگر is_raining نادرست باشد (یعنی باران نبارد)، پیام "You can go for a walk." چاپ می‌شود. در غیر این صورت، پیام "You need an umbrella." چاپ می‌شود.

ترکیب چندین شرط

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

مثال:

        
age = 25
is_student = False
has_discount_coupon = True
if (age < 18 or is_student) and has_discount_coupon:
    print("You get a discount.")
else:
    print("You do not get a discount.")
        
    

ر این مثال، شرط درست خواهد بود اگر یکی از شرایط age < 18 یا is_student درست باشد و همچنین has_discount_coupon درست باشد. اگر این ترکیب شرایط درست باشد، پیام "You get a discount." چاپ می‌شود. در غیر این صورت، پیام "You do not get a discount." چاپ می‌شود.

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

عبارت شرطی یک خطی

عبارت شرطی یک خطی (Ternary Conditional Operator) در پایتون به شما اجازه می‌دهد تا شرط‌ها را به صورت مختصر و در یک خط کد بنویسید. این روش برای زمانی مفید است که نیاز به یک تخصیص یا خروجی سریع و ساده دارید. فرم کلی عبارت شرطی یک خطی به صورت زیر است:

        
value_if_true if condition else value_if_false
        
    

در این ساختار، اگر شرط درست باشد، مقدار value_if_true بازگردانده می‌شود. در غیر این صورت، مقدار value_if_false بازگردانده می‌شود. در ادامه چند مثال برای درک بهتر این مفهوم آورده شده است.

تخصیص مقدار به متغیر

فرض کنید می‌خواهید بر اساس سن یک فرد، پیام مناسب را تعیین کنید:

        
age = 20
message = "Adult" if age >= 18 else "Minor"
print(message)
        
    

در این مثال، اگر مقدار age بیشتر یا برابر با 18 باشد، متغیر message به "Adult" تخصیص داده می‌شود. در غیر این صورت، مقدار آن "Minor" خواهد بود. خروجی این کد "Adult" است.

محاسبه مقدار و چاپ نتیجه

فرض کنید می‌خواهید بر اساس دمای هوا تصمیم بگیرید که پیام مناسب را چاپ کنید:

        
temperature = 30
print("Hot day" if temperature > 25 else "Not a hot day")
        
    

ر این مثال، اگر مقدار temperature بیشتر از 25 باشد، پیام "Hot day" چاپ می‌شود. در غیر این صورت، پیام "Not a hot day" چاپ می‌شود. خروجی این کد "Hot day" است.

استفاده در توابع

فرض کنید می‌خواهید یک تابع بنویسید که بر اساس ورودی عددی، تصمیم بگیرد که آیا عدد زوج است یا فرد:

        
def check_even_or_odd(number):
    return "Even" if number % 2 == 0 else "Odd"
result = check_even_or_odd(5)
print(result)
        
    

ر این مثال، تابع check_even_or_odd بر اساس عدد ورودی تصمیم می‌گیرد که "Even" یا "Odd" را برگرداند. برای ورودی 5، خروجی "Odd" خواهد بود.

استفاده در لیست‌های ترکیبی

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

        
numbers = [1, 2, 3, 4, 5]
result = ["Even" if num % 2 == 0 else "Odd" for num in numbers]
print(result)
        
    

در این مثال، برای هر عدد در لیست numbers بررسی می‌شود که آیا زوج است یا فرد و نتیجه به صورت لیستی از رشته‌ها ("Even" یا "Odd") بازگردانده می‌شود. خروجی این کد ['Odd', 'Even', 'Odd', 'Even', 'Odd'] است.

عبارت شرطی یک خطی (Ternary Conditional Operator) به شما این امکان را می‌دهد که کدهای ساده و خوانایی بنویسید و در عین حال، تصمیم‌گیری‌های شرطی را به صورت مختصر و کارآمد انجام دهید.

استفاده از ASSERT

عبارت assert در پایتون برای بررسی شرط‌ها و اعتبارسنجی استفاده می‌شود. زمانی که از assert استفاده می‌کنید، برنامه بررسی می‌کند که آیا شرط مورد نظر درست است یا خیر. اگر شرط نادرست باشد، برنامه با یک خطای AssertionError متوقف می‌شود. این ابزار برای اشکال‌زدایی و اطمینان از صحت کد بسیار مفید است.

فرم کلی استفاده از assert به صورت زیر است:

        
assert condition, "Error message if condition is false"
        
    

در اینجا، اگر condition نادرست باشد، برنامه متوقف می‌شود و پیام خطا چاپ می‌شود.

بررسی یک شرط ساده

فرض کنید می‌خواهید اطمینان حاصل کنید که مقدار متغیر x مثبت است:

        
x = 10
assert x > 0, "x must be positive"
print("x is positive")
        
    

در این مثال، اگر مقدار x بزرگتر از 0 باشد، برنامه بدون خطا اجرا می‌شود و پیام "x is positive" چاپ می‌شود. اما اگر مقدار x منفی یا صفر باشد، برنامه با خطای AssertionError و پیام "x must be positive" متوقف می‌شود.

استفاده از عبارات شرطی در لیست‌ها

عبارات شرطی در لیست‌ها (List Comprehensions) به شما این امکان را می‌دهند که لیست‌های جدیدی را به سادگی و با استفاده از یک عبارت شرطی ایجاد کنید. این روش باعث می‌شود کد شما مختصرتر و خواناتر شود. لیست ترکیبی به صورت زیر است:

        
[expression for item in iterable if condition]
        
    

در اینجا، expression عبارتی است که برای هر آیتم در iterable ارزیابی می‌شود، اما فقط اگر condition درست باشد.

فیلتر کردن لیست اعداد زوج

فرض کنید یک لیست از اعداد دارید و می‌خواهید تنها اعداد زوج را از آن استخراج کنید:

        
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers)  # خروجی: [2, 4, 6, 8, 10]
        
    

در این مثال، لیست even_numbers شامل اعدادی از لیست numbers است که شرط num % 2 == 0 را برآورده می‌کنند، یعنی اعداد زوج.

فیلتر کردن و تغییر مقادیر همزمان

فرض کنید می‌خواهید لیستی از اعداد را به اعداد زوج مربع کرده و اعداد فرد را حذف کنید:

        
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
squared_evens = [num ** 2 for num in numbers if num % 2 == 0]
print(squared_evens)  # خروجی: [4, 16, 36, 64, 100]
        
    

در این مثال، لیست squared_evens شامل مربع اعداد زوج از لیست numbers است.

استفاده از عبارات شرطی چندگانه

فرض کنید می‌خواهید لیستی از اعداد را ایجاد کنید که تنها شامل اعداد بین 5 و 15 باشد:

        
numbers = range(20)
filtered_numbers = [num for num in numbers if num > 5 and num < 15]
print(filtered_numbers)  # خروجی: [6, 7, 8, 9, 10, 11, 12, 13, 14]
        
    

در این مثال، لیست filtered_numbers شامل اعدادی از لیست numbers است که شرط‌های num > 5 و num < 15 را برآورده می‌کنند.جایگزینی مقادیر با عبارت شرطی

فرض کنید می‌خواهید اعداد زوج را به "Even" و اعداد فرد را به "Odd" تبدیل کنید:

        
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_or_odd = ["Even" if num % 2 == 0 else "Odd" for num in numbers]
print(even_or_odd)  # خروجی: ['Odd', 'Even', 'Odd', 'Even', 'Odd', 'Even', 'Odd', 'Even', 'Odd', 'Even']
        
    

در این مثال، لیست even_or_odd شامل رشته‌هایی است که بر اساس زوج یا فرد بودن اعداد در لیست numbers تولید شده‌اند.

استفاده از چند حلقه تو در تو با شرط

فرض کنید می‌خواهید ضرب مقادیر دو لیست را تنها در صورتی که مقادیر زوج باشند محاسبه کنید:

        
list1 = [1, 2, 3]
list2 = [4, 5, 6]
product_list = [a * b for a in list1 for b in list2 if a % 2 == 0 and b % 2 == 0]
print(product_list)  # خروجی: [8, 12]
        
    

در این مثال، product_list شامل حاصل‌ضرب مقادیر زوج از list1 و list2 است.

عبارات شرطی در لیست‌ها (List Comprehensions) به شما این امکان را می‌دهند که با کد مختصر و خوانایی بالا، لیست‌های جدیدی ایجاد کنید که شامل مقادیر فیلتر شده و یا تغییر یافته هستند. این روش می‌تواند کد شما را ساده‌تر و کارآمدتر کند.

عبارت‌های match و case

عبارت‌های match و case برای الگویابی (Pattern Matching) در پایتون 3.10 معرفی شده‌اند و به شما این امکان را می‌دهند که ساختارهای پیچیده‌تری را با استفاده از نحو ساده‌تر و قابل خواندن‌تر بررسی کنید. این ابزار جدید مشابه ساختار switch در برخی زبان‌های برنامه‌نویسی دیگر است اما با امکانات بیشتری برای الگویابی.

عبارت‌های match و case

ساختار کلی استفاده از match و case به صورت زیر است:

        
match variable:
    case pattern1:
        # do something
    case pattern2:
        # do something else
    case _:
        # default case
        
    

در این ساختار، variable مقداری است که می‌خواهید الگویابی کنید و هر case یک الگوی خاص است که می‌تواند شامل مقادیر ثابت، متغیرها، یا ساختارهای پیچیده‌تر باشد.

الگویابی مقادیر ثابت

در این مثال، بررسی می‌کنیم که مقدار یک متغیر با یکی از مقادیر ثابت مطابقت دارد یا خیر:

        
status = 404
match status:
    case 200:
        print("OK")
    case 404:
        print("Not Found")
    case 500:
        print("Internal Server Error")
    case _:
        print("Unknown status")
        
    

در این مثال، مقدار status با مقادیر ثابت مقایسه می‌شود و در صورت تطابق، پیام مناسب چاپ می‌شود. در اینجا، خروجی "Not Found" خواهد بود زیرا مقدار status برابر با 404 است.

تمرین برنامه‌نویسی

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

برنامه‌ای بنویسید که یک عدد را از ورودی بگیرد و نام روز هفته متناظر با آن را چاپ کند.

برای تمرین بهتر مطالب عبارات شرطی، این برنامه را با دو روش می‌نویسیم:

  1. با استفاده از شرط‌های تو در تو (nested if)
  2. با استفاده از match و case

حل تمرین با استفاده از if تو در تو

        
def get_day_name_if(day_number):
    if day_number == 1:
        return "Sunday"
    elif day_number == 2:
        return "Monday"
    elif day_number == 3:
        return "Tuesday"
    elif day_number == 4:
        return "Wednesday"
    elif day_number == 5:
        return "Thursday"
    elif day_number == 6:
        return "Friday"
    elif day_number == 7:
        return "Saturday"
    else:
        return "Invalid day number"
# تست کردن تابع
day_number = 3
print(get_day_name_if(day_number))  # خروجی: Tuesday
        
    

حل تمرین با استفاده از match و case

این روش در پایتون 3.10 به بعد قابل استفاده است:

        
def get_day_name_match(day_number):
    match day_number:
        case 1:
            return "Sunday"
        case 2:
            return "Monday"
        case 3:
            return "Tuesday"
        case 4:
            return "Wednesday"
        case 5:
            return "Thursday"
        case 6:
            return "Friday"
        case 7:
            return "Saturday"
        case _:
            return "Invalid day number"
# تست کردن تابع
day_number = 3
print(get_day_name_match(day_number))  # خروجی: Tuesday
        
    

در این دو روش، بر اساس مقدار ورودی day_number، نام روز هفته برگردانده می‌شود. در روش اول از شرط‌های تو در تو (nested if) استفاده شده و در روش دوم از الگویابی با match و case. هر دو روش نتیجه یکسانی دارند، اما روش match و case در پایتون 3.10 به بعد معرفی شده و کد را خواناتر و قابل نگهداری‌تر می‌کند.

پرسشهای متداول

عبارت شرطی if در پایتون چه زمانی استفاده می‌شود و چگونه کار می‌کند؟

عبارت if در پایتون برای بررسی اینکه آیا یک شرط خاص درست است یا خیر استفاده می‌شود. اگر شرط درست باشد، کد داخل بلوک if اجرا می‌شود.

تفاوت بین elif و else چیست و هرکدام چه زمانی استفاده می‌شوند؟

عبارت elif، که مخفف “else if” است، برای بررسی شرایط اضافی بعد از شرط if استفاده می‌شود. اگر شرط if نادرست باشد، برنامه به شرط elif می‌رسد و آن را بررسی می‌کند. شما می‌توانید چندین شرط elif داشته باشید. عبارت else برای زمانی استفاده می‌شود که هیچ‌یک از شرایط if یا elif درست نباشند. کد داخل بلوک else در هر صورت اجرا می‌شود.

فرض کنید یک لیست از اعداد صحیح دارید و می‌خواهید لیستی جدید ایجاد کنید که شامل مربع اعداد فرد و مکعب اعداد زوج باشد. چگونه می‌توانید این کار را با استفاده از List Comprehensions انجام دهید؟ مثال بزنید.

برای انجام این کار با استفاده از List Comprehensions، می‌توانید به صورت زیر عمل کنید:

        
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = [num ** 2 if num % 2 != 0 else num ** 3 for num in numbers]
print(result)
        
    

در این مثال، برای هر عدد در لیست numbers بررسی می‌شود که آیا فرد است یا زوج. اگر عدد فرد باشد، مربع آن (num ** 2) محاسبه و به لیست result اضافه می‌شود. اگر عدد زوج باشد، مکعب آن (num ** 3) محاسبه و به لیست result اضافه می‌شود.

خروجی این کد به صورت زیر خواهد بود:

        
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = [num ** 2 if num % 2 != 0 else num ** 3 for num in numbers]
print(result)  # خروجی: [1, 8, 9, 64, 25, 216, 49, 512, 81, 1000]
        
    

در این خروجی، مربع اعداد فرد و مکعب اعداد زوج مطابق با شرط داده شده در List Comprehension تولید شده است.

عبارت شرطی یک خطی (Ternary Conditional Operator) چیست و چگونه از آن استفاده می‌شود؟ یک مثال بیاورید.

عبارت شرطی یک خطی (Ternary Conditional Operator) در پایتون به شما اجازه می‌دهد تا شرط‌ها را به صورت مختصر و در یک خط کد بنویسید. فرم کلی آن به صورت زیر است:

        
value_if_true if condition else value_if_false
        
    

در این ساختار، اگر شرط درست باشد، مقدار value_if_true بازگردانده می‌شود. در غیر این صورت، مقدار value_if_false بازگردانده می‌شود.

مثال:

        
age = 20
message = "Adult" if age >= 18 else "Minor"
print(message)
        
    

در این مثال، اگر مقدار age بیشتر یا برابر با 18 باشد، متغیر message به "Adult" تخصیص داده می‌شود. در غیر این صورت، مقدار آن "Minor" خواهد بود. خروجی این کد "Adult" است.

چگونه می‌توان از match و case برای الگویابی (Pattern Matching) در پایتون 3.10 به بعد استفاده کرد؟ یک مثال بیاورید.

عبارت‌های match و case برای الگویابی (Pattern Matching) در پایتون 3.10 معرفی شده‌اند و به شما این امکان را می‌دهند که ساختارهای پیچیده‌تری را با استفاده از نحو ساده‌تر و قابل خواندن‌تر بررسی کنید. ساختار کلی استفاده از match و case به صورت زیر است:

        
match variable:
    case pattern1:
        # do something
    case pattern2:
        # do something else
    case _:
        # default case
        
    

در این ساختار، variable مقداری است که می‌خواهید الگویابی کنید و هر case یک الگوی خاص است که می‌تواند شامل مقادیر ثابت، متغیرها، یا ساختارهای پیچیده‌تر باشد.

        
status = 404
match status:
    case 200:
        print("OK")
    case 404:
        print("Not Found")
    case 500:
        print("Internal Server Error")
    case _:
        print("Unknown status")
        
    

در این مثال، مقدار status با مقادیر ثابت مقایسه می‌شود و در صورت تطابق، پیام مناسب چاپ می‌شود. در اینجا، خروجی "Not Found" خواهد بود زیرا مقدار status برابر با 404 است.

یادگیری تحلیل داده را از امروز شروع کنید!

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

دوره جامع دیتا ساینس و ماشین لرنینگ