پایتون
پایتون را از ابتدا تا انتها یاد بگیرید. سینتکس, ساختار دادهها, برنامهنویسی شیءگرا, جنریتورها, async, تست و بستهبندی.
19 درس، به ترتیب
- 120 دقیقه
سلام، پایتون
خوش آمدید. اگر تا حالا هیچ کدی ننوشتهاید، جای درستی هستید. Python یک زبان برنامهنویسی است، یعنی راهی برای دادن دستورهای قدمبهقدم به کامپیوتر با...
VariablesPrintRepl - 225 دقیقه
اعداد و رشتهها
خوش برگشتید. در درس ۰۱ اولین فایل Python خود را اجرا کردید و یاد گرفتید که متغیر یک جعبهٔ برچسبدار است که یک مقدار در آن مینشیند. امروز به دو...
IntegersFloatsString concatenationF-strings - 315 دقیقه
Asking the User a Question
تا اینجا برنامههایی نوشتهاید که هر بار دکمهٔ اجرا را میزنید همان یک کار را میکنند. ده بار اجرایشان کنید، همان ده جواب را میگیرید. مفیدند، و هنوز...
Input()String return typeInt() and float() conversionInteractive programs - 430 دقیقه
جریان کنترل
تا اینجا برنامههای شما یکراست از بالا به پایین اجرا شدهاند، خط پس از خط. برای سلام و احوالپرسی همین کافی است، اما بیشتر برنامههای بهدردبخور...
If/elif/elseComparison operatorsBoolean operatorsWhile loopsFor loopsBreak and continue - 530 دقیقه
لیستها و تاپلها
تا اینجا هر متغیر یک مقدار تنها را نگه میداشت: یک عدد، یک رشته. برنامههای واقعی معمولاً لازم دارند گروه کوچکی از مقدارهای مرتبط را کنار هم نگه...
List creationIndexingSlicingAppendPopIteration+2 - 630 دقیقه
دیکشنریها و مجموعهها
خوش برگشتید. لیستها وقتی عالیاند که ترتیب مهم باشد و آیتمها را از روی جایشان بردارید، اما بخش زیادی از دادهٔ واقعی بر پایهٔ نام سامان یافته است:...
Dict basicsGet with defaultIterate keysIterate valuesIterate itemsSets+1 - 730 دقیقه
توابع
خوش برگشتید. تا اینجا از چند تابعی که همراه Python میآید استفاده کردهاید، مثل print() و len(). در این درس میخواهید تابعهای خودتان را بنویسید....
DefParametersDefault valuesKeyword arguments*args and **kwargsReturn values+1 - 825 دقیقه
Comprehensions
از قبل بلدید حلقهٔ for بنویسید که یک لیست، دیکشنری یا مجموعهٔ تازه را آیتمبهآیتم بسازد. کامپرهنشن راه کوتاهتر نوشتن همان حلقه در یک خط است. نتیجه...
List comprehensionsDict comprehensionsSet comprehensionsConditional expressionsGenerator expressionsReadability tradeoffs - 930 دقیقه
فایلها و IO
برنامهای که فقط در ترمینال چاپ میکند، همان لحظه که تمام میشود همه چیز را از یاد میبرد. قدم بعدی، همان قدمی که یکباره Python را بهدردبخور...
Open with withReading linesWriting filesPathlib.PathJson readJson write - 1030 دقیقه
ماژولها و پکیجها (Modules and Packages)
تا اینجا هر برنامه در یک فایل تنها زندگی میکرد. برای دوره یادگیری اشکالی ندارد، اما پروژههای واقعی کدشان را در فایلهای زیادی پخش میکنند تا هر...
ImportFrom importWriting your own moduleIf __name__ == "__main__"Packages__init__.py - 1135 دقیقه
کلاسها و OOP
به یکی از بزرگترین ایدههای Python خوش آمدید. تا اینجا از ابزارهای آماده (رشتهها، لیستها، دیکشنریها، توابع) برای کار با داده استفاده کردهاید. در...
Class definition__init__Instance attributesClass attributesMethods__repr__ - 1230 دقیقه
وراثت و ترکیب
در درس ۱۱ کلاسها را از صفر ساختید. در کد واقعی، کلاسها بهندرت تنها زندگی میکنند. گاهی یک کلاس نسخه خاصترِ کلاسی دیگر است (یک Dog یک Animal است)،...
SubclassingSuper()Method overridingCompositionWhen to choose composition - 1330 دقیقه
مدیریت استثناها
قبلاً با خطاها آشنا شدهاید. هر بار که اسمی را اشتباه تایپ کردید، بر صفر تقسیم کردید، یا از یک لیست ایندکسی خواستید که وجود نداشت، Python متوقف شد و...
TryExceptElseFinallyRaiseCustom exception classes+1 - 1430 دقیقه
ایتریتورها و جنریتورها (Iterators and Generators)
از درسهای قبل بلدید for item in something: بنویسید. در این درس پشت پرده را نگاه میکنیم و میبینیم Python هر بار که آن حلقه اجرا میشود واقعاً چه...
Iterator protocolYieldGenerator functionsGenerator expressionsLazy evaluation - 1530 دقیقه
دکوراتورها (Decorators)
به یکی از پیچیدهترین موضوعهای Python خوش آمدید. دکوراتور پوشش کوچکی است که دور یک تابع میگذارید تا رفتار اضافهای بگیرد (ثبت لاگ، زمانگیری، وارسی...
Functions are objectsWrapper functions@decorator syntaxFunctools.wrapsParametrized decorators - 1625 دقیقه
کانتکست منیجرها (Context Managers)
خوش برگشتید. از درس ۰۹ به این طرف مدام with open(...) as f: نوشتهاید و اعتماد کردهاید که وقتی بلوک تمام شود فایل بسته میشود. این درس همان جعبه را...
With statement__enter__ and __exit__Writing your own context managerContextlib.contextmanager - 1740 دقیقه
همزمانی: نخها و Async
خوش برگشتید. تا اینجا برنامههای ما هر بار یک کار انجام میدادند، از بالا به پایین، و خوب هم جواب میداد. دردسر از جایی شروع میشود که برنامه بیشتر...
GIL in plain languageConcurrent.futures.ThreadPoolExecutorAsyncio basicsAsync defAwaitWhen to use threads vs async - 1835 دقیقه
تست با pytest
خوش برگشتید. تا اینجا کد را اجرا کردهاید و خروجی را با چشمتان بررسی کردهاید. این برای چند خط کار میکند، اما لحظهای که چیزی را عوض کنید، باید همه...
Test functionsAssertRunning pytestParametrizeFixtures - 1935 دقیقه
بستهبندی و استقرار
تا اینجا کدی به Python نوشتهاید که خودتان (و فقط خودتان) با تایپ python something.py اجرایش میکنید. این درس دربارهٔ همان قدم کوچک و بیشتر مکانیکی...
Pyproject.tomlPip install -eConsole scriptsBuilding a wheelPublishing to PyPI
پایتون را به زبان خودت یاد بگیر
هر درس، آزمون و پاسخ مربی به زبان شما نمایش داده میشود. مربی هوشمند به همان زبانی پاسخ میدهد که شما سوال میکنید.
Roles that use Python
See how hiring teams interview engineers on Python, in production-like environments.
Senior Python Developer
Hire senior Python developers in real Django, FastAPI and Flask codebases with real load and real test suites. Live or take-home, fully recorded.
See the interviewBackend Engineer (Go, Rust, Java)
Hire backend engineers in real services with real databases, real concurrency and real latency budgets. Live or take-home, fully recorded.
See the interviewData Engineer
Hire data engineers in workspaces with real Spark, dbt and Airflow pipelines. Schema drift, bad data and reruns included.
See the interview