eitaa logo
پایتون برای شما
107 دنبال‌کننده
29 عکس
0 ویدیو
25 فایل
جایی برای یادگیری پایتون 👨‍💻👩‍💻 ارتباط با مدرس: @Ali_Reza_Noorbakhsh
مشاهده در ایتا
دانلود
تابع‌های لامبدا (Lambda Functions) 🕶 تا حالا تابع‌های معمولی رو دیدیم، حالا بیاید یه نوع تابع باحال‌تر ببینیم: تابع‌های لامبدا! اینا تابع‌های کوچیک و یک‌خطی‌ان که نیازی به اسم ندارن. مثل یه میان‌بر تو کد! ✨ مثال: square = lambda x: x * x # Define a lambda function print(square(5)) # Call the lambda function 🔹 خروجی: 25 🔰 این کد چیکار می‌کنه؟ تابع لامبدا یه عدد x می‌گیره و مربعش رو برمی‌گردونه. بهش اسم square دادیم، ولی می‌تونستیم مستقیم ازش استفاده کنیم. ساختار لامبدا اینجوریه: lambda arguments: expression ✨ یه مثال باحال‌تر: add = lambda a, b: a + b # Lambda with two arguments print(add(3, 4)) # Call with two numbers 🔹 خروجی: 7 🔰 چرا لامبدا باحاله؟ - برای کارهای ساده و سریع که نیازی به تابع کامل ندارن. - تو جاهایی که نیاز به تابع یه‌بارمصرف داری (مثل تو لیست‌ها یا توابع مرتب‌سازی). ✨ مثال واقعی: فرض کن داری یه برنامه برای فیلتر کردن داده‌ها می‌سازی. می‌تونی از لامبدا برای تعریف سریع یه شرط استفاده کنی: numbers = [1, 2, 3, 4, 5] evens = list(filter(lambda x: x % 2 == 0, numbers)) # Filter even numbers print(evens) # Print even numbers 🔹 خروجی: [2, 4] ❓ تمرین: یه تابع لامبدا بنویسید که دو عدد بگیره و تفریقشون رو برگردونه. بعد یه تابع لامبدا برای بررسی زوج بودن عدد بنویسید. 💯 @PythonForYou 🧑‍💻👩‍💻
تابع و حلقه‌ها 🔄 تابع‌ها با حلقه‌ها خیلی خوب کار می‌کنن و می‌تونن کارهای تکراری رو ساده‌تر کنن. بیاید یه تابع بنویسیم که از حلقه استفاده کنه! ✨ مثال: def print_squares(n): for i in range(1, n + 1): print(i * i) # Print square of each number print_squares(3) # Print squares of 1, 2, 3 🔹 خروجی: 1 4 9 🔰 این کد چیکار می‌کنه؟ تابع print_squares یه عدد n می‌گیره. با حلقه for، مربع اعداد از 1 تا n رو چاپ می‌کنه. برای n=3، مربع‌های 1، 4، و 9 چاپ می‌شن. ✅ چرا حلقه تو تابع باحاله؟ - می‌تونی کارهای تکراری رو توی یه تابع جمع کنی و هر وقت لازم شد صداش کنی. - کدت تمیزتر می‌شه و راحت‌تر می‌تونی تغییرش بدی. ✨ مثال روزمره: فرض کن داری یه برنامه برای چاپ جدول ضرب می‌سازی. یه تابع می‌نویسی که جدول ضرب یه عدد رو با حلقه چاپ کنه. ❓ تمرین: یه تابع بنویسید که یه عدد بگیره و اعداد زوج از 1 تا اون عدد رو چاپ کنه. تابع رو با دو عدد مختلف تست کنید. 💯 @PythonForYou 🧑‍💻👩‍💻
تابع و لیست‌ها 📋 تابع‌ها با لیست‌ها خیلی خوب کار می‌کنن و می‌تونن داده‌های زیادی رو مدیریت کنن. بیاید یه تابع بنویسیم که با لیست کار کنه! ✨ مثال: def sum_list(numbers): total = 0 for num in numbers: total += num return total # Return sum of list print(sum_list([1, 2, 3, 4])) # Sum of list print(sum_list([10, 20, 30])) # Sum of another list 🔹 خروجی: 10 60 🔰 این کد چیکار می‌کنه؟ تابع sum_list یه لیست از اعداد می‌گیره. با حلقه، همه اعداد رو جمع می‌کنه و نتیجه رو برمی‌گردونه. برای لیست [1, 2, 3, 4]، خروجی 10ه و برای [10, 20, 30]، خروجی 60. ✅ چرا این تابع باحاله؟ - می‌تونی با هر لیست از اعداد کار کنی، مهم نیست چند تا عدد باشه. - می‌تونی از خروجی تابع تو محاسبات دیگه استفاده کنی. ✨ مثال روزمره: فرض کن داری یه اپلیکیشن برای مدیریت هزینه‌ها می‌سازی. یه تابع می‌نویسی که لیست خریدهای یه روز رو بگیره و جمعشون رو حساب کنه. ❓ تمرین: یه تابع بنویسید که یه لیست از اعداد بگیره و بزرگ‌ترین عدد رو برگردونه. تابع رو با دو لیست مختلف تست کنید. 💯 @PythonForYou 🧑‍💻👩‍💻
تابع و شرط‌ها 🎚 تابع‌ها با شرط‌ها (مثل if) خیلی خوب کار می‌کنن و می‌تونن تصمیم‌های هوشمندانه بگیرن. بیاید یه تابع بنویسیم که از شرط استفاده کنه! ✨ مثال: def check_age(age): if age >= 18: print("You're an adult!") # Print for adults else: print("You're a teen!") # Print for teens check_age(20) check_age(15) 🔹 خروجی: You're an adult! You're a teen! 🔰 این کد چیکار می‌کنه؟ تابع check_age یه عدد age می‌گیره. با شرط if چک می‌کنه که سن 18 یا بیشتره یا نه. بسته به شرط، پیغام مناسب چاپ می‌شه. ✅ چرا شرط تو تابع مهمه؟ - می‌تونی تابع رو طوری بنویسی که بسته به ورودی، رفتارهای مختلف داشته باشه. - باعث می‌شه برنامه‌ت انعطاف‌پذیرتر و واقعی‌تر باشه. ✨ مثال روزمره: فرض کن داری یه برنامه برای امتحانات می‌سازی. یه تابع می‌نویسی که نمره رو بگیره و بگه قبوله یا نه. ❓ تمرین: یه تابع بنویسید که یه عدد بگیره و بگه مثبت، منفی، یا صفره. تابع رو با چند عدد مختلف تست کنید. 💯 @PythonForYou 🧑‍💻👩‍💻
تابع و دیکشنری‌ها 📖 تابع‌ها با دیکشنری‌ها هم خیلی خوب کار می‌کنن و می‌تونن داده‌های پیچیده رو مدیریت کنن. بیاید یه تابع بنویسیم که با دیکشنری کار کنه! ✨ مثال: def print_dict(data): for key, value in data.items(): print(f"{key}: {value}") # Print key-value pairs print_dict({"name": "Ali", "age": 18, "city": "Tehran"}) 🔹 خروجی: name: Ali age: 18 city: Tehran 🔰 این کد چیکار می‌کنه؟ تابع print_dict یه دیکشنری می‌گیره. با حلقه، همه کلیدها و مقادیر رو چاپ می‌کنه. دیکشنری می‌تونه هر تعداد جفت کلید-مقدار داشته باشه. ✅ چرا این تابع باحاله؟ - می‌توتی اطلاعات ساختاریافته (مثل مشخصات یه نفر) رو راحت مدیریت کنی. - دیکشنری‌ها برای ذخیره داده‌های واقعی (مثل اطلاعات کاربر) خیلی کاربردین. ✨ مثال روزمره: فرض کن داری یه اپلیکیشن برای مدیریت دانش‌آموزا می‌سازی. یه تابع می‌نویسی که مشخصات هر دانش‌آموز (اسم، سن، نمره) رو از دیکشنری بگیره و چاپ کنه. ❓ تمرین: یه تابع بنویسید که یه دیکشنری بگیره و فقط کلیدها رو چاپ کنه. تابع رو با دو دیکشنری مختلف تست کنید. 💯 @PythonForYou 🧑‍💻👩‍💻
پروژه کوچیک: ماشین‌حساب با تابع 🚀 حالا که کلی درباره تابع‌ها یاد گرفتیم، بیاید یه پروژه کوچیک بسازیم: یه ماشین‌حساب ساده با تابع! این تابع قراره چند عملیات ریاضی رو انجام بده و نشون بده چطور همه‌چیز رو کنار هم می‌ذاریم. ✨ مثال: def calculator(a, b, operation): if operation == "add": return a + b # Return sum elif operation == "subtract": return a - b # Return difference elif operation == "multiply": return a * b # Return product elif operation == "divide": if b == 0: print("Cannot divide by zero!") # Handle division by zero return None return a / b # Return division else: print("Invalid operation!") # Handle invalid input return None print(calculator(10, 5, "add")) # Test addition print(calculator(10, 5, "divide")) # Test division print(calculator(10, 0, "divide")) # Test division by zero 🔹 خروجی: 15 2.0 Cannot divide by zero! None 🔰 این کد چیکار می‌کنه؟ تابع calculator سه پارامتر می‌گیره: دو عدد (a و b) و نوع عملیات (operation). با شرط if، عملیات مناسب (جمع، تفریق، ضرب، تقسیم) رو انجام می‌ده. برای تقسیم، چک می‌کنه که b صفر نباشه تا خطا نده. اگه عملیات نامعتبر باشه، پیغام خطا چاپ می‌کنه. ✅ چرا این پروژه باحاله؟ - نشون می‌ده چطور تابع می‌تونه چند کار مختلف رو مدیریت کنه. - ترکیب پارامترها، شرط‌ها، و مدیریت خطاها رو تو یه تابع واقعی می‌بینی. ✨ مثال روزمره: فرض کن داری یه اپلیکیشن ماشین‌حساب برای گوشی می‌سازی. این تابع می‌تونه هسته اصلی برنامه‌ت باشه! ❓ تمرین: تابع ماشین‌حساب رو گسترش بدید که عملیات "قدرت" (مثل a به توان b) رو هم ساپورت کنه. تابع رو با چند عملیات مختلف تست کنید. 💯 @PythonForYou 🧑‍💻👩‍💻
تو این پست قراره عمیق بریم تو دنیای توابع پایتون و همه‌چیز درباره نحوه ارسال پارامترها، توابع نام‌بی، و دامنه متغیرها رو با کلی مثال یاد بگیریم. انگار یه مدرس حرفه‌ای کنار شماست که قدم‌به‌قدم توضیح می‌ده! 🧑‍🏫 آماده‌اید که کدزنی‌تون رو به سطح بعدی ببرید؟ بریم شروع کنیم! 🚀 1. ارسال پارامترها به تابع‌ها 🎛 تو پایتون، می‌تونی به تابع‌ها پارامتر بدی تا کارای مختلف انجام بدن. پارامترها مثل مواد اولیه تو آشپزی‌ان: بسته به چیزی که می‌دی، نتیجه متفاوته! 🍳 بیاید انواع روش‌های ارسال پارامتر رو ببینیم. 💯 @PythonForYou 🧑‍💻👩‍💻
1.1. ارسال پارامتر از طریق مقدار وقتی یه مقدار (مثل عدد یا رشته) به تابع می‌دی، پایتون یه کپی از اون مقدار رو به تابع می‌فرسته. این یعنی تغییر پارامتر داخل تابع، روی متغیر اصلی بیرون تابع اثر نمی‌ذاره. ✨ مثال 1: جمع دو عدد def add_numbers(a, b): print(f"Sum: {a + b}") # Print sum of two numbers a = 100 # Try to change parameter print(f"Inside function, a is: {a}") # Print modified a x = 5 y = 3 add_numbers(x, y) print(f"Outside function, x is: {x}") # Print original x 🔹 خروجی: Sum: 8 Inside function, a is: 100 Outside function, x is: 5 ✅ توضیح: تابع add_numbers دو عدد a و b می‌گیره و جمعشون رو چاپ می‌کنه. تغییر a داخل تابع روی x بیرون تابع اثر نداره چون از طریق مقدار فرستاده شده. ✨ مثال 2: تغییر رشته def change_string(text): print(f"Original text: {text}") # Print original text text = "New text!" print(f"Inside function: {text}") # Print modified text message = "Hello" change_string(message) print(f"Outside function: {message}") # Print original message 🔹 خروجی: Original text: Hello Inside function: New text! Outside function: Hello ✨ مثال 3: محاسبه مساحت def calculate_area(length, width): print(f"Area: {length * width}") # Print area length = 0 # Try to change parameter print(f"Inside function, length: {length}") # Print modified length l = 4 w = 5 calculate_area(l, w) print(f"Outside function, length: {l}") # Print original length 🔹 خروجی: Area: 20 Inside function, length: 0 Outside function, length: 4 ✨ مثال روزمره: فرض کن داری یه اپلیکیشن برای محاسبه قیمت غذا می‌سازی. تابع قیمت غذا و تعداد رو می‌گیره، ولی تغییر تعداد داخل تابع روی سفارش اصلی اثر نمی‌ذاره. ❓ تمرین: یه تابع بنویسید که یه عدد بگیره، مربعش رو چاپ کنه، و سعی کنه عدد رو داخل تابع تغییر بده. عدد اصلی رو بیرون تابع چاپ کنید تا ببینید تغییر نکرده. 💯 @PythonForYou 🧑‍💻👩‍💻
2.1. آرگومان‌های اجباری آرگومان‌های اجباری یعنی پارامترهایی که باید موقع صدا کردن تابع بهشون مقدار بدی، وگرنه خطا می‌گیری. ✨ مثال 1: خوشامدگویی def greet(name): print(f"Hey {name}, welcome to Python!") # Print greeting greet("Ali") # Works fine # greet() # Error! Missing required argument 🔹 خروجی: Hey Ali, welcome to Python! ✅ توضیح: تابع greet یه پارامتر اجباری name داره. اگه ندی، خطای TypeError می‌گیرید. ✨ مثال 2: محاسبه توان def power(base, exponent): print(f"{base} to the power {exponent} is: {base ** exponent}") # Print power power(2, 3) # Works fine # power(2) # Error! Missing required argument 🔹 خروجی: 2 to the power 3 is: 8 ✨مثال 3: ثبت‌نام کاربر def register_user(username, email): print(f"User {username} registered with {email}") # Print registration register_user("Sara", "sara@example.com") 🔹 خروجی: User Sara registered with sara@example.com ✨ مثال روزمره: فرض کن داری یه فرم ثبت‌نام آنلاین می‌سازی. تابع ثبت‌نام باید اسم و ایمیل رو اجباری بگیره، وگرنه ثبت‌نام کامل نمی‌شه. ❓ تمرین: یه تابع بنویسید که دو پارامتر اجباری (مثلاً اسم و سن) بگیره و یه پیغام چاپ کنه. تابع رو با مقادیر درست و بدون مقدار تست کنید تا خطا ببینید. 💯 @PythonForYou 🧑‍💻👩‍💻
3.1. آرگومان‌های کلمه کلیدی می‌تونی موقع صدا کردن تابع، اسم پارامترها رو مشخص کنی تا ترتیب مهم نباشه. به این می‌گن آرگومان‌های کلمه کلیدی. ✨ مثال 1: اطلاعات کاربر def user_info(name, age): print(f"Name: {name}, Age: {age}") # Print user info user_info(age=18, name="Ali") # Keyword arguments user_info(name="Sara", age=20) 🔹 خروجی: Name: Ali, Age: 18 Name: Sara, Age: 20 ✨ مثال 2: هزینه سفر def travel_cost(destination, cost): print(f"Trip to {destination} costs {cost}") # Print travel cost travel_cost(cost=500, destination="Paris") 🔹 خروجی: Trip to Paris costs 500 ✨مثال 3: سفارش غذا def order_food(food, quantity): print(f"Ordered {quantity} of {food}") # Print order order_food(quantity=2, food="Pizza") 🔹 خروجی: Ordered 2 of Pizza ✅ چرا کلمه کلیدی باحاله؟ - ترتیب پارامترها مهم نیست، پس کد خواناتر می‌شه. - وقتی تابع پارامترهای زیادی داره، مشخص کردن اسم‌ها از اشتباه جلوگیری می‌کنه. ✨ مثال روزمره: فرض کن داری یه اپلیکیشن رزرو بلیط می‌سازی. با آرگومان‌های کلمه کلیدی، کاربر می‌تونه مقصد و تاریخ رو به هر ترتیبی وارد کنه. ❓ تمرین: یه تابع بنویسید که سه پارامتر (اسم، شهر، شغل) بگیره و پیغام چاپ کنه. تابع رو با آرگومان‌های کلمه کلیدی و با ترتیب‌های مختلف صدا کنید. 💯 @PythonForYou 🧑‍💻👩‍💻
4.1. آرگومان‌های با مقدار پیش‌فرض می‌تونی برای پارامترها مقدار پیش‌فرض بذاری، یعنی اگه موقع صدا کردن تابع چیزی ندی، از اون مقدار استفاده می‌شه. ✨ مثال 1: خوشامدگویی پیش‌فرض def greet(name="Guest"): print(f"Hello {name}, welcome to coding!") # Print greeting greet("Ali") # Use provided name greet() # Use default name 🔹 خروجی: Hello Ali, welcome to coding! Hello Guest, welcome to coding! ✨ مثال 2: رزرو رستوران def book_table(name, people=2): print(f"Table for {people} reserved for {name}") # Print reservation book_table("Sara", 4) book_table("Ali") 🔹 خروجی: Table for 4 reserved for Sara Table for 2 reserved for Ali ✨ مثال 3: تنظیمات بازی def start_game(player, level="Easy"): print(f"{player} started game at {level} level") # Print game start start_game("Ali", "Hard") start_game("Sara") 🔹 خروجی: Ali started game at Hard level Sara started game at Easy level ✅ نکته‌ها: - پارامترهای پیش‌فرض باید بعد از پارامترهای اجباری تعریف بشن. - این ویژگی تابع رو انعطاف‌پذیرتر می‌کنه. ✨ مثال روزمره: فرض کن داری یه اپلیکیشن برای تنظیم قرار ملاقات می‌سازی. تابع زمان قرار رو می‌گیره، ولی اگه کاربر زمانی نداد، پیش‌فرض "10 صبح" باشه. ❓ تمرین: یه تابع بنویسید که دو پارامتر بگیره: اسم و پیام (با پیش‌فرض "Welcome!"). تابع رو یه بار با اسم و پیام، و یه بار فقط با اسم صدا کنید. 💯 @PythonForYou 🧑‍💻👩‍💻
5.1. تعریف و فراخوانی توابع با تعداد پارامترهای متغیر (args) اگه نخوای تعداد پارامترها رو محدود کنی، می‌تونی از *args استفاده کنی. این به تابع اجازه می‌ده هر تعداد ورودی بگیره. ✨ مثال 1: جمع اعداد متغیر def sum_numbers(*args): total = 0 for num in args: total += num return total # Return sum of all numbers print(sum_numbers(1, 2, 3)) # 3 numbers print(sum_numbers(1, 2, 3, 4, 5)) # 5 numbers 🔹 خروجی: 6 15 ✨ مثال 2: میانگین نمرات def average_scores(*scores): if not scores: return 0 # Return 0 if no scores total = sum(scores) count = len(scores) return total / count # Return average print(average_scores(10, 15, 20)) print(average_scores(5, 10, 15, 20, 25)) خروجی: 15.0 15.0 ✨ مثال 3: لیست خرید pythondef shopping_list(*items): print(f"Shopping list: {items}") # Print all items shopping_list("Apple", "Banana", "Orange") shopping_list("Bread", "Milk") 🔹 خروجی: textShopping list: ('Apple', 'Banana', 'Orange') Shopping list: ('Bread', 'Milk') ✅ چرا args باحاله؟ - می‌تونی هر تعداد ورودی بدی، بدون اینکه تعداد پارامترها رو مشخص کنی. - مثل یه لیست عمل می‌کنه، پس می‌تونی باهاش حلقه بزنی. ✨ مثال روزمره: فرض کن داری یه اپلیکیشن برای مدیریت خرید می‌سازی. تابع لیست خرید می‌تونه هر تعداد آیتم رو بگیره و نشون بده. ❓ تمرین: یه تابع بنویسید که تعداد متغیر عدد بگیره و بزرگ‌ترین عدد رو برگردونه. تابع رو با چند مجموعه ورودی تست کنید (مثلاً 3 و 5 عدد). 💯 @PythonForYou 🧑‍💻👩‍💻