مطالب پیشنهادی از سراسر وب

دوره شیرجه عمیق به پایتون 3 - بخش 4 - OOP

دسته بندی ها: آموزش پایتون (Python) ، آموزش های یودمی (Udemy) ، آموزش های ویژه

برنامه نویسی شی گرا پایتون (OOP)

توضیحات دوره

این دوره نگاهی عمیق تر به برنامه نویسی شی گرا در پایتون می اندازد.

موضوعات اصلی دوره

  • کلاس و instance چیست؟
  • داده کلاس و attributes تابع
  • properties
  • نمونه، کلاس و متد استاتیک
  • وراثت تک
  • اسلات ها
  • پروتکل توصیف کننده و ارتباط آن با خواص و کارکردها
  • enumerations
  • استثناها
  • متاپروگرمینگ (متا کلاس ها)

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

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

  • برنامه نویسی کاربردی عمیق پایتون
  • توابع، closures، اسکوپ ها، دکوراتورها (استفاده و نوشتن آنها)
  • فشرده سازی، مرتب سازی، همه  و ماژول itertools به طور کلی
  • توالی ها، iterables، iterators  و ژنراتورها (آنها چه هستند و نحوه پیاده سازی پروتکل های مربوطه)
  • ژنراتورها، yield و مدیران زمینه
  • انواع نقشه برداری، هش و رابطه با برابری شی
  • برخی از دانش قبلی درباره مفاهیم اساسی OOP
  • می دانید که چگونه با محیط های مجازی Python و نصب پیپ کار کنید
  • قابلیت دسترسی به Jupyter Notebook (رایگان) برای دنبال کردن ocurse notebooks
  • نحوه استفاده از git

[توجه داشته باشید که این یک دوره به سبک آشپزی نیست - این دوره به شما نشان نمی دهد که چگونه مشکلات خاص را حل کنید، بلکه نگاه گسترده و عمیق به نحوه عملکرد OOP در زمینه پایتون را نشان می دهد و به شما این امکان را می دهد تا مفاهیم و تکنیک های مربوط به مشکلات خودتان.]

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

توسعه دهندگان با تجربه در سطح متوسط  پایتون که می خواهند درک عمیق تری از Python OOP داشته باشند.

آنچه یاد خواهید گرفت

  • مفاهیم شی گرایی پایتون
  • کلاس ها
  • متدها و اتصالات
  • نمونه، کلاس، متدهای استاتیک
  • Properties
  • دکوراتیوهای Property
  • وراثت تکی
  • اسلات ها
  • دسکریپتورها
  • Enumerations
  • استثناها
  • Metaprogramming

پیش نیازها

  • دانش قوی از پایتون تابعی
  • Closures و Decorators
  • Iterators ، Iterables و Generators
  • انواع نقشه برداری ، هشینینگ
  • برخی از مواجهه با OOP اساسی

