×
۸۵,۰۰۰ تومان
۵۱,۰۰۰ تومان

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

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

هزینه آموزش
۸۵,۰۰۰ تومان
تخفیف ۴۰ درصدی
۵۱,۰۰۰ تومان

تعداد دانشجو
۸۶۸ نفر
مدت زمان
۱۴ ساعت و ۲۶ دقیقه
محتوای این آموزش
تضمین کیفیت
۷ بازخورد (مشاهده نظرات)
آموزش افزایش سرعت اجرای برنامه ها در پایتون Python

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

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

تعداد دانشجو
۸۶۸ نفر
مدت زمان
۱۴ ساعت و ۲۶ دقیقه
هزینه عادی آموزش
۸۵,۰۰۰ تومان
در طرح تخفیف
۵۱,۰۰۰ تومان

(کسب اطلاعات بیشتر +)
محتوای این آموزش
۷ بازخورد (مشاهده نظرات)

پژمان اقبالی شمس آبادی

مدرس برنامه‌نویسی و نرم‌افزارهای آماری

ایشان به برنامه‌نویسی علاقه‌مند هستند و سابقه کار با نرم‌افزارهای مهندسی مکانیک همچون: CATIA و COMSOL را دارند. ایشان به نرم‌افزار MATLAB مسلط هستند و توانایی برنامه‌نویسی با زبان‌های مختلف همچون: C++, Java, Python را دارند.

توضیحات تکمیلی

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

تعداد بسیاری از کسانی که با پایتون کار می کنند با مشکلات CPU یا حافظه محدود رو به رو هستند، بنابراین در این فرادرس به روش هایی برای حل این مشکل اساسی در پایتون پرداخته می شود. روش های مختلفی به منظور افزایش سرعت اجرای برنامه ها ارائه می شود تا مخاطبین این آموزش بتوانند از آن برای حل مشکلات خود در برنامه نویسی استفاده کنند.

فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی، در ادامه آمده است:
  • درس یکم: کارایی پایتون در اجرای برنامه
    • واحدهای اصلی محاسبات در کامپیوتر
      • Computing Unit
      • Amdahl’s Law
      • Memory Unit
      • Communications Layers
    • اجرای برنامه در پایتون برای مقایسه محاسبات ایده آل در مقابل Python Virtual Machine
    • دلیل استفاده از پایتون
  • درس دوم: مشخصه سازی
    • معرفی مساله Julia Set
    • پیاده سازی مساله Julia Set در پایتون
    • بررسی زمان اجرای برنامه Julia Set
    • پروفایلینگ (Profiling) مساله Julia Set با Print
    • پروفایلینگ مساله Julia Set با Timeit
    • پروفایلینگ
      • cProfile Module
      • line_profiler Module
      • memory_profiler Module
    • رسم خروجی memory_profiler با Matplotlib
    • معرفی ابزارهایی برای پروفایلینگ در Python 2
    • ماژول dis برای CPython Bytecode
    • Unit Testing در پایتون
  • درس سوم: داده ساختارهای List و Tuple در پایتون
    • پیاده سازی Linear Search روی List و Tuple
    • پیاده سازی Binary Search روی List و Tuple
    • موارد استفاده List برای بهبود کارایی برنامه
    • موارد استفاده Tuple برای بهبود کارایی برنامه
  • درس چهارم: داده ساختارهای Dictionary و Set در پایتون
    • مفهوم Hash Table
    • Lookup برای Dictionary و List
    • Inserting and Retrieving برای Dictionaries and Sets
    • Hash Function مناسب در پایتون
    • Dictionaries and Namespaces و کاربردش در افزایش کارایی برنامه
  • درس پنجم: کاربرد Iterator و Generator در پایتون
    • مفهوم generator و مساله Fibonacci
    • Iterator برای سری بی نهایت
    • کاربرد generator در خواندن فایل های داده سنگین و پردازش روی آن
    • مفهوم Lazy Generator Evaluation
  • درس ششم: محاسبات ماتریسی و برداری در پایتون
    • معرفی مساله Diffusion و تقریب Euler برای حل عددی
    • پیاده سازی مساله Diffusion به صورت یک بعدی و دو بعدی در پایتون
    • پروفایلینگ مساله Diffusion با استفاده از line_profiler
    • چند راهکار ساده برای بهبود کارایی برنامه
    • Memory Fragmentation
    • ماژول Numpy و بازنویسی مساله Diffusion با استفاده از آن
    • بررسی زمان اجرای مساله Diffusion با و بدون Numpy
    • کاربرد عملیات های In-Place
    • بازنویسی یک تابع Numpy برای شرایط مرزی و تاثیر آن روی زمان اجرای برنامه
    • Numexpr و زمان اجرای برنامه با استفاده از آن
    • استفاده از تابعی از SciPy در مساله Diffusion و بررسی زمان اجرای برنامه
  • درس هفتم: کامپایل کردن کد پایتون به زبان C
    • کامپایلرهای JIT و AOT
    • معرفی Cython
    • استفاده از Cython برای کامپایل کردن مساله Julia Set و بررسی زمان اجرای مساله بعد از کامپایل
    • مشخص کردن Type و تاثیر آن بر سرعت اجرای برنامه
    • استفاده از Numpy در مساله Julia Set و کامپایل با Cython و بررسی زمان اجرای برنامه
    • موازی سازی مساله Julia Set با استفاده از OpenMP
    • Numba برای سرعت بخشیدن به کد پایتون و پیاده سازی روی مساله Julia Set
    • pythran برای سرعت بخشیدن به کد پایتون و پیاده سازی روی مساله Diffusion
  • درس هشتم: هم زمانی (Concurrency) در پایتون
    • مفهوم Concurrency و نحوه پیاده سازی در پایتون
    • پیاده سازی یک برنامه به صورت Concurrent در پایتون و مقایسه زمان اجرا با حالت Non-concurrent
    • Async IO برای Concurrency
    • پیاده سازی چند مساله Concurrent با استفاده از Async IO در پایتون

پیش نیاز


آنچه در این آموزش خواهید دید:

آموزش ویدئویی مورد تائید فرادرس
فایل برنامه ها و پروژه های اجرا شده
فایل PDF یادداشت‌ های ارائه مدرس

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

Python 3.7




راهنمای سفارش آموزش‌ها

آیا می دانید که تهیه یک آموزش از فرادرس و شروع یادگیری چقدر ساده است؟

(راهنمایی بیشتر +)

در مورد این آموزش یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین ۵۷۹۱۶۰۰۰ (پیش شماره ۰۲۱) تماس بگیرید. - تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). - میانگین زمان پاسخ دهی: ۳۰ دقیقه


اطلاعات تکمیلی

نام آموزش آموزش افزایش سرعت اجرای برنامه ها در پایتون Python
ناشر فرادرس
شناسه اثر ۸–۱۲۴۵۲–۰۶۹۳۴۷ (ثبت شده در مرکز رسانه‌های دیجیتال وزارت ارشاد)
کد آموزش FVPHT97091
مدت زمان ۱۴ ساعت و ۲۶ دقیقه
زبان فارسی
نوع آموزش آموزش ویدئویی (نمایش آنلاین + دانلود)
حجم دانلود ۱ گیگابایت (کیفیت ویدئو HD با فشرده سازی انحصاری فرادرس)


تضمین کیفیت و گارانتی بازگشت هزینه
توجه: کیفیت این آموزش توسط فرادرس تضمین شده است. در صورت عدم رضایت از آموزش، به انتخاب شما:
  • ۱۰۰ درصد مبلغ پرداختی در حساب کاربری شما شارژ می‌شود.
  • و یا ۷۰ درصد مبلغ پرداختی به حساب بانکی شما بازگشت داده می‌شود.




نظرات

تا کنون ۸۶۸ نفر از این آموزش استفاده کرده اند و ۷ نظر ثبت شده است.
ونوس
ونوس
۱۴۰۰/۰۲/۲۱

از همه لحاظ واقعا خوبه، مدرس مسلط هستند.

مهدی
مهدی
۱۳۹۹/۰۳/۱۹

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

مصطفی
مصطفی
۱۳۹۹/۰۳/۱۹

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

مکرمی
مکرمی
۱۳۹۹/۰۶/۰۹

بسیار مسلط آموزش دادند. مطالب این آموزش برای افراد مبتدی در پایتون، بسیار سنگین هست و پیشنهاد میکنم ابتدا کامل روی مباحث اولیه زبان پایتون مسلط بشوند و بعد از این آموزش استفاده کنند تا بیشترین استفاده را ببرند .
دو نقد به این آموزش دارم یکی اینکه مثال های نسبتا پیچیده ای در برخی درس ها استفاده شد در حالیکه بهتر بود اگر مثال های ساده تری استفاده بشه و تمرکز بیشتر روی استفاده از تکنیک ها برای سرعت بخشیدن به کد میشد، و نقد دوم اینکه، ای کاش به دو کتابخانه Threading و Multiprocessing هم پرداخته میشد. درکل بسیار آموزش پرباری بود.

جلال
جلال
۱۳۹۹/۰۱/۰۴

آقای اقبالی خیلی خوب درس رو دادند. مسلط بودند و اصل مطلب رو گفتند.

مهدی
مهدی
۱۳۹۹/۰۱/۱۵

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

مجتبی
مجتبی
۱۳۹۸/۱۱/۱۹

آموزش عالی بود و به من خیلی کمک کرد.

دسته‌بندی موضوعی برنامه نویسی | پایتون
برچسب‌ها:
Amdahl’s Law | AOT | Async IO برای Concurrency | bytecode | Communications Layers | Computing Unit | Cython | Cython برای کامپایل کردن مساله Julia Set | Diffusion | Fibonacci | Hash Function | Hash Function مناسب در پایتون | Hash Table | Inserting and Retrieving | JIT | Julia Set | Lazy Generator Evaluation | line_profiler | Lookup برای Dictionary | Memory Fragmentation | Memory Unit | Pythran | استفاده از List برای بهبود کارایی برنامه | استفاده از Tuple برای بهبود کارایی برنامه | پروفایلینگ با استفاده از cProfile Module | پروفایلینگ با استفاده از line_profiler Module | پروفایلینگ با استفاده از memory_profiler Module | پروفایلینگ مساله Diffusion | پروفایلینگ مساله Julia Set با Timeit | پیاده سازی مساله Diffusion | پیاده سازی مساله Julia Set | پیاده سازی مساله Julia Set در پایتون | تقریب Euler برای حل عددی | داده ساختار Dictionary | داده ساختار List در پایتون | داده ساختار Tuple در پایتون | دلیل استفاده از پایتون | رسم خروجی memory_profiler با Matplotlib | زمان اجرای برنامه Julia Set | کارایی پایتون | کارایی پایتون در اجرای برنامه | کاربرد Generator در پایتون | کاربرد Iterator در پایتون | کامپایلر AOT | کامپایلر JIT | ماژول dis برای CPython Bytecode | ماژول Numpy | محاسبات ماتریسی و برداری در پایتون | مساله Diffusion | مساله Diffusion بصورت یک بعدی | مساله Fibonacci | مساله Julia Set | معرفی ابزارهایی برای پروفایلینگ در Python 2 | مفهوم Hash Table | مفهوم Lazy Generator Evaluation | موازی سازی مساله Julia Set | واحدهای اصلی محاسبات در کامپیوتر
مشاهده بیشتر مشاهده کمتر
×
فهرست جلسات ۲۳ جلسه ویدئویی
×