توسعه دهنده نرمافزار های از خدا بیخبر | در تلاش برای پاس کردن درسها و اتمام دانشگاه.
نقشه راه یادگیری زبان پایتون
این مطلب رو وبلاگ من هم آپلود شده میتونید ببینید اینجا همونو کپی پیست کردم هرکدوم راحت تر بودید
:')
خیلی بحث ها درمورد پایتون زیاد شده و ازونجایی که منابع این زبان خیلی گسترده و درهم ریختهست مخصوصا در زبان فارسی گفتم مطلبی بنویسم تا همه این مطالب و لینک های بدرد بخور به شکلی یکجا جمع بشن تا سرگرم گشتن دنبال مطالب خوب نباشید به شکلی نقشه راه یادگیری پایتون رو نوشتم.
نقشه مطلب:
اصلا چی هست؟ // مقدمه.
تفاوت پایتون 2 و 3. // کدوم؟
از کجا شروع کنم؟ // دوره مقدماتی // معرفی چندتا کتاب و دوره بدردبخور.
ادامه راه .// شروع دوره پیشرفته.
چطور تمرین کنم، پروژه؟ // معرفی سایت و پروژه.
موفق باشید.
یه نکاتی هم درمورد مسابقات و مقایسه پایتون در مسابقات ICPC.
درمورد اسمش اینجور جزئیات مطالب هست که میتونید رو ویکیپدیا بخونید که از حوصله این مطلب خارجه.
اصلا چی هست؟ // مقدمه.
یه زبان شئگراست – اگه تازه برنامه نویسی رو شروع کردید و نمیدونید شئگرایی و قضیه اش چیه فعلا بخونید تا به بخش پیشرفته برسید اگه هم صبر ندارید Coderz یا ویکیپدیا توضیح خوبی دادن به قول جادی زبون های با کلاس بهشون میگن ? – که بطورکل به خواناییش معروفه تو شرکت های معروفی مثل گوگل، ناسا و خیلیا دیگه استفاده شده.
پایتون مدلهای مختلف برنامهنویسی (از جمله شیگرا و برنامهنویسی دستوری و تابع محور) را پشتیبانی میکند و برای مشخص کردن نوع متغیرها از یک سامانهٔ پویا استفاده میکند.
شباهت زیادی هم به زبان های دیگه داره مثل پرل، روبی داره. همچنین از همه مهمتر کتاب خانه های وسیعی در اختیار ما قرار میگیره یجورایی میشه گفت پایتون تو هرچیزی کاربرد داره، نیاز به } { ; ازینجور چیزا مثل زبان های دیگه نداره، فاصله واسش مهمه D:
شباهت های زیادی دارند و یکسری تفوت ها، اما پایتون 3 با ورژن 2 سازگاری داره.
بطورکل پیشنهاد اینه که با نسخه 3 پایتون، شروع به یادگیری کنید چون درحال توسعه و مفیدترهست،
GeeksforGeeks هم چک کنید اگه چندتا مثال مختلف از تفاوتها خواستید.
از کجا شروع کنم؟ // معرفی چندتا کتاب و دوره بدردبخور.
من خودم پایتون رو از روی کتاب برنامه نویسی با پایتون 3 انتشارات کیان خوندم، ترجمه خوب و همچنین کتاب خوب و کاملی بود، البته به چنتا از دوستام پیشنهاد کردم چون کتاب زیاده و زمان بره هنوز ازشون خبری نشده فک نکنم خونده باشنش :)))) اما به نظر من اگه میخواین تازه شروع کنید با کتاب پیش رفتن فکر خوبی نیست طبق این نوشته جادی مطلب خوبیه اگه بش نگاه بندازید:
جان سونمز پنج نکته رو می گه که باید ازش دوری کنین و یکی از اصلی ترین مراجع این مطلب هم اونو تکرار می کنه و من کی باشم که تکرارشون نکنم؟
- کتاب ها رو از اول تا آخر نخونین. در شروع کتاب ها رو از اول تا آخر نخونین. ما بخش کمی از کتاب ها رو یادمون می مونه و فقط کتاب خوندن بخش زیادی از انرژی شما رو می گیره. کتاب مال وقتی است که شما موضوعات رو بلدین و می خواین توش عمیق بشین.
- بدون برنامه تو بحث شیرجه نزنین. آدم ها رو به دلایل مختلف جو می گیره. یکهو می خوان خدای چیزی بشن و یک عالمه کتاب دانلود می کنن و شایدم دو تا ادیتور برنامه نویسی و عضو یکسری کانال و فروم و میلینگ لیست می شن و هی چیز می خونن و فیلم میبینن. این اشتیاق معمولا به همین سرعت هم فروکش میکنه. بدونین برای چی وارد بحث شدین و می خواین به کجا برسین و می خواین باهاش چیکار کنین.
- حوزه خودتون رو مشخص کنین. دنیا وسیعه! حتی برنامه نویسی هم خیلی وسیعه و شاید براتون جالب باشه که حتی پایتون هم خیلی وسیعه! بهتره شما بدونین در چه حوزه ای می خواین کار کنین و از اون شروع به یادگیری کنین. اگر می خواین اپ تحت وب درست کنین لازم نیست با numpy شروع کنین و اگر می خواین محاسبات انجام بدین شروع کردن یا اصرار روی scikit اشتباهه. از یک جا شروع کنین و توش پیش برین.
- دو (یا بیشتر!) چیز رو همزمان یاد نگیرین. این اشتباه با مورد ۲ شباهتهایی داره. آدم ها یکهو می خوان «هکر» بشن و شروع می کنن شبکه و سیستم عامل و برنامه نویسی و انگلیسی و آلمانی و روسی و نقد فیلم و ادبیات کلاسیک رو با هم خوندن و یاد گرفتن. از یک جا شروع کنین و وقتی در حد معقولی پیش رفتین برین سراغ چیز بعدی. این مساله حتی داخل پایتون هم صدق می کنه. اگر دارین جنگو یاد می گیرین نیازی نیست همزمان شروع به خوندن فلسک هم بکنین. یکی رو پیش برین در حد معقول و بعد فرصت برای بعدی هست.
- بدون تجربه کردن پیش نرین. بعضی چیزها برای آدم ها لذت بخشه. من از دیدن فیلم بازی شطرنج خیلی خوشم می یاد و در نتیجه شش ماه فیلم دیدم بدون اینکه بازی کنم؛ هیچ پیشرفتی هم نداشتم. حتما حین تئوری با عمل هم برخورد داشته باشین.
منابع خوب هم کتاب Think Python همون نسخه اصلی کتابیه که معرفی کردم،ویدیو هایی که git برای دانلود قرار میده هم میتونه خوب باشه، همچنین سایت W3Schools خیلی خوبه و خیلی خوب میشه از همین سایت دوره رو با بازدهی کامل کرد، سایت coders هم جواب میده اگه نسبت به انگلیسی مشکل دارید، اگه مایل به خرید دوره هستید این Quera دوره برنامهنویسی و تفکر الگوریتمی دوره خوبیه پیشنهاد میشه ، مکتب خونه هم بنظر میرسه دوره خوبی داره.
ادامه راه .// شروع دوره پیشرفته.
این قسمت راه مهمه اگه تا اینجا اومدید خیلی مهمه که ادامه بدید و دوره پیشرفته رو تموم کنید تا از این زبان به شکل کاربردی استفاده کنید،
مطمئنن چیزایی که تو قسمت قبل معرفی کردم این بخش پیشرفته هم داره یعنی وارد کتابخونه ها و شئ گرایی میشید!!! و بعد از این دوره باید انتخاب کنید تو چه قسمتی میخواید ادامه بدید یا یه پروژهانجام بدید.
چطور تمرین کنم، پروژه؟ // معرفی سایت و پروژه.
اگه میخواید وارد مسابقات بشید سایت Quera مثال های خوبی داره تا تفکر الگوریتمی شما قوی بشه،
اگه هم می خواید پروژه ای رو شروع کنید و نمیدونید یا ایده خوب ندارید این مطلب سایت realpython ، چندتا ایده خوب داده و توضیح داده چطور شروع کنید.
موفق باشید.
اگه طبق دوره ها یا کتاب پیش برید مطمئنن میتونید تموم کنید و حرفهای بشید.
نکات:
تیم ما برای مسابقات از پایتون استفاده میکنه،
نماند که مشکل زمان پیش میاد اما پیشنهاد میشه برای مسابقات از سی پلاس پلاس استفاده کنید چون سرعت خیلی بیشتری داره برای مسابقات.
پایتون هم در ازای این عیوب مزیت های خود را دارد تمیزی و سادگی کد باعث درک پذیری و ارتباط بیشتر ما با کد می شود.
از مسیر لذت ببرید.
مطلبی دیگر از این انتشارات
معرفی کتابخانه bokeh
مطلبی دیگر از این انتشارات
تفاوت یادگیری عمیق (Deep learning) با یادگیری ماشینی(Machine learning)
مطلبی دیگر از این انتشارات
پروژه ی چت ساده در پایتون + آموزش اجرای برنامه