سایر بخش های دوره:

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

  • مقدمه
    • معرفی
    • پیش نیازها
  • کلاس ها
    • آبجکت ها و کلاس ها - لکچر
    • آبجکت ها و کلاس ها - کدنویسی
    • Class Attributes - لکچر
    • Class Attributes - کدنویسی
    • Callable Class Attributes - لکچر
    • Callable Class Attributes - کدنویسی
    • کلاس ها Callables هستند - لکچر
    • کلاس ها Callables هستند - کدنویسی
    • Data Attributes - لکچر
    • Data Attributes - کدنویسی
    • Function Attributes - لکچر
    • Function Attributes - کدنویسی
    • تنظیم نمونه های کلاس - لکچر
    • تنظیم نمونه های کلاس - کدنویسی
    • ایجاد Attributes در زمان اجرا - لکچر
    • ایجاد Attributes در زمان اجرا - کدنویسی
    • Properties - لکچر
    • Properties - کدنویسی
    • Property Decorators - لکچر
    • Property Decorators - کدنویسی
    • Read-Only و Computed Properties - لکچر
    • Read-Only و Computed Properties - کدنویسی
    • حذف Properties - لکچر
    • حذف Properties - کدنویسی 
    • برخی سوالات درباره Property Class
    • کلاس و متدهای استاتیک - لکچر
    • کلاس و متدهای استاتیک - کدنویسی 
    • Python Builtin و Standard Types
    • Class Body Scope - لکچر
    • Class Body Scope - کدنویسی 
    • جمع بندی
  • پروژه 1
    • توضیحات پروژه
    • راه حل پروژه - TimeZone
    • راه حل پروژه - Transaction Numbers
    • راه حل پروژه - شمارش اعداد و اسامی
    • راه حل پروژه - منطقه زمانی ترجیحی
    • راه حل پروژه - موجودی حساب
    • راه حل پروژه - نرخ بهره
    • راه حل پروژه - کدهای تراکنش ها
    • راه حل پروژه - کدهای تأیید
    • راه حل پروژه - تراکنش ها
    • راه حل پروژه - تست با تست واحد 
  • پلی مورفیسم و متدهای خاص
    • مقدمه 
    • متدهای __str__ و __repr__ - لکچر
    • متدهای __str__ و __repr__ - کدنویسی
    • اپراتورهای حسابی - لکچر
    • اپراتورهای حسابی - کدنویسی
    • مقایسه های غنی - لکچر
    • مقایسه های غنی - کدنویسی
    • هش کردن و برابری - لکچر
    • هش کردن و برابری - کدنویسی 
    • Booleans - لکچر
    • Booleans - کدنویسی
    • Callables - لکچر
    • Callables - کدنویسی
    • متد __del__ - لکچر
    • متد  __del__ - کدنویسی
    • متد __format__ - لکچر
    • متد __format__ - کدنویسی 
  • پروژه 2
    • توضیحات پروژه
    • راه حل پروژه
  • وراثت تک
    • معرفی
    • وراثت تک - لکچر
    • وراثت تک - کدنویسی 
    • کلاس آبجکت - لکچر
    • کلاس آبجکت - کدنویسی
    • Overriding - لکچر
    • Overriding - کدنویسی 
    • گسترش - لکچر
    • گسترش - کدنویسی
    • Delegating to Parent - لکچر
    • Delegating to Parent - کدنویسی 
    • اسلات ها - لکچر
    • اسلات ها - کدنویسی
    • اسلات ها و وراثت تک - لکچر
    • اسلات ها و وراثت تک - کدنویسی
  • پروژه 3
    • پروژه 3 - توضیحات
    • راه حل پروژه - رویکرد و راه اندازی
    • راه حل پروژه - اعتبار سنج ها و تست ها 
    • راه حل پروژه - کلاس مراجع و تست ها
    • راه حل پروژه - CPU class و تست ها
    • راه حل پروژه - Storage class و تست ها
    • راه حل پروژه - تست ها و کلاس های HDD and SSD
  • Descriptors
    • مقدمه
    • Descriptors - لکچر
    • Descriptors - کدنویسی
    • Getters و Setters - لکچر
    • Getters و Setters - کدنویسی
    • استفاده از Instance Properties - لکچر
    • استفاده از Instance Properties - کدنویسی
    • مراجع قوی و ضعیف - لکچر
    • مراجع قوی و ضعیف - کدنویسی
    • بازگشت به Instance Properties - لکچر
    • بازگشت به Instance Properties - کدنویسی
    • متد __set_name__ - لکچر
    • متد __set_name__ - کدنویسی
    • Property Lookup Resolution - لکچر
    • Property Lookup Resolution - کدنویسی
    • Properties و Descriptors - لکچر
    • Properties و Descriptors - کدنویسی
    • اپلیکیشن - مثال 1
    • اپلیکیشن - مثال 2
    • توابع و Descriptors - لکچر
    • توابع و Descriptors - کدنویسی
  • پروژه 4
    • توضیح پروژه
    • راه حل - بخش 1
    • راه حل - بخش 2
  • Enumerations
    • معرفی
    • ایجاد موردی برای Enumerations
    • Enumerations - لکچر
    • Enumerations - کدنویسی
    • Aliases - لکچر
    • Aliases - کدنویسی
    • سفارش سازی/گسترش Enums - لکچر
    • سفارش سازی/گسترش Enums - کدنویسی
    • مقادیر خودکار - لکچر
    • مقادیر خودکار - کدنویسی
  • پروژه 5
    • توضیحات پروژه
    • راه حل پروژه
  • استثنائات (وراثت تک)
    • معرفی
    • استثنائات پایتون - لکچر
    • استثنائات پایتون - کدنویسی
    • مدیریت استثنا - لکچر
    • مدیریت استثنا - کدنویسی 
    • افزایش استثنائات - لکچر
    • افزایش استثنائات - کدنویسی
    • استثنائات سفارشی - لکچر
    • استثنائات سفارشی - کدنویسی
  • پروژه 6
    • توضیح پروژه
    • راه حل پروژه
  • Metaprogramming
    • مقدمه
    • Decorators و Descriptors - بررسی
    • متد __new__ - لکچر
    • متد __new__ - کدنویسی
    • کلاس ها چگونه ایجاد می شوند - لکچر
    •  کلاس ها چگونه ایجاد می شوند - کدنویسی
    • وراثت از تایپ - لکچر
    • وراثت از تایپ - کدنویسی
    • Metaclasses - لکچر
    • Metaclasses - کدنویسی
    • Class Decorators - لکچر
    • Class Decorators - کدنویسی
    • Decorator Classes - لکچر
    • Decorator Classes - کدنویسی 
    • Metaclass درمقابل Class Decorator - لکچر
    • Metaclass درمقابل Class Decorator - کدنویسی
    • پارامترهای Metaclass - لکچر
    • پارامترهای Metaclass - کدنویسی 
    • متد __prepare__ - لکچر
    • متد __prepare__ - کدنویسی
    • کلاس ها، متاکلاس ها، و __call__
    • Metaprogramming Application بخش 1
    • Metaprogramming Application بخش 2
    • Metaprogramming Application بخش 3
    • Attribute Read Accessors - لکچر
    • Attribute Read Accessors - کدنویسی
    • Attribute Write Accessors - لکچر
    • Attribute Write Accessors- کدنویسی
    • Accessors - Application

ویدئوهای دوره:

پیش نیازها

 

آیا این نوشته را دوست داشتید؟
Python 3: Deep Dive (Part 4 - OOP) Publisher:Udemy Author:Fred Baptiste Duration:35 h Level:Advanced

Python Object Oriented Programming (OOP)

Description

This Python3: Deep Dive Part 4 course takes a closer look at object oriented programming (OOP) in Python.

MAIN COURSE TOPICS

  • what are classes and instances
  • class data and function attributes
  • properties
  • instance, class and static methods
  • polymorphism and the role special functions play in this
  • single inheritance
  • slots
  • the descriptor protocol and its relationship to properties and functions
  • enumerations
  • exceptions
  • metaprogramming (including metaclasses)

 COURSE PREREQUISITES

Please note this is NOT a beginner level course. You must have a strong working knowledge of functional Python programming as well as some practical experience developing Python applications in order to fully benefit from this course.

  • In-depth functional Python programming
  • functions, closures, scopes, decorators (using and writing them)
  • zip, sorted, any, all, and the itertools module in general
  • sequences, iterables, iterators and generators (what they are and how to implement the corresponding protocols)
  • generators, yield, and context managers
  • mapping types, hashing and relation to object equality
  • some prior knowledge of basic OOP concepts
  • know how to work with Python virtual environments and pip install
  • available Jupyter Notebook (freely available) to follow along with the course notebooks
  • how to use git

