آموزش Python 3: Deep Dive (قسمت 1 - کاربردی)

Python 3: Deep Dive (Part 1 - Functional)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: متغیرها، توابع و برنامه‌نویسی کاربردی، بسته‌ها، تزئینات، ماژول‌ها و بسته‌ها نگاهی عمیق به متغیرها، حافظه، فضاهای نام و دامنه‌ها بررسی عمیق در مدیریت و بهینه‌سازی حافظه پایتون درک عمیق و استفاده پیشرفته از انواع داده‌های عددی پایتون (Booleans) اعداد صحیح، شناورها، اعشار، کسرها، اعداد مختلط) عبارات و عملگرهای پیشرفته بولی استفاده پیشرفته از قابلیت های فراخوانی شامل توابع، لامبداها و بسته ها تکنیک های برنامه نویسی کاربردی مانند نقشه، کاهش، فیلتر و جزئی ایجاد دکوراتورهای پیشرفته، از جمله دکوراتورهای پارامتری، دکوراتورهای کلاس و کلاس‌های دکوراتور برنامه‌های دکوراتور پیشرفته مانند حافظه‌سازی و توابع عمومی تک ارسال استفاده و درک سیستم پیچیده ماژول و بسته Python اصطلاحی Python و بهترین روش‌ها درک زمان کامپایل پایتون و زمان اجرا و چگونگی تأثیر آن بر کد شما اجتناب از مشکلات رایج پیشها: دانش مقدماتی اولیه برنامه نویسی پایتون (V ariable ها، دستورات شرطی، حلقه ها، توابع، لیست ها، تاپل ها، دیکشنری ها، کلاس ها). شما به پایتون 3.6 یا بالاتر و یک محیط توسعه دلخواه (خط فرمان، PyCharm، Jupyter و غیره) نیاز دارید.

سلام!

این قسمت 1 از مجموعه دوره‌هایی است که برای بررسی مکانیک درونی و جنبه‌های پیچیده‌تر پایتون 3 طراحی شده است.

این یک دوره مبتدی نیست!

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

از طرف دیگر، اگر برای مدتی در پایتون مطالعه یا برنامه نویسی کرده اید و اکنون شروع به پرسیدن سوالاتی از خود کرده اید:

  • من نمی دانم چگونه این کار می کند؟

  • آیا راه دیگری برای انجام این کار وجود دارد؟

  • بسته شدن چیست؟ آیا همان لامبدا است؟

  • من می دانم چگونه از دکوراتوری که شخص دیگری نوشته است استفاده کنم، اما چگونه کار می کند؟ چگونه خود را بنویسم؟

  • چرا برخی از عبارات بولی مقدار بولی را بر نمی گرداند؟ چگونه می توانم از آن به نفع خود استفاده کنم؟

  • مکانیسم واردات در پایتون چگونه کار می‌کند، و چرا عوارض جانبی دارم؟

  • و انواع مشابه سوالات...

پس این دوره برای شماست.


برای استفاده حداکثری از این دوره، باید آماده باشید که ویدیوهای کدنویسی را مکث کنید و قبل از انجام من، سعی کنید کد بنویسید! در طول ویدیوهای مفهومی/تئوری بنشینید، اما به ویدیوهای کد تکیه کنید!


لطفاً مطمئن شوید که پیش نیازهای این دوره را مرور کرده اید (در زیر) - اگرچه من در ابتدای دوره به طور خلاصه به مفاهیم اولیه بازنگری می کنم، اما اینها مفاهیمی هستند که از قبل باید با آنها بسیار راحت باشید زیرا در این دوره هستید. .

در این مجموعه دوره، درک بسیار اساسی و عمیق تری از زبان پایتون و کتابخانه استاندارد به شما ارائه خواهم کرد.

پایتون به دلایل خوبی یک زبان «شامل باتری» نامیده می‌شود - قابلیت‌های زیادی در پایتون پایه وجود دارد که باید بررسی و مطالعه شود.

بنابراین این دوره در مورد توضیح کتابخانه های شخص ثالث مورد علاقه من نیست - در مورد پایتون، به عنوان یک زبان، و کتابخانه استاندارد است.

به ویژه این دوره بر اساس CPython متعارف است. همچنین برای مشاهده نوت‌بوک‌های Python با حاشیه‌نویسی کامل به Jupyter Notebook نیاز دارید.

این در مورد کمک به شما برای کاوش پایتون و پاسخ به سوالاتی است که از خود می‌پرسید، همانطور که بیشتر و بیشتر با این زبان توسعه می‌دهید.


در Python 3: Deep Dive (قسمت 1) نگاهی بسیار دقیق تر به موارد زیر خواهیم داشت:

  • متغیرها - به ویژه اینکه آنها فقط نمادهایی هستند که به اشیاء در حافظه اشاره می کنند (مرجع)

  • فضاهای نام و دامنه

  • انواع عددی پایتون

  • نوع بولی پایتون - یک عبارت ساده یا بیانیه بیشتر از آنچه فکر می کنید وجود دارد!

  • زمان اجرا در مقابل زمان کامپایل و نحوه تأثیر آن بر پیش فرض عملکرد، تزئینات، وارد کردن ماژول ها و غیره

  • عملکردها به طور کلی (از جمله لامبدا)

  • تکنیک های برنامه نویسی کاربردی (مانند نقشه، کاهش، فیلتر، zip و غیره)

  • بسته شدن

  • دکوراتورها

  • واردات، ماژول‌ها و بسته‌ها

  • قسمت‌ها به عنوان ساختار داده

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



پیش نیازهای دوره

این یک دوره آموزشی پایتون متوسط ​​تا پیشرفته است.

برای بهره مندی کامل از این دوره، باید با زبان اصلی پایتون از جمله:

راحت باشید
  • متغیرها و انواع ساده مانند انواع str , bool , int و float

  • حلقه‌های for و while

  • اگر...دیگر... اظهارات

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

  • تعریف توابع (با استفاده از عبارت def)

  • نوشتن کلاس‌های ساده با استفاده از کلمه کلیدی class و متد __init__، نوشتن روش‌های نمونه، ایجاد ویژگی‌های اولیه با استفاده از decorators@property

  • وارد کردن ماژول‌ها از کتابخانه استاندارد (مثلاً وارد کردن ریاضی)


همچنین باید:

  • پایتون 3.6 (یا بالاتر) را روی سیستم خود نصب کرده باشید

  • می توانید برنامه های پایتون را با استفاده از:

    بنویسید و اجرا کنید
    • خط فرمان، یا

    • یک IDE مورد علاقه (مانند PyCharm)،

  • نوت‌بوک‌های Jupyter را نصب کرده‌اند (که من در طول این دوره از آنها استفاده می‌کنم تا نمونه‌های کد پایتون را به طور کامل شرح‌داده‌شده در اختیار شما قرار دهم)


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

معرفی Introduction

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

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

  • پروژه های کد و نوت بوک Code Projects and Notebooks

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

بازنگری سریع - مروری بر مبانی A Quick Refresher - Basics Review

  • معرفی Introduction

  • سلسله مراتب نوع پایتون The Python Type Hierarchy

  • عبارات و رشته های چند خطی Multi-Line Statements and Strings

  • نام های متغیر Variable Names

  • شرایط Conditionals

  • کارکرد Functions

  • حلقه while The While Loop

  • شکستن، ادامه و بیانیه تلاش Break, Continue and the Try Statement

  • حلقه برای The For Loop

  • کلاس ها Classes

متغیرها و حافظه Variables and Memory

  • معرفی Introduction

  • متغیرها مرجع حافظه هستند Variables are Memory References

  • شمارش مراجع Reference Counting

  • مجموعه زباله Garbage Collection

  • تایپ پویا در مقابل استاتیک Dynamic vs Static Typing

  • تخصیص مجدد متغیر Variable Re-Assignment

  • تغییرپذیری شی Object Mutability

  • آرگومان های تابع و تغییرپذیری Function Arguments and Mutability

  • منابع مشترک و تغییرپذیری Shared References and Mutability

  • برابری متغیر Variable Equality

  • همه چیز یک شی است Everything is an Object

  • بهینه سازی پایتون: داخلی Python Optimizations: Interning

  • بهینه سازی پایتون: رشته داخلی Python Optimizations: String Interning

  • بهینه سازی پایتون: Peephole Python Optimizations: Peephole

انواع عددی Numeric Types

  • معرفی Introduction

  • اعداد صحیح: انواع داده ها Integers: Data Types

  • اعداد صحیح: عملیات Integers: Operations

  • اعداد صحیح: سازنده ها و پایه ها - سخنرانی Integers: Constructors and Bases - Lecture

  • اعداد صحیح: سازنده ها و پایه ها - کدگذاری Integers: Constructors and Bases - Coding

  • اعداد گویا - سخنرانی Rational Numbers - Lecture

  • اعداد گویا - کدگذاری Rationals Numbers - Coding

  • شناورها: نمایندگی های داخلی - سخنرانی Floats: Internal Representations - Lecture

  • شناورها: نمایندگی های داخلی - کدگذاری Floats: Internal Representations - Coding

  • شناورها: تست برابری - سخنرانی Floats: Equality Testing - Lecture

  • شناورها: تست برابری - کدگذاری Floats: Equality Testing - Coding

  • شناورها: اجبار به اعداد صحیح - سخنرانی Floats: Coercing to Integers - Lecture

  • شناورها: اجبار به اعداد صحیح - کدگذاری Floats: Coercing to Integers - Coding

  • شناورها: گرد کردن - سخنرانی Floats: Rounding - Lecture

  • شناورها: گرد کردن - کدگذاری Floats: Rounding - Coding

  • اعشار - سخنرانی Decimals - Lecture

  • اعشار - کدگذاری Decimals - Coding

  • اعشار: سازنده ها و زمینه ها - سخنرانی Decimals: Constructors and Contexts - Lecture

  • اعشار: سازنده ها و زمینه ها - کدگذاری Decimals: Constructors and Contexts - Coding

  • اعشار: عملیات ریاضی - سخنرانی Decimals: Math Operations - Lecture

  • اعشار: عملیات ریاضی - کدگذاری Decimals: Math Operations - Coding

  • اعشار: ملاحظات عملکرد Decimals: Performance Considerations

  • اعداد مختلط - سخنرانی Complex Numbers - Lecture

  • اعداد مختلط - کدگذاری Complex Numbers - Coding

  • بولین ها Booleans

  • Booleans: Truth Values ​​- Lecture Booleans: Truth Values - Lecture

  • Booleans: Truth Values ​​- Coding Booleans: Truth Values - Coding

  • Booleans: Precedence و Short-Circuiting - Lecture Booleans: Precedence and Short-Circuiting - Lecture

  • Booleans: Precedence و Short-Circuiting - Coding Booleans: Precedence and Short-Circuiting - Coding

  • Booleans: عملگرهای بولی - سخنرانی Booleans: Boolean Operators - Lecture

  • Booleans: اپراتورهای بولی - کدگذاری Booleans: Boolean Operators - Coding

  • اپراتورهای مقایسه Comparison Operators

پارامترهای تابع Function Parameters

  • معرفی Introduction

  • آرگومان در مقابل پارامتر Argument vs Parameter

  • استدلال های موضعی و کلیدواژه - سخنرانی Positional and Keyword Arguments - Lecture

  • آرگومان های موقعیت و کلیدواژه - کدگذاری Positional and Keyword Arguments - Coding

  • باز کردن موارد تکراری - سخنرانی Unpacking Iterables - Lecture

  • باز کردن موارد تکراری - کدگذاری Unpacking Iterables - Coding

  • باز کردن بسته بندی گسترده - سخنرانی Extended Unpacking - Lecture

  • باز کردن بسته بندی گسترده - کدگذاری Extended Unpacking - Coding

  • *args - سخنرانی *args - Lecture

  • *args - کدگذاری *args - Coding

  • استدلال کلیدواژه - سخنرانی Keyword Arguments - Lecture

  • آرگومان های کلیدواژه - کدگذاری Keyword Arguments - Coding

  • ** کوارگ **kwargs

  • قرار دادن همه آن ها با هم - سخنرانی Putting it all Together - Lecture

  • قرار دادن همه چیز در کنار هم - کدنویسی Putting it all Together - Coding

  • کاربرد: تایمر با عملکرد ساده Application: A Simple Function Timer

  • پیش فرض های پارامتر - مراقب باشید! Parameter Defaults - Beware!!

  • پیش فرض های پارامتر - دوباره مراقب باشید! Parameter Defaults - Beware Again!!

توابع درجه یک First-Class Functions

  • معرفی Introduction

  • Docstrings and Annotations - Lecture Docstrings and Annotations - Lecture

  • Docstrings و Annotations - کدنویسی Docstrings and Annotations - Coding

  • عبارات لامبدا - سخنرانی Lambda Expressions - Lecture

  • عبارات لامبدا - کدگذاری Lambda Expressions - Coding

  • لامبدا و مرتب سازی Lambdas and Sorting

  • چالش - تصادفی یک تکرار با استفاده از مرتب شده! Challenge - Randomize an Iterable using Sorted!!

  • درون نگری تابع - سخنرانی Function Introspection - Lecture

  • درون نگری تابع - کدگذاری Function Introspection - Coding

  • تماس گیرنده ها Callables

  • نقشه، فیلتر، فایل فشرده و فهرست درک - سخنرانی Map, Filter, Zip and List Comprehensions - Lecture

  • درک نقشه، فیلتر، زیپ و فهرست - کدگذاری Map, Filter, Zip and List Comprehensions - Coding

  • کاهش توابع - سخنرانی Reducing Functions - Lecture

  • کاهش توابع - کدگذاری Reducing Functions - Coding

  • توابع جزئی - سخنرانی Partial Functions - Lecture

  • توابع جزئی - کدگذاری Partial Functions - Coding

  • ماژول اپراتور - سخنرانی The operator Module - Lecture

  • ماژول اپراتور - کدگذاری The operator Module - Coding

محدوده ها، بسته ها و دکوراتورها Scopes, Closures and Decorators

  • معرفی Introduction

  • حوزه های جهانی و محلی - سخنرانی Global and Local Scopes - Lecture

  • دامنه های جهانی و محلی - کدگذاری Global and Local Scopes - Coding

  • حوزه های غیر محلی - سخنرانی Nonlocal Scopes - Lecture

  • محدوده های غیر محلی - کدگذاری Nonlocal Scopes - Coding

  • بسته ها - سخنرانی Closures - Lecture

  • بسته شدن - کدگذاری Closures - Coding

  • برنامه های بسته شدن - قسمت 1 Closure Applications - Part 1

  • برنامه های بسته شدن - قسمت 2 Closure Applications - Part 2

  • دکوراتورها (قسمت اول) - سخنرانی Decorators (Part 1) - Lecture

  • دکوراتورها (قسمت اول) - کدنویسی Decorators (Part 1) - Coding

  • برنامه دکوراتور (تایمر) Decorator Application (Timer)

  • برنامه دکوراتور (لوگر، دکوراتورهای انباشته) Decorator Application (Logger, Stacked Decorators)

  • برنامه دکوراتور (حافظه نویسی) Decorator Application (Memoization)

  • دکوراتورها (قسمت دوم) - سخنرانی Decorators (Part 2) - Lecture

  • دکوراتورها (قسمت دوم) - کدنویسی Decorators (Part 2) - Coding

  • برنامه دکوراتور (کلاس دکوراتور) Decorator Application (Decorator Class)

  • برنامه دکوراتور (کلاس های دکوراسیون) Decorator Application (Decorating Classes)

  • برنامه دکوراتور (Dispatching) - قسمت 1 Decorator Application (Dispatching) - Part 1

  • برنامه دکوراتور (Dispatching) - قسمت 2 Decorator Application (Dispatching) - Part 2

  • برنامه دکوراتور (Dispatching) - قسمت 3 Decorator Application (Dispatching) - Part 3

تاپل ها به عنوان ساختارهای داده و تاپل های نامگذاری شده Tuples as Data Structures and Named Tuples

  • معرفی Introduction

  • تاپل ها به عنوان ساختارهای داده - سخنرانی Tuples as Data Structures - Lecture

  • تاپل ها به عنوان ساختارهای داده - کدگذاری Tuples as Data Structures - Coding

  • به نام تاپلز - سخنرانی Named Tuples - Lecture

  • به نام تاپلز - کد نویسی Named Tuples - Coding

  • به نام تاپلز - اصلاح و گسترش - سخنرانی Named Tuples - Modifying and Extending - Lecture

  • به نام تاپلز - اصلاح و گسترش - کدگذاری Named Tuples - Modifying and Extending - Coding

  • Named Tuples - DocStrings و مقادیر پیش فرض - Lecture Named Tuples - DocStrings and Default Values - Lecture

  • Tuples با نام - DocStrings و مقادیر پیش فرض - کدگذاری Named Tuples - DocStrings and Default Values - Coding

  • تاپل های نامگذاری شده - برنامه کاربردی - مقادیر چندگانه برگردانده می شود Named Tuples - Application - Returning Multiple Values

  • Named Tuples - Application - جایگزینی برای دیکشنری ها Named Tuples - Application - Alternative to Dictionaries

ماژول ها، بسته ها و فضاهای نام Modules, Packages and Namespaces

  • معرفی Introduction

  • ماژول چیست؟ What is a Module?

  • پایتون چگونه ماژول ها را وارد می کند؟ How does Python Import Modules?

  • واردات و importlib Imports and importlib

  • انواع واردات و تصورات غلط - سخنرانی Import Variants and Misconceptions - Lecture

  • انواع واردات و تصورات غلط - کدگذاری Import Variants and Misconceptions - Coding

  • بارگذاری مجدد ماژول ها Reloading Modules

  • با استفاده از __main__ Using __main__

  • خلاصه ماژول ها Modules Recap

  • پکیج ها چیست؟ - سخنرانی What are Packages? - Lecture

  • پکیج ها چیست؟ - کد نویسی What are Packages ? - Coding

  • چرا بسته ها؟ Why Packages?

  • بسته های ساختاری - قسمت 1 Structuring Packages - Part 1

  • بسته های ساختاری - قسمت 2 Structuring Packages - Part 2

  • بسته های فضای نام Namespace Packages

  • وارد کردن از آرشیو Zip Importing from Zip Archives

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

  • پایتون 3.10 Python 3.10

  • پایتون 3.9 Python 3.9

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

  • نکات برجسته پایتون 3.6 Python 3.6 Highlights

  • Python 3.6 - Dictionary Ordering Python 3.6 - Dictionary Ordering

  • پایتون 3.6 - خط زیر در حروف عددی Python 3.6 - Underscores in Numeric Literals

  • پایتون 3.6 - ترتیب حفظ شده کوارگ ها و برنامه تاپل نامگذاری شده Python 3.6 - Preserved Order of kwargs and Named Tuple Application

  • پایتون 3.6 - f-strings Python 3.6 - f-Strings

موارد اضافی Extras

  • معرفی Introduction

  • منابع اضافی Additional Resources

  • تصادفی: دانه ها Random: Seeds

  • انتخاب های تصادفی Random Choices

  • نمونه های تصادفی Random Samples

  • کد زمان با استفاده از *timeit* Timing code using *timeit*

  • از نام *args و **kwargs کورکورانه استفاده نکنید Don't Use *args and **kwargs Names Blindly

  • آرگومان های خط فرمان Command Line Arguments

  • مقادیر نگهبان برای پیش‌فرض پارامترها Sentinel Values for Parameter Defaults

  • شبیه سازی یک سوئیچ ساده در پایتون Simulating a simple switch in Python

نمایش نظرات

آموزش Python 3: Deep Dive (قسمت 1 - کاربردی)
جزییات دوره
46 hours
162
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
47,389
4.8 از 5
دارد
دارد
دارد
Fred Baptiste
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Fred Baptiste Fred Baptiste

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