✔️ مفهوم match-case در پایتون (نسخه 3.10 به بعد)
اگر تا حالا با شرایط پیچیده در پایتون سروکله زدید، match-case کار شما رو راحتتر میکنه! این ویژگی مثل
فرض کنید میخواهید دادههای مختلفی رو پردازش کنید، مثل ایجاد، حذف یا بهروزرسانی یک آیتم. به کمک این قابلیت، این کار سادهتر و مرتبتر میشه:
▪️مزایای match-case:
- کد خواناتر و قابلدرکتر از
- تطبیق الگوهای پیچیده (مثل دیکشنریهای تو در تو)
- انعطاف بالا برای مدیریت دادهها
#پایتون #python
✅ @Teachify | برنامه نویسی
اگر تا حالا با شرایط پیچیده در پایتون سروکله زدید، match-case کار شما رو راحتتر میکنه! این ویژگی مثل
switch-case
در زبانهای دیگه عمل میکنه، اما با قدرتی فراتر برای مدیریت الگوهای پیچیده.فرض کنید میخواهید دادههای مختلفی رو پردازش کنید، مثل ایجاد، حذف یا بهروزرسانی یک آیتم. به کمک این قابلیت، این کار سادهتر و مرتبتر میشه:
def process_data(data):
match data:
case {"action": "create", "id": id, "content": content}:
print(f"Creating a new item with ID: {id} and content: {content}")
case {"action": "delete", "id": id}:
print(f"Deleting the item with ID: {id}")
case {"action": "update", "id": id, "content": content}:
print(f"Updating the item {id} with content: {content}")
case _:
print("Invalid data")
# Test the function
process_data({"action": "create", "id": 1, "content": "Hello"})
process_data({"action": "delete", "id": 2})
process_data({"action": "update", "id": 3, "content": "Updated content"})
▪️مزایای match-case:
- کد خواناتر و قابلدرکتر از
if-else
های تو در تو- تطبیق الگوهای پیچیده (مثل دیکشنریهای تو در تو)
- انعطاف بالا برای مدیریت دادهها
#پایتون #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
✔️ آشنایی با Walrus Operator در پایتون (به معنی شیرآبی)
در نسخه ۳.۸ پایتون، اپراتوری به نام Walrus Operator (با نماد
فرض کنید میخواهیم طول کلماتی از یک لیست را بررسی کنیم و فقط کلماتی که طولشان بیش از ۳ کاراکتر است را چاپ کنیم.
➖ بدون Walrus Operator:
➕ با Walrus Operator:
در کد دوم، مقدار طول کلمه (با نام
مثال های دیگر:
➕ حلقههای ورودی:
➕ خواندن از فایل:
#Python
✅ @Teachify | برنامه نویسی
در نسخه ۳.۸ پایتون، اپراتوری به نام Walrus Operator (با نماد
:=
) معرفی شد که هدف آن سادهتر کردن کدنویسی در شرایط خاص است. این اپراتور به شما اجازه میدهد همزمان یک مقدار را به یک متغیر اختصاص دهید و از آن استفاده کنید. فرض کنید میخواهیم طول کلماتی از یک لیست را بررسی کنیم و فقط کلماتی که طولشان بیش از ۳ کاراکتر است را چاپ کنیم.
➖ بدون Walrus Operator:
words = ["apple", "pie", "banana", "kiwi"]
for word in words:
if len(word) > 3:
print(word)
➕ با Walrus Operator:
words = ["apple", "pie", "banana", "kiwi"]
for word in words:
if (length := len(word)) > 3:
print(f"{word} (length: {length})")
در کد دوم، مقدار طول کلمه (با نام
length
) محاسبه شده و همزمان در شرط و چاپ استفاده میشود، بدون نیاز به محاسبه مجدد.مثال های دیگر:
➕ حلقههای ورودی:
while (user_input := input("Enter something: ")) != "exit":
print(f"You entered: {user_input}")
➕ خواندن از فایل:
with open("data.txt") as file:
while (line := file.readline().strip()):
print(line)
#Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8