[Please note that this is not a cookbook style course - I don't show you how to solve specific problems, but rather a broad and in-depth look at how OOP works in the context of Python, that will allow you to apply these concepts and techniques to your own problems.]

Who this course is for:

Experienced intermediate Python developers who want a more in-depth understanding of Python OOP

What you'll learn

  • Python Object Oriented Concepts
  • Classes
  • Methods and Binding
  • Instance, Class and Static Methods
  • Properties
  • Property Decorators
  • Single Inheritance
  • Slots
  • Descriptors
  • Enumerations
  • Exceptions
  • Metaprogramming

Requirements

  • Strong knowledge of functional Python
  • Closures and Decorators
  • Iterators, Iterables and Generators
  • Mapping Types, Hashing
  • Some exposure to basic OOP

Course content

  • Introduction
    • Introduction
    • Prerequisites
  • Classes
    • Introduction
    • Objects and Classes - Lecture
    • Objects and Classes - Coding
    • Class Attributes - Lecture
    • Class Attributes - Coding
    • Callable Class Attributes - Lecture
    • Callable Class Attributes - Coding
    • Classes are Callables - Lecture
    • Classes are Callables - Coding
    • Data Attributes - Lecture
    • Data Attributes - Coding
    • Function Attributes - Lecture
    • Function Attributes - Coding
    • Initializing Class Instances - Lecture
    • Initializing Class Instances - Coding
    • Creating Attributes at Run-Time - Lecture
    • Creating Attributes at Run-Time - Coding
    • Properties - Lecture
    • Properties - Coding
    • Property Decorators - Lecture
    • Property Decorators - Coding
    • Read-Only and Computed Properties - Lecture
    • Read-Only and Computed Properties - Coding
    • Deleting Properties - Lecture
    • Deleting Properties - Coding
    • Some Questions on the Property Class
    • Class and Static Methods - Lecture
    • Class and Static Methods - Coding
    • Python Builtin and Standard Types
    • Class Body Scope - Lecture
    • Class Body Scope - Coding
    • Quick Recap
  • Project 1
    • Project Description
    • Project Solution - TimeZone
    • Project Solution - Transaction Numbers
    • Project Solution - Account Numbers, Names
    • Project Solution - Preferred TimeZone
    • Project Solution - Account Balance
    • Project Solution - Interest Rate
    • Project Solution - Transaction Codes
    • Project Solution - Confirmation Codes
    • Project Solution - Transactions
    • Project Solution - Testing with unittest
  • Polymorphism and Special Methods
    • Introduction
    • __str__ and __repr__ Methods - Lecture
    • __str__ and __repr__ Methods - Coding
    • Arithmetic Operators - Lecture
    • Arithmetic Operators - Coding
    • Rich Comparisons - Lecture
    • Rich Comparisons - Coding
    • Hashing and Equality - Lecture
    • Hashing and Equality - Coding
    • Booleans - Lecture
    • Booleans - Coding
    • Callables - Lecture
    • Callables - Coding
    • The __del__ Method - Lecture
    • The __del__ Method - Coding
    • The __format__ Method - Lecture
    • The __format__ Method - Coding
  • Project 2
    • Project Description
    • Project Solution
  • Single Inheritance
    • Introduction
    • Single Inheritance - Lecture
    • Single Inheritance - Coding
    • The object Class - Lecture
    • The object Class - Coding
    • Overriding - Lecture
    • Overriding - Coding
    • Extending - Lecture
    • Extending - Coding
    • Delegating to Parent - Lecture
    • Delegating to Parent - Coding
    • Slots - Lecture
    • Slots - Coding
    • Slots and Single Inheritance - Lecture
    • Slots and Single Inheritance - Coding
  • Project 3
    • Project 3 - Description
    • Project Solution - Approach and Setup
    • Project Solution - Validators and tests
    • Project Solution - Resources class and tests
    • Project Solution - CPU class and tests
    • Project Solution - Storage class and tests
    • Project Solution - HDD and SSD classes and tests
  • Descriptors
    • Introduction
    • Descriptors - Lecture
    • Descriptors - Coding
    • Getters and Setters - Lecture
    • Getters and Setters - Coding
    • Using as Instance Properties - Lecture
    • Using as Instance Properties - Coding
    • Strong and Weak References - Lecture
    • Strong and Weak References - Coding
    • Back to Instance Properties - Lecture
    • Back to Instance Properties - Coding
    • The __set_name__ Method - Lecture
    • The __set_name__ Method - Coding
    • Property Lookup Resolution - Lecture
    • Property Lookup Resolution - Coding
    • Properties and Descriptors - Lecture
    • Properties and Descriptors - Coding
    • Application - Example 1
    • Application - Example 2
    • Functions and Descriptors - Lecture
    • Functions and Descriptors - Coding
  • Project 4
    • Project Description
    • Solution - Part 1
    • Solution - Part 2
  • Enumerations
    • Introduction
    • Making the case for Enumerations
    • Enumerations - Lecture
    • Enumerations - Coding
    • Aliases - Lecture
    • Aliases - Coding
    • Customizing/Extending Enums - Lecture
    • Customizing/Extending Enums - Coding
    • Automatic Values - Lecture
    • Automatic Values - Coding
  • Project 5
    • Project Description
    • Project Solution
  • Exceptions (Single Inheritance)
    • Introduction
    • Python Exceptions - Lecture
    • Python Exceptions - Coding
    • Handling Exceptions - Lecture
    • Handling Exceptions - Coding
    • Raising Exceptions - Lecture
    • Raising Exceptions - Coding
    • Custom Exceptions - Lecture
    • Custom Exceptions - Coding
  • Project 6
    • Project Description
    • Project Solution
  • Metaprogramming
    • Introduction
    • Decorators and Descriptors - Review
    • The __new__ Method - Lecture
    • The __new__ Method - Coding
    • How Classes are Created - Lecture
    • How Classes are Created - Coding
    • Inheriting from type - Lecture
    • Inheriting from type - Coding
    • Metaclasses - Lecture
    • Metaclasses - Coding
    • Class Decorators - Lecture
    • Class Decorators - Coding
    • Decorator Classes - Lecture
    • Decorator Classes - Coding
    • Metaclass vs Class Decorator - Lecture
    • Metaclass vs Class Decorator - Coding
    • Metaclass Parameters - Lecture
    • Metaclass Parameters - Coding
    • The __prepare__ Method - Lecture
    • The __prepare__ Method - Coding
    • Classes, Metaclasses, and __call__
    • Metaprogramming Application 1
    • Metaprogramming Application 2
    • Metaprogramming Application 3
    • Attribute Read Accessors - Lecture
    • Attribute Read Accessors - Coding
    • Attribute Write Accessors - Lecture
    • Attribute Write Accessors - Coding
    • Accessors - Application

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

خرید لینک های دانلود
  • حجم فایل: 17.15GB
  • زبان: انگلیسی
  • زیرنویس انگلیسی: ندارد
  • قیمت: 10000 تومان
  • دوره شیرجه عمیق به پایتون 3 - بخش 4 - OOP یک محصول ویژه است و دریافت لینک های دانلود آن با پرداخت هزینه امکان پذیر است. اطلاعات بیشتر