برنامهنویسی تابعی با پایتون
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- آشنایی عملی با نقشه، فیلتر، reduce ،zip ،any ،all، لیست، مجموعه، دیکشنری و generator comprehensions و عبارات ژنراتور
- پوشش کامل مفاهیم تابعی سطح متوسط در پایتون - ژنراتورها، iterators، دکوراتورها، closures، بازگشت و موارد بسیار دیگر
- بررسی عملی مباحث پیشرفته - closures، بازگشت، اپلیکیشن تابع جزئی، currying ،memoization ،infinite iterators و overloading
- درک مفهومی از اصول کلیدی برنامهنویسی تابعی - تغییرناپذیری، خلوص، توابع higher-order، بازگشت و شفافیت ارجاعی
توضیحات دوره
به بهترین و جامعترین معرفی برنامهنویسی تابعی در پایتون خوش آمدید.
در این دوره مناسب برای مبتدیان، شما گامبهگام با قابلیتهای تابعی پایتون آشنا شده و تمرین خواهید کرد.
این دوره با درک مفهومی از اصول کلیدی برنامهنویسی تابعی آغاز میشود:
- تغییرناپذیری - ایده اینکه داده نباید در محل خود تغییر کنند.
- خلوص - عمل نوشتن توابعی که عوارض جانبی ایجاد نمیکنند.
- توابع higher-order - معادل قرار دادن توابع با سایر تایپهای داده
- بازگشت - الگوی نوشتن توابعی که خود را فراخوانی میکنند.
- شفافیت ارجاعی - اصل اینکه یک فراخوانی تابع میتواند با مقدار بازگشتیاش جایگزین شود بدون اینکه رفتار برنامه تغییر کند.
سپس، به بررسی یوتیلیتیهای عملی که پایتون برای نوشتن کد تابعی ارائه میدهد خواهیم پرداخت، از جمله:
- نقشه، فیلتر، reduce ،zip ،any ،all - یوتیلیتیهایی برای کار با iterables
- لیست، مجموعه، دیکشنری و generator comprehensions - روشهای مختصر برای ایجاد لیست، مجموعه، دیکشنری و ژنراتورها
- توابعژنراتور و iterators - توابعی که میتوانند متوقف و از سر گرفته شوند.
- متغیر arity - توابعی که میتوانند تعداد متغیر آرگومانها را بپذیرند، که هنگام نوشتن تابع ناشناخته هستند.
در بخش نهایی و طولانیترین دوره، به مباحث پیشرفته بیشتری خواهیم پرداخت، از جمله:
- closures - توابع higher-order که میتوانند به متغیرهای غیرمحلی دسترسی داشته باشند.
- بازگشت - توابعی که خود را فراخوانی میکنند.
- اپلیکیشن تابع جزئی - توابعی که توابع دیگری را با برخی از آرگومانها قبلاً پر شده بازگردانی میکند.
- currying - یک مورد خاص از اپلیکیشن تابع جزئی
- memoization - ذخیره نتایج فراخوانی تابع به منظور تسریع در اجرا
- iterators بینهایت - iterators که هرگز تمام نمیشوند.
- overloading تابع - توابعی که بسته به ورودیهایشان رفتاری متفاوت دارند.
در طول دوره، شما فرصت خواهید داشت که مهارتهای تازه آموخته شده خود را از طریق مجموعهای از بیش از 20 چالش مهارتی تمرین کنید. هر یک از این چالشها با یک توضیح ویدئویی دقیق از راهحل همراه خواهد بود که با هم آن را بررسی خواهیم کرد.
این دوره برای مبتدیان بسیار مناسب است و هیچ تجربهای از پایتون نیاز نیست. اگر هرگز با پایتون کار نکردهاید، یک مقدمه کامل به برنامهنویسی پایتون به عنوان ضمیمهای موجود است که اصول این زبان را از تایپهای داده ابتدایی تا کانتینرها، کنترل جریان، حلقهها، کلاسها و موارد دیگر پوشش میدهد.
این دوره برای چه کسانی مناسب است؟
- کسی که میخواهد برنامهنویسی تابعی را از ابتداییترین مبانی بیاموزد.
- مبتدیان در برنامهنویسی که به نوشتن کد پایتون مختصر، خوانا و قابل نگهداری علاقهمند هستند.
- توسعهدهندگان مبتدی پایتون با علاقه به برنامهنویسی تابعی
- برنامهنویسان سطح متوسط که با ساختارهای تابعی در پایتون آشنا نیستند.
برنامهنویسی تابعی با پایتون
-
مقدمه بسیار کوتاه 02:51
-
پارادایم تابعی 06:33
-
ارسال توابع به عنوان آرگومانها 03:31
-
توابعی که توابع را بازگردانی میکنند 03:37
-
چالش مهارتی 01:29
-
راهحل 01:28
-
لیستهای توابع 03:13
-
چالش مهارتی 01:26
-
راهحل 07:23
-
توابع Order و Higher-Order 03:24
-
چالش مهارتی 01:48
-
راهحل 05:43
-
توابع ناخالص 05:42
-
خلوص به معنای حذف (در واقع، جداسازی) اثرات جانبی 06:55
-
ارزیابی Lazy در مقابل Eager 08:32
-
زنجیرهسازی عملیاتهای Lazy 04:46
-
لیستهای قابلتغییر 06:56
-
چالش مهارتی 01:38
-
راهحل 02:52
-
مطالب اضافی - عملیاتهای Undo و Redo با داده تغییرناپذیر 15:07
-
Aliasing و اثرات جانبی ناخواسته 04:25
-
توابع ناشناس 05:43
-
یک عبارت واحد 05:18
-
استفادههای خوب و بد 06:26
-
تودرتوسازی و لامبداهای داخلی 05:10
-
چالش مهارتی 01:17
-
راهحل 03:39
-
تبدیلات 06:02
-
نگاشت روی چندین iterable 04:36
-
توابع داخلی 06:17
-
چالش مهارتی 01:17
-
راهحل 04:57
-
zip اولیه 04:19
-
Strict Mode 04:34
-
Unzip کردن با Splat 05:49
-
ساخت دیکشنریها 03:22
-
مطالب اضافی - پایپلاین کردن تابعی 08:07
-
چالش مهارتی 02:16
-
راهحل 05:38
-
انتخاب اعلامی 04:42
-
چندین شرطی 07:08
-
مطالب اضافی - لامبداهای تودرتو 05:57
-
فیلترینگ زنجیرهای 05:17
-
چالش مهارتی 01:31
-
راهحل 04:19
-
مطالب اضافی - راهحل جایگزین با namedtuple 05:57
-
Any 07:38
-
All 04:01
-
Any و All با فیلتر و نقشه 06:15
-
نفی 05:20
-
منطق مدار کوتاه 04:39
-
چالش مهارتی 01:15
-
راهحل 05:10
-
Accumulate 05:46
-
Accumulator اولیه 10:43
-
چالش مهارتی 01:12
-
راهحل 03:04
-
کاربردهای بیشتر 09:52
-
چالش مهارتی - انکودینگ طول اجرا 01:35
-
راهحل 11:11
-
آشنایی با Comprehensions 06:08
-
List Comprehensions تودرتو 05:57
-
comprehension روی چندین iterable 03:19
-
چالش مهارتی 01:09
-
راهحل 03:47
-
از لیستها به مجموعهها 07:08
-
عملیاتهای پیشرفتهتر 04:56
-
چالش مهارتی 01:01
-
راهحل 05:13
-
چالش مهارتی اضافی - اعداد اول کارآمد 01:29
-
راهحل 05:32
-
ساخت دیکشنریهای جدید 07:03
-
یوزکیسهای بیشتر 08:36
-
چالش مهارتی 01:20
-
راهحل 04:49
-
راهحل جایگزین 04:48
-
مفاهیم و اصول 06:42
-
پیادهسازی پروتکل iterator 10:59
-
آشنایی با توابع ژنراتور 06:28
-
عبارات ژنراتور 04:12
-
ارتباطات دوطرفه با ژنراتورها 10:13
-
چالش مهارتی - ژنراتور فیبوناچی بینهایت 01:21
-
راهحل 02:36
-
راهحل جایگزین 02:48
-
مطالب اضافی - فیبوناچی با پنجره کشویی با Deque 10:00
-
پایپلاین کردن داده با استفاده از ژنراتورها 08:22
-
args* و kwargs** 13:07
-
چالش مهارتی 01:08
-
راهحل 04:27
-
بررسی دوباره توابع Higher Order 04:59
-
چالش مهارتی 01:24
-
راهحل 04:28
-
Closure چیست؟ 07:29
-
چالش مهارتی 01:41
-
راهحل 03:36
-
آشنایی با دکوراتورها 07:11
-
دکوراسیون توابع پارامتری شده 06:18
-
چالش مهارتی 02:19
-
راهحل 04:49
-
دکوراتورهای پیشرفته 09:09
-
زنجیرهسازی چندین دکوراتور 07:57
-
حفظ هویت با wraps@ 09:06
-
چالش مهارتی 03:10
-
راهحل 09:41
-
آشنایی با بازگشت 09:59
-
درختان بازگشت و روابط بازگشتی 04:00
-
چالش مهارتی 00:42
-
راهحل 01:52
-
بازگشت دنبالهای و محدودیتهای بازگشت در پایتون 07:23
-
بازگشت متقابل 08:22
-
تجزیه داده ساختاریافته با توابع بازگشتی 12:52
-
بهبود جزئی 05:45
-
چالش مهارتی - جستجوی باینری بازگشتی 03:31
-
راهحل 09:30
-
چالش مهارتی - سیگنیچر ریفکتور شده 01:39
-
راهحل 04:30
-
درک مفهومی 05:51
-
تعریف تابع Memoization 07:23
-
یوتیلیتیهای کش کردن از پیش تعریف شده 06:35
-
مطالب اضافی - Memoization درونخطی 04:02
-
اپلیکیشن تابع جزئی 06:49
-
چالش مهارتی 00:44
-
راهحل 02:35
-
توابع پلیمورفیک 10:01
-
یک نکته سریع 06:23
-
چالش مهارتی 01:52
-
راهحل 08:10
-
شمارش 06:26
-
چرخههای بینهایت 05:03
-
چرخههای محدود با تکرار 09:44
-
چالش مهارتی 01:12
-
راهحل 04:10
-
مقدمه بخش 01:45
-
تایپهای داده 02:35
-
متغیرها 08:27
-
عملگرهای تخصیص، حسابی و افزایش 07:16
-
اعداد صحیح و شناورها 08:54
-
بولیها و عملگرهای مقایسه 05:12
-
رشتهها 07:52
-
متدها 06:29
-
کانتینرها - بخش 1 - لیستها 06:08
-
لیستها در مقابل رشتهها 06:53
-
متدها و توابع لیست 07:54
-
کانتینرها - بخش 2 - تاپلها 04:43
-
کانتینرها - بخش 3 - مجموعهها 10:32
-
کانتینرها - بخش 4 - دیکشنریها 05:15
-
کلیدها و مقادیر دیکشنری 08:14
-
عملگرهای عضویت 04:28
-
کنترل جریان - if و else و elif 08:21
-
مقدار صحیح غیر بولیها 03:28
-
حلقههای For 05:05
-
دنباله range() Immutable 05:10
-
حلقههای While 05:55
-
Break و Continue 04:15
-
Zipping Iterables 03:39
-
List Comprehensions 07:47
-
تعریف توابع 10:18
-
آرگومانهای تابع - پوزیشنال در مقابل کلیدواژه 06:54
-
لامبداها 05:28
-
ایمپورت ماژولها 05:38
مشخصات آموزش
برنامهنویسی تابعی با پایتون
- تاریخ به روز رسانی: 1404/06/21
- سطح دوره:مقدماتی
- تعداد درس:160
- مدت زمان :14:28:23
- حجم :3.87GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy