آموزش Python 3: Deep Dive (قسمت 2 - تکرار، ژنراتورها)

Python 3: Deep Dive (Part 2 - Iteration, Generators)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: Sequences، Iterables، Iterators، Generators، Context Managers and Generator-based Coroutines شما می توانید از مفاهیم این دوره استفاده کنید تا مهارت های برنامه نویسی پایتون خود را به سطح بعدی ببرید. انواع توالی و پروتکل توالی Iterables و پروتکل تکرار شونده Iterators و پروتکل تکرار شونده فهرست درک و ارتباط آنها با بسته ها توابع ژنراتور عبارات ژنراتور مدیران زمینه ایجاد مدیران زمینه با استفاده از توابع مولد استفاده از Generator به عنوان Coroutine پیشها: این یک دوره نسبتا پیشرفته است. شما باید قبلاً با مفاهیم پایه پایتون و همچنین مقداری دانش عمیق همانطور که در پیش نیازها در توضیحات دوره توضیح داده شده است آشنا باشید. لطفا مطمئن شوید که آنها را بررسی کرده و مطمئن شوید! شما به پایتون 3.6 یا بالاتر و یک محیط توسعه دلخواه (خط فرمان، PyCharm، Jupyter و غیره) نیاز دارید.

قسمت 2 این مجموعه Python 3: Deep Dive نگاهی عمیق است به:

  • توالی ها

  • تکرارها

  • تکرار کننده ها

  • ژنراتورها

  • درک ها

  • مدیران زمینه

  • برنامه های مبتنی بر ژنراتور

من دقیقاً به شما نشان خواهم داد که تکرار در پایتون چگونه کار می کند - از پروتکل توالی، تا پروتکل های تکرار شونده و تکرار شونده، و چگونه می توانیم دنباله و انواع داده های تکرار شونده خود را بنویسیم.

برای توضیح برش دنباله‌ای و نحوه ارتباط برش با محدوده‌ها وارد جزئیات می‌شویم.

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

ما یک ماژول itertools را بررسی خواهیم کرد و به همه عملکردهای موجود در آنجا و میزان مفید بودن آنها (اما نادیده گرفته شده!) نگاه خواهیم کرد.

ما همچنین به توابع مولد، رابطه آن‌ها با تکرارکننده‌ها و همتاهای درک آن‌ها (عبارات مولد) نگاه می‌کنیم.

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

در نهایت، نحوه استفاده از ژنراتورها برای ایجاد کوروتین ها را بررسی خواهیم کرد.

هر بخش توسط پروژه ای طراحی شده است تا آنچه را که در طول دوره یاد می گیرید به صورت عملی اجرا کند.

این مجموعه دوره بر روی زبان پایتون و کتابخانه استاندارد متمرکز شده است. فقط در توزیع استاندارد CPython مقدار زیادی کارکرد و چیزهایی برای درک وجود دارد، بنابراین من کتابخانه‌های شخص ثالث را پوشش نمی‌دهم - این یک شیرجه عمیق پایتون است، نه یک کاوش در بسیاری از کتابخانه‌های شخص ثالث بسیار مفید که در اطراف پایتون رشد کرده‌اند. - آنها اغلب به اندازه کافی بزرگ هستند که یک دوره کامل را برای خودشان تضمین کنند! در واقع، بسیاری از آنها در حال حاضر این کار را انجام می دهند!


***** پیش نیازها *****

لطفاً توجه داشته باشید که این یک دوره نسبتاً پیشرفته پایتون است و دانش قوی در مورد برخی از موضوعات در پایتون مورد نیاز است.

به طور خاص، شما باید قبلاً درک عمیقی از موضوعات زیر داشته باشید:

  • توابع و آرگومان های تابع

  • بسته بندی و بازکردن تکرارپذیرها و نحوه استفاده از آن با آرگومان های تابع (یعنی استفاده از * )

  • بسته شدن

  • دکوراتور

  • مقادیر صدق بولی و اینکه چگونه هر شیئی یک مقدار حقیقت مرتبط دارد

  • تاپل های نامگذاری شده

  • عملکردهای فشرده، نقشه، فیلتر، مرتب‌سازی، کاهش

  • لامبدا

  • وارد کردن ماژول ها و بسته ها


شما همچنین باید در مورد موضوعات زیر دانش اولیه داشته باشید:

  • انواع داده‌های مختلف (عددی، رشته‌ای، فهرست‌ها، تاپل‌ها، دیکشنری‌ها، مجموعه‌ها و غیره)

  • حلقه‌ها، while حلقه‌ها، شکستن، ادامه، عبارت else

  • اگر عبارات

  • سعی کنید...به جز...دیگر...در نهایت...

  • دانش اولیه نحوه ایجاد و استفاده از کلاس ها (روش ها، ویژگی ها) - بدون نیاز به موضوعات پیشرفته مانند کلاس های ارثی یا متا

  • درک نحوه استفاده از روش‌های خاص خاص در کلاس‌ها (مانند __init__، __eq__، __lt__، و غیره)



سرفصل ها و درس ها

معرفی Introduction

  • بررسی اجمالی دوره Course Overview

  • پیش نیازها Pre-Requisites

  • ابزار پایتون مورد نیاز است Python Tools Needed

  • اسلایدهای دوره Course Slides

انواع توالی Sequence Types

  • معرفی Introduction

  • انواع توالی - سخنرانی Sequence Types - Lecture

  • انواع توالی - کدگذاری Sequence Types - Coding

  • انواع توالی قابل تغییر - سخنرانی Mutable Sequence Types - Lecture

  • انواع توالی قابل تغییر - کدگذاری Mutable Sequence Types - Coding

  • لیست ها در مقابل تاپلز Lists vs Tuples

  • پایه شاخص و مرزهای برش - منطق Index Base and Slice Bounds - Rationale

  • توالی کپی - سخنرانی Copying Sequences - Lecture

  • توالی کپی - کد نویسی Copying Sequences - Coding

  • برش - سخنرانی Slicing - Lecture

  • برش - کدگذاری Slicing - Coding

  • دنباله های سفارشی - قسمت 1 - سخنرانی Custom Sequences - Part 1 - Lecture

  • دنباله های سفارشی - قسمت 1 - کدگذاری Custom Sequences - Part 1 - Coding

  • الحاق و تکرار در محل - سخنرانی In-Place Concatenation and Repetition - Lecture

  • الحاق و تکرار در محل - کدگذاری In-Place Concatenation and Repetition - Coding

  • تکالیف در توالی های قابل تغییر - سخنرانی Assignments in Mutable Sequences - Lecture

  • تکالیف در توالی های قابل تغییر - کدگذاری Assignments in Mutable Sequences - Coding

  • دنباله های سفارشی - قسمت 2 - سخنرانی Custom Sequences - Part 2 - Lecture

  • دنباله های سفارشی - قسمت 2A - کدگذاری Custom Sequences - Part 2A - Coding

  • دنباله های سفارشی - قسمت 2B - کدگذاری Custom Sequences - Part 2B - Coding

  • دنباله های سفارشی - قسمت 2C - کدگذاری Custom Sequences - Part 2C - Coding

  • مرتب سازی توالی - سخنرانی Sorting Sequences - Lecture

  • مرتب سازی دنباله ها - کدگذاری Sorting Sequences - Coding

  • فهرست مفاهیم - سخنرانی List Comprehensions - Lecture

  • فهرست درک - کدگذاری List Comprehensions - Coding

پروژه 1 Project 1

  • شرح پروژه Project Description

  • راه حل پروژه: هدف 1 Project Solution: Goal 1

  • راه حل پروژه: هدف 2 Project Solution: Goal 2

تکرار شونده ها و تکرار کننده ها Iterables and Iterators

  • معرفی Introduction

  • مجموعه های تکراری - سخنرانی Iterating Collections - Lecture

  • Iterating Collections - Coding Iterating Collections - Coding

  • تکرار کنندگان - سخنرانی Iterators - Lecture

  • Iterators - کدنویسی Iterators - Coding

  • تکرار کننده ها و تکرار شوندگان - سخنرانی Iterators and Iterables - Lecture

  • Iterators و Iterables - کدگذاری Iterators and Iterables - Coding

  • مثال 1 - مصرف کننده تکرار کننده به صورت دستی Example 1 - Consuming Iterators Manually

  • مثال 2 - تکرار کننده های چرخه ای Example 2 - Cyclic Iterators

  • تکراری های تنبل - سخنرانی Lazy Iterables - Lecture

  • Lazy Iterables - کدنویسی Lazy Iterables - Coding

  • تکرار شونده ها و تکرار کننده های داخلی پایتون - سخنرانی Python's Built-In Iterables and Iterators - Lecture

  • تکرار شونده ها و تکرار کننده های داخلی پایتون - کدنویسی Python's Built-In Iterables and Iterators - Coding

  • مرتب سازی تکرار شونده ها Sorting Iterables

  • تابع iter() - Lecture The iter() Function - Lecture

  • تابع iter() - کدگذاری The iter() Function - Coding

  • تکرار تماس - سخنرانی Iterating Callables - Lecture

  • تکرار تماس - کدنویسی Iterating Callables - Coding

  • مثال 3 - تفویض اختیار تکرار کنندگان Example 3 - Delegating Iterators

  • تکرار معکوس - سخنرانی Reversed Iteration - Lecture

  • تکرار معکوس - کدگذاری Reversed Iteration - Coding

  • هشدار: استفاده از تکرار کننده ها به عنوان آرگومان های تابع Caveat: Using Iterators as Function Arguments

پروژه 2 Project 2

  • شرح پروژه Project Description

  • راه حل پروژه: هدف 1 Project Solution: Goal 1

  • راه حل پروژه: هدف 2 Project Solution: Goal 2

ژنراتورها Generators

  • معرفی Introduction

  • توابع بازده و ژنراتور - سخنرانی Yielding and Generator Functions - Lecture

  • عملکردهای بازده و ژنراتور - کدگذاری Yielding and Generator Functions - Coding

  • مثال - دنباله فیبوناچی Example - Fibonacci Sequence

  • ساخت یک تکرارپذیر از یک ژنراتور - سخنرانی Making an Iterable from a Generator - Lecture

  • ساخت یک تکرارپذیر از یک ژنراتور - کدگذاری Making an Iterable from a Generator - Coding

  • مثال - عرشه کارت Example - Card Deck

  • عبارات و عملکرد ژنراتور - سخنرانی Generator Expressions and Performance - Lecture

  • عبارات و عملکرد ژنراتور - کدگذاری Generator Expressions and Performance - Coding

  • بازده از - سخنرانی Yield From - Lecture

  • بازده از - کدگذاری Yield From - Coding

پروژه 3 Project 3

  • شرح پروژه Project Description

  • راه حل پروژه: هدف 1 Project Solution: Goal 1

  • راه حل پروژه: هدف 2 Project Solution: Goal 2

ابزارهای تکرار Iteration Tools

  • معرفی Introduction

  • تجمع کنندگان - سخنرانی Aggregators - Lecture

  • جمع کننده ها - کدگذاری Aggregators - Coding

  • برش - سخنرانی Slicing - Lecture

  • برش - سخنرانی Slicing - Lecture

  • برش - کدگذاری Slicing - Coding

  • انتخاب و فیلتر کردن - سخنرانی Selecting and Filtering - Lecture

  • انتخاب و فیلتر کردن - کدگذاری Selecting and Filtering - Coding

  • تکرار کنندگان بی نهایت - سخنرانی Infinite Iterators - Lecture

  • تکرار کننده های بی نهایت - کدگذاری Infinite Iterators - Coding

  • زنجیر زدن و تینگ - سخنرانی Chaining and Teeing - Lecture

  • زنجیر زدن و تینگ - کدگذاری Chaining and Teeing - Coding

  • نقشه برداری و کاهش - سخنرانی Mapping and Reducing - Lecture

  • نقشه برداری و کاهش - کدگذاری Mapping and Reducing - Coding

  • زیپ - سخنرانی Zipping - Lecture

  • زیپ - کدگذاری Zipping - Coding

  • گروه بندی - سخنرانی Grouping - Lecture

  • گروه بندی - کدگذاری Grouping - Coding

  • ترکیبیات - سخنرانی Combinatorics - Lecture

  • ترکیبیات - کدگذاری (محصول) Combinatorics - Coding (Product)

  • ترکیبیات - کدگذاری (جایگشت، ترکیب) Combinatorics - Coding (Permutation, Combination)

پروژه 4 Project 4

  • شرح پروژه Project - Description

  • راه حل پروژه: هدف 1 Project Solution: Goal 1

  • راه حل پروژه: هدف 2 Project Solution: Goal 2

  • راه حل پروژه: هدف 3 Project Solution: Goal 3

  • راه حل پروژه: هدف 4 Project Solution: Goal 4

مدیران زمینه Context Managers

  • معرفی Introduction

  • مدیران زمینه - سخنرانی Context Managers - Lecture

  • مدیران زمینه - کدنویسی Context Managers - Coding

  • هنگام استفاده با Lazy Iterators هشدار دهید Caveat when used with Lazy Iterators

  • نه فقط یک مدیر زمینه Not just a Context Manager

  • کاربردهای اضافی - سخنرانی Additional Uses - Lecture

  • کاربردهای اضافی - کدنویسی Additional Uses - Coding

  • مولدها و مدیران زمینه - سخنرانی Generators and Context Managers - Lecture

  • مولدها و مدیران زمینه - کدنویسی Generators and Context Managers - Coding

  • The contextmanager دکوراتور - سخنرانی The contextmanager Decorator - Lecture

  • Contextmanager Decorator - Coding The contextmanager Decorator - Coding

  • مدیران زمینه تو در تو Nested Context Managers

پروژه 5 Project 5

  • شرح پروژه Project - Description

  • راه حل پروژه: هدف 1 Project Solution: Goal 1

  • راه حل پروژه: هدف 1 Project Solution: Goal 1

  • راه حل پروژه: هدف 2 Project Solution: Goal 2

  • راه حل پروژه: هدف 2 Project Solution: Goal 2

به روز رسانی پایتون Python Updates

  • پایتون 3.10 Python 3.10

  • پایتون 3.9 Python 3.9

  • پایتون 3.8/3.7 Python 3.8 / 3.7

ژنراتورها به عنوان کوروتین (منسوخ شده) Generators as Coroutines (DEPRECATED)

  • نکته مهم - ابتدا بخوانید IMPORTANT NOTE - READ FIRST

  • معرفی Introduction

  • معرفی Introduction

  • کوروتین ها - سخنرانی Coroutines - Lecture

  • Coroutines - کدگذاری Coroutines - Coding

  • ایالات مولد - سخنرانی Generator States - Lecture

  • کشورهای مولد - کدگذاری Generator States - Coding

  • ارسال به ژنراتورها - سخنرانی Sending to Generators - Lecture

  • ارسال به ژنراتورها - کدگذاری Sending to Generators - Coding

  • بسته شدن ژنراتورها - سخنرانی Closing Generators - Lecture

  • بستن ژنراتورها - کدگذاری Closing Generators - Coding

  • ارسال استثناها به ژنراتورها - سخنرانی Sending Exceptions to Generators - Lecture

  • ارسال استثناها به ژنراتورها - کدگذاری Sending Exceptions to Generators - Coding

  • استفاده از دکوراتورها برای آغاز کارها - سخنرانی Using Decorators to Prime Coroutines - Lecture

  • استفاده از دکوراتورها برای آغاز کردن کوروتین ها - کدگذاری Using Decorators to Prime Coroutines - Coding

  • بازده از - ارتباطات دو طرفه - سخنرانی Yield From - Two-Way Communications - Lecture

  • بازده از - ارتباطات دو طرفه - کدگذاری Yield From - Two-Way Communications - Coding

  • بازده از - ارسال داده ها - سخنرانی Yield From - Sending Data - Lecture

  • بازده از - ارسال داده ها - کدگذاری Yield From - Sending Data - Coding

  • بازده از - بسته شدن و بازگشت - سخنرانی Yield From - Closing and Return - Lecture

  • بازده از - بسته شدن و بازگشت - کدگذاری Yield From - Closing and Return - Coding

  • بازده از - پرتاب استثنا - سخنرانی Yield From - Throwing Exceptions - Lecture

  • بازده از - پرتاب استثناها - کدگذاری Yield From - Throwing Exceptions - Coding

  • کاربرد - خطوط لوله - سخنرانی Application - Pipelines - Lecture

  • برنامه - خطوط لوله - کشش داده ها Application - Pipelines - Pulling Data

  • برنامه - خطوط لوله - فشار دادن داده ها Application - Pipelines - Pushing Data

  • برنامه - خطوط لوله - داده های پخش Application - Pipelines - Broadcasting Data

پروژه 6 (منسوخ شده - مربوط به بخش منسوخ قبلی) Project 6 (DEPRECATED - relates to preceding deprecated section)

  • شرح پروژه Project Description

  • شرح پروژه Project Description

  • راه حل پروژه Project Solution

نمایش نظرات

آموزش Python 3: Deep Dive (قسمت 2 - تکرار، ژنراتورها)
جزییات دوره
36 hours
142
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
28,493
4.9 از 5
دارد
دارد
دارد
Fred Baptiste
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Fred Baptiste Fred Baptiste

برنامه نویس و ریاضیدان حرفه ای