این دوره به شما نشان میدهد که چگونه از برنامه نویسی تابعی (FP) در پایتون استفاده کنید. شما خواهید آموخت که FP چیست، چرا جایگزینی جذاب برای پارادایمهای دیگر است، چگونه کد تابعی پایتونیک بنویسید، و چگونه از FP در یک محیط تجاری استفاده کنید.
آنچه یاد خواهید گرفت:
شاید شما یک برنامه نویس باتجربه پایتون هستید و همه سر و صداها را در مورد برنامه نویسی تابعی شنیدهاید. یا شاید از زبان کاربردی مانند Haskell، Scala یا #F به پایتون میآیید، و نمیدانید چگونه در زبانی کار کنید که به نظر میرسد فاقد چیزهایی است که در زبان مورد علاقهتان بدیهی میدانید. در این دوره، برنامه نویسی تابعی در پایتون 3، شما یاد خواهید گرفت که اصول برنامه نویسی تابعی (FP) را با استفاده از پایتون به کار ببرید. ابتدا، مفاهیم FP، از جمله توابع درجه یک، توابع خالص، تغییر ناپذیری و ارزیابی تنبل، و رابطه FP با سایر پارادایمهای برنامه نویسی را بررسی خواهید کرد. در مرحله بعد، نحوه پیادهسازی این مفاهیم را در پایتون، به عنوان مثال، با نوشتن توابع بدون حالت و استفاده از متغیرهای تغییرناپذیر کشف خواهید کرد. در نهایت، نحوه اعمال FP را در یک سیستم پردازش سفارش معمولی خواهید آموخت. پس از اتمام این دوره، مهارتها و دانش برنامه نویسی کاربردی در پایتون را خواهید داشت که برای توسعه و پشتیبانی از FP Python در تنظیمات تجاری لازم است.
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [2mins]
01-01 Course Overview [2mins]
02 Introduction to Functional Programming [10mins]
02-01 Introducing Functional Programming [1mins]
02-02 Reviewing Current Programming Paradigms [2mins]
02-03 Learning the History of FP [2mins]
02-04 Getting Motivated! [1mins]
02-05 Understanding the Principles of FP [3mins]
02-06 Summarizing this Module [1mins]
03 Reaching Higher with First Class Functions [11mins]
03-01 Introducing Pure Functions [1mins]
03-02 Module Overview [1mins]
03-03 Demo 1 - Walking Through the Working Example [2mins]
03-04 Understanding Higher Order Functions [3mins]
03-05 Demo 1 - Using Higher Order Functions [3mins]
03-06 Summarizing This Module [1mins]
04 Eliminating Side Effects with Pure Functions [13mins]
04-01 Introducing Pure Functions [1mins]
04-02 Coming up in This Module [3mins]
04-03 Demo 1 - Add a Function to Expedite Orders [3mins]
04-04 Demo 2 - Purify the Functions [3mins]
04-05 Sidebar on Lamdas vs. Helper Functions [2mins]
04-06 Summarizing This Module [1mins]
05 Reducing Data Errors with Immutable Variables [17mins]
05-01 Introducing Immutability [2mins]
05-02 Trouble in Mutable Town [2mins]
05-03 Demo 1 - Add Backorder Notification [5mins]
05-04 Demo 2 - Mark Order Items as Backordered [6mins]
05-05 Demo 3 - Using Python Dataclasses [1mins]
05-06 Summarizing This Module [1mins]
06 Avoiding Unnecessary Work Using Lazy Evaluation [10mins]
06-01 Introducing Lazy Evaluataion [1mins]
06-02 Eager vs. Lazy Evaluation [2mins]
06-03 Lazy Evaluation in Python [2mins]
06-04 Demo 1 - Use Lazy Evaluation to Add a New Function [2mins]
06-05 Demo 2 - Checking Generator Pros and Cons [2mins]
06-06 Summarizing This Module [1mins]
07 Replacing Iteration with Recursion [13mins]
07-01 Introducing Recursion [1mins]
07-02 Reviewing the Foundations of Recursion [2mins]
07-03 Demo 1 - Adding Numbers Using Recursion [1mins]
07-04 Learning About Tail Recursion [1mins]
07-05 Demo 2 - Adding Numbers Using Tail Recursion [2mins]
07-06 Hitting the Trampoline [1mins]
07-07 Demo 3 - Fibonacci on the Trampoline [2mins]
07-08 Demo 4 - Finding Employees Using Trampoling [2mins]
07-09 Summarizing This Module [1mins]
08 Eliminating Procedural Code with Pattern Matching [12mins]
08-01 Introducing Pattern Matching [1mins]
08-02 Matching in Other Languages [2mins]
08-03 Demo 1 - Matching in Legacy Python [2mins]
08-04 Outlining the Python Match Statement [1mins]
08-05 Demo 2 - The Power of Structural Pattern Matching [4mins]
08-06 Demo 3 - Using Matching to Validate Arguments [1mins]
08-07 Summarizing this Module [1mins]
09 Summary [3mins]
09-01 Highlighting Functional Principles [3mins]
[فارسی]
01 بررسی اجمالی دوره [2 دقیقه]
01-01 بررسی اجمالی دوره [2 دقیقه]
02 مقدمهای بر برنامه نویسی تابعی [10 دقیقه]
02-01 معرفی برنامه نویسی کاربردی [1 دقیقه]
02-02 مرور پارادایمهای برنامه نویسی فعلی [2 دقیقه]
02-03 یادگیری تاریخچه FP [2 دقیقه]
02-04 انگیزه گرفتن! [1 دقیقه]
02-05 درک اصول FP [3 دقیقه]
02-06 خلاصه کردن این ماژول [1 دقیقه]
03 رسیدن به بالاتر با توابع درجه یک [11 دقیقه]
03-01 معرفی توابع خالص [1 دقیقه]
03-02 نمای کلی ماژول [1 دقیقه]
03-03 نسخهی نمایشی 1 - راه رفتن از طریق مثال کاری [2 دقیقه]
03-04 درک عملکردهای مرتبه بالاتر [3 دقیقه]
03-05 نسخه آزمایشی 1 - استفاده از توابع سفارش بالاتر [3 دقیقه]
03-06 خلاصه کردن این ماژول [1 دقیقه]
04 از بین بردن عوارض جانبی با عملکردهای خالص [13 دقیقه]
04-01 معرفی توابع خالص [1 دقیقه]
04-02 در این ماژول [3 دقیقه]
04-03 نسخه آزمایشی 1 - اضافه کردن یک تابع برای تسریع سفارشات [3 دقیقه]
04-04 نسخهی نمایشی 2 - پاکسازی عملکردها [3 دقیقه]
04-05 نوار کناری در لامداس در مقابل توابع کمک کننده [2 دقیقه]
04-06 خلاصه کردن این ماژول [1 دقیقه]
05 کاهش خطاهای داده با متغیرهای تغییرناپذیر [17 دقیقه]
05-01 معرفی Immutability [2 دقیقه]
05-02 مشکل در شهر متغیر [2 دقیقه]
05-03 نسخه آزمایشی 1 - افزودن اعلان سفارش برگشتی [5 دقیقه]
05-04 نسخه آزمایشی 2 - علامت گذاری موارد سفارش به عنوان سفارش مجدد [6 دقیقه]
05-05 نسخهی نمایشی 3 - استفاده از کلاسهای داده پایتون [1 دقیقه]
05-06 خلاصه کردن این ماژول [1 دقیقه]
06 اجتناب از کار غیر ضروری با استفاده از ارزیابی تنبل [10 دقیقه]
06-01 معرفی Lazy Evaluataion [1 دقیقه]
06-02 ارزیابی مشتاق در مقابل تنبلی [2 دقیقه]
06-03 ارزیابی تنبل در پایتون [2 دقیقه]
06-04 نسخه آزمایشی 1 - از ارزیابی تنبل برای افزودن یک عملکرد جدید استفاده کنید [2 دقیقه]
06-05 نسخهی نمایشی 2 - بررسی مزایا و معایب ژنراتور [2 دقیقه]
06-06 خلاصه کردن این ماژول [1 دقیقه]
07 جایگزینی تکرار با بازگشت [13 دقیقه]
07-01 معرفی بازگشت [1 دقیقه]
07-02 مروری بر مبانی بازگشت [2 دقیقه]
07-03 نسخه آزمایشی 1 - افزودن اعداد با استفاده از بازگشت [1 دقیقه]
07-04 آموزش درباره بازگشت دم [1 دقیقه]
07-05 نسخهی نمایشی 2 - افزودن اعداد با استفاده از Tail Recursion [2 دقیقه]
07-06 ضربه زدن به ترامپولین [1 دقیقه]
07-07 دمو 3 - فیبوناچی روی ترامپولین [2 دقیقه]
07-08 نسخهی نمایشی 4 - یافتن کارمندان با استفاده از ترمپولینگ [2 دقیقه]
07-09 خلاصه کردن این ماژول [1 دقیقه]
08 حذف کد رویه با تطبیق الگو [12 دقیقه]
08-01 معرفی تطبیق الگو [1 دقیقه]
08-02 تطبیق در زبانهای دیگر [2 دقیقه]
08-03 نسخه آزمایشی 1 - تطبیق در پایتون قدیمی [2 دقیقه]
08-04 تشریح بیانیه مطابقت پایتون [1 دقیقه]
08-05 نسخهی نمایشی 2 - قدرت تطبیق الگوی ساختاری [4 دقیقه]
08-06 نسخه آزمایشی 3 - استفاده از Matching برای اعتبارسنجی آرگومانها [1 دقیقه]
08-07 خلاصه کردن این ماژول [1 دقیقه]
09 خلاصه [3 دقیقه]
09-01 برجسته کردن اصول عملکردی [3 دقیقه]
جرالد بریتون نویسنده Pluralsight و متخصص در شیوههای برنامه نویسی پایتون و توسعه و مدیریت مایکروسافت SQL Server است. جرالد که چندین سال جایزه MVP مایکروسافت را دریافت کرده است، کلاسهای مقدماتی پایتون و SQL را برای رویدادهای مورد حمایت صنعت در دانشگاه رایرسون، تورنتو و دانشگاه تورنتو (معلم او) رهبری کرده است.