مقدمه‌ای بر دورهٔ آموزش زبان برنامه‌نویسی پایتون


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

نیاز به توضیح نیست که هر زبان برنامه‌نویسی ویژگی‌ها و قابلیت‌های خاص خود را دارد که آن را از سایر زبان‌ها متمایز می‌سازد و علت شکل‌گیری زبان‌های مختلف نیز پاسخگویی به نیازهای متفاوت کاربران با استفاده از همین قابلیت‌ها است و به همین دلیل هم پیش از انتخاب هر زبانی، ابتدا باید نیازها و اهداف خود را از یادگیری آن زبان در کنار قابلیت‌هایش قرار دهیم و در صورت تطبیق آن‌ها با یکدیگر، قدم در راه یادگیری بگذاریم. در همین راستا، برای آشنایی بیشتر با زبان پایتون، در ادامه به معرفی برخی از ویژگی‌ها و قابلیت‌های آن خواهیم پرداخت:

- پایتون ساده است: پایتون یک زبان ساده است به طوری که وقتی نگاهی به سورس‌کد یک برنامهٔ نوشته‌شده با زبان پایتون بیندازیم، احساس می‌کنیم که با یک متن انگلیسی صریح مواجه هستیم که شاید بتوان گفت یکی از بزرگ‌ترین نقاط قوت پایتون است که به جای درگیر کردن برنامه‌نویس با جزئیات زبان، به او اجازه می‌دهد تا روی حل مسئله تمرکز داشته باشد که همین موضوع سرعت توسعهٔ نرم‌افزار و خوانایی سینتکس این زبان را افزایش داده است.

- پایتون منحنی یادگیری کم‌شیبی دارد: قطعاً عامل اصلی این موضوع که یادگیری پایتون به عنوان قدم اول به مشتاقان برنامه‌نویسی و حتی نوجوانان توصیه می‌شود، سینتکس سادهٔ آن است. همان‌طور که گفتیم، سادگی زبان پایتون نه تنها خوانایی آن را افزایش داده است، بلکه با حذف پیچیدگی‌های کدنویسی، سهولت یادگیری آن را نیز بیشتر کرده است و در مدت زمان اندکی می‌توان پایه و اساس این زبان را فرا گرفت.

- پایتون رایگان و اپن‌سورس است: توزیع‌های مختلف زبان برنامه‌نویسی پایتون کاملاً رایگان بوده و هر برنامه‌نویسی می‌تواند سورس اصلی آن را بسته به نیاز خود تغییر دهد و در توسعهٔ نرم‌افزارهای خود به صورت رایگان از این زبان استفاده نماید.

- پایتون زبانی سطح بالا است: پایتون از جمله زبان‌های قدرتمند سطح بالا است که برنامه‌نویس را درگیر جزئیات سطح پایین مثل مدیریت حافظه یا کار با رجیسترها و غیره نمی‌کند.

- پایتون کراس‌پلتفرم است: ماهیت اپن‌سورس بودن پایتون موجب شده است تا این زبان با پلتفرم‌های مختلف سازگار باشد. بنا بر اعلام رسمی سایت پایتون، در حال حاضر این زبان با ده‌ها پلتفرم مختلف از جمله Windows ،GNU/Linux ،Macintosh ،Solaris ،Android ،iOS و ... سازگار است و برنامه‌های نوشته‌شده با این زبان بدون نیاز به تغییر یا با تغییرات بسیار جزئی روی تمام پلتفرم‌ها اجرا می‌شوند.

- پایتون توسعه‌پذیر است: یکی از مشکلات زبان پایتون سرعت پایین اجرا در مقایسه با زبان‌های کامپایلی مانند سی یا جاوا است. حال اگر بخواهید قطعه‌ای از کدها سریع‌تر اجرا شود یا اگر بخواهید بخشی از الگوریتم برنامهٔ خود را کامپایل کنید، این امکان در اختیار شما قرار گرفته است تا آن بخش را به زبان سی، سی‌پلاس‌پلاس یا جاوا بنویسید و آن را در میان کدهای پایتون برنامهٔ خود قرار دهید.

- پایتون قابل‌استفاده در کنار دیگر زبان‌ها است: علاوه بر اینکه می‌توان کدهای زبان‌های دیگر را در برنامه‌های نوشته‌شده با زبان پایتون قرار داد، می‌توان قطعه کدهایی را به زبان پایتون نوشت و در سورس‌کد برنامه‌های سی، سی‌پلاس‌پلاس یا جاوا نشاند و بدین ترتیب قابلیت‌های اسکریپتی به سورس‌کد مد نظر اضافه نمود.

- پایتون لایبرری گسترده‌ای دارد: پایتون به راستی از یک لایبرری استاندارد غنی بهره می‌برد و در کنار آن لایبرری‌های سایر برنامه‌نویسان نیز به سرعت در حال توسعه می‌باشند که در مجموع ابزارهای مناسبی را برای توسعهٔ رابط‌های گرافیکی (GUI)، مرورگرهای وب، رمزنگاری، هوش مصنوعی، ایمیل، بازی‌سازی، داده کاوی، توسعهٔ‌ وب‌سایت و بسیاری کاربردهای دیگر در اختیار برنامه‌نویسان قرار می‌دهد.

- پایتون همه‌منظوره است: پایتون یک زبان برنامه‌نویسی با طیف گسترده‌ای از کاربردها است که در حوزه‌های مختلف و متنوعی کاربرد داشته است که از جمله مهم‌ترین کاربردهای آن در طی سالیان گذشته می‌توان به موارد زیر اشاره کرد:

- موتور جستجوی گوگل و یوتیوب
- ساخت برنامه‌های علمی در سازمان فضایی ناسا
- بخشی از سرویس ایمیل یاهو
- تست سخت‌افزار در کمپانی‌های اینتل،‌ آی‌بی‌ام و سیسکو
- ابزارهای نصب لینوکس در توزیع رِدهَت
- سرویس ابری دراپباکس

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

چرا زبان برنامه‌نویسی پایتون را انتخاب کنیم؟
با دانستن اینکه مقایسه زبان‌های برنامه‌نویسی با یکدیگر اصلاً کار درستی نیست چرا که هر زبانی را بهر کاری ساخته‌اند و هر زبان دارای نقاط ضعف و قوت خاص خود است، با این حال برخی از کاربران همواره دوست دارند تا بدانند زبانی که قرار است فرا گیرند در مقایسه با سایر زبان‌های برنامه‌نویسی هم‌رده‌اش در چه جایگاهی قرار دارد اما در ادامه به جای مقایسهٔ پایتون با دیگر زبان‌ها، به این پرسش پاسخ می‌دهیم که «چرا زبان برنامه‌نویسی پایتون را انتخاب کنیم؟»

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

معمولاً برنامه‌نویسان حرفه‌ای سعی می‌کنند که به بیش از یک زبان برنامه‌نویسی تسلط پیدا کنند تا متناسب با نقاط قوتی که هر زبان برنامه‌نویسی دارد (مثلاً یک زبان برای کار با دیتابیس سرعت بالایی دارا است و زبان دیگر در تحلیل داده‌ها و غیره خوب است) بتوانند یک اپلیکیشن حرفه‌ای بنویسد. آگاهی از نقاط ضعف و قوت زبان‌های برنامه‌نویسی به برنامه‌نویسان کمک می‌کند تا با دید بازتری اقدام به استفاده از آن زبان برنامه‌نویسی نمایند که در همین راستا در ادامه قصد داریم به نکاتی بپردازیم که زبان برنامه‌نویسی پایتون را از سایر زبان‌های برنامه‌نویسی متمایز می‌سازد و این زبان قدرتمند را به گزینهٔ مناسبی برای طراحی و ساخت اپلیکیشن‌های حرفه‌ای مبدل می‌سازد.

هر زبان برنامه‌نویسی با یک هدف خاص در ذهن توسعه‌دهندگان آن زبان طراحی شده است تا نیازی را مرتفع سازد. در ارتباط با زبان برنامه‌نویسی پایتون، می‌توان گفت که هدف اصلی  Guido van Rossum، خالق زبان برنامه‌نویسی پایتون، این بود که زبانی به دنیا عرضه کند که در یک کلام ساده و کاربردی باشد.

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

از پایتون برای توسعهٔ چه اپلیکیشن‌هایی می‌توان استفاده کرد؟
با توضیحات فوق، حال قصد داریم ببینیم که از زبان برنامه‌نویسی پایتون برای توسعهٔ چه نوع اپلیکیشن‌هایی می‌توانیم استفاده کنیم که در ادامه برخی از شاخص‌ترین کاربردهای پایتون را نام خواهیم برد:

- پروتوتایپ: گاهی اوقات تیم‌های توسعهٔ نرم‌افزار نیاز دارند تا یک نمونهٔ اولیه از ایدهٔ خاصی که در ذهن دارند ایجاد کنند تا با دید بهتری اقدام به سیاست‌گذاری‌های آتی خود کنند که در چنین مواقعی زبان برنامه‌نویسی پایتون به منزلهٔ یکی از بهترین گزینه‌ها است چرا که سرعت توسعهٔ اپلیکیشن با این زبان نسبت به سایر رقبا به مراتب بیشتر است و توسعه‌دهندگان زودتر می‌توانند خروجی کدهای خود را ببینند.

- ساخت وب اپلیکیشن: در سمت بک‌اند زبان‌های مختلفی من‌جمله سی‌شارپ، جاوا، پی‌اچ‌پی، جاوااسکریپت و روبی می‌توان استفاده کرد اما پایتون به یمن وجود فریمورک قدرتمندی همچون Django، یکی از کاندیداهای کدنویسی سمت سرور وب اپلیکیشن‌ها است.

- طراحی اپلیکیشن‌های محاسباتی،‌ علمی و مهندسی: لایبرری‌های مختلفی که برای پایتون به بازار عرضه شده‌اند این امکان را به توسعه‌دهندگان می‌دهند تا به راحتی و به سرعت بتوانند اپلیکیشن‌های محاسباتی، علمی و مهندسی طراحی کنند که از جملهٔ مهم‌ترین آن‌ها می‌توان به NumPy و SciPy اشاره کرد (جهت آشنایی بیشتر با لایبرری NumPy می‌توانید به مقالهٔ درآمدی بر آمار با استفاده از لایبرری NumPy و زبان برنامه‌نویسی Python مراجعه نمایید.)

- طراحی رابط کاربری: پایتون همچون زبان سی‌شارپ نیست که توسعه‌دهنده با استفاده از نرم‌افزار ویژوال استودیو به راحتی بتواند با درگ & دراپ اقدام به طراحی رابط کاربری کند اما در عین حال فریمورک‌های بسیاری برای این زبان طراحی شده‌اند که طراحان با استفاده از آن‌ها می‌توانند اقدام به طراحی Graphical User Interface یا به اختصار GUI کنند که از آن جمله می‌توان به Tkinter اشاره کرد.

به منظور تسهیل فرایند آموزشی، در این سری از آموزش‌ها باکس‌هایی به صورت زیر استفاده خواهند شد تا مخاطبین دوره بهتر بتوانند برخی از نکات مهم این دورهٔ آموزشی را به خاطر بسپارند.

نکته
نکاتی که منجر به درک بهتر موارد مطروحه می‌شوند، در قالب باکس‌های سبز رنگی به این شکل در اختیار دانشجویان قرار خواهند گرفت.
هشدار
برنامه‌نویسان مبتدی در برخی موارد باید دقت بیشتری به خرج دهند تا در آینده با سردرگمی کمتری مواجه شوند و به همین منظور هم هشدارهای این دورهٔ آموزشی در قالب باکس‌های قرمز رنگی به این شکل در معرض دید دانشجویان قرار خواهند گرفت.
به خاطر داشته باشید
برخی نکات هستند که مخاطبین این دورهٔ آموزشی باید به‌ خاطر بسپارند چرا که در آموزش‌های آتی به آن‌ها نیاز خواهند داشت که کلیهٔ این نکات در قالب باکس‌های آبی رنگی به این شکل عرضه خواهند شد.

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
کاربر میهمان
عرفانمن یک کاربر مهمان هستم
۱۳۹۸/۰۴/۱۵
سلام و خسته نباشید.
من میخواستم یک برنامه به منظور استفاده در زمینه رباتیک و مکاترونیک یاد بگیرم.ممنون میشم اگه بهترین برنامه رو برای این منظور بهم معرفی کنید؟!؟
ammi1378
ammi1378
۱۳۹۶/۱۲/۰۸
سلام!
دوستان جایی رو میشناسید که سورس های به زبان پایتون رو به اشتراک بذاره!
البته اشتراک که نه منظورم بیشتر معرفیه!مثلا کدهایی که تو گیت هاب هست یا ...
برای تمرین میخوام
ممنون
رضا بختیاری
رضا بختیاری
۱۳۹۶/۰۷/۳۰
Danke Sokanacademy
حسین کیان آرا
حسین کیان آرا
۱۳۹۶/۰۷/۱۴
ممنون از این اموزش لطفا آموزش پیشرفته تر پایتون را هم بزارید و دیگر با توجه به توسعه زورافزون و بسیار پرشتاب هوش مصنوعی اگر امکان داره اموزش های اولیه و یاد مقالات مرتبط جهت یادگیری در این خصوص بزارید ممنون
raharastin68
raharastin68
۱۳۹۶/۰۴/۲۴
سلام.خسته نباشید بخاطر سایت فوق العاده تون. یه سوال داشتم و خیلی خیلی ممنون میشم اگر جوابم رو بدید,من رشته تخصصیم گرافیک بوده و هیچ پیش زمینه خاصی در برنامه نویسی جز حالا یه سری اطلاعات جزئی اما خیلییی علاقه دارم که برنامه نویسی رو یاد بگیرم,میخاستم بدونم که از کجا باید شروع کنم,چه پیش زمینه ای لازمه و آیا خودخوان و از طریق مطالب سایت میتونم بدرستی برنامه نویسی رو یاد بگیرم یا حتما کلاس باید برم؟
soldier
soldier
۱۳۹۶/۰۳/۱۰
توضیحات مقدمه خوب بود همیشه موفق باشید
milad
milad
۱۳۹۵/۰۷/۰۴
با سلام . ممنون از این آموزش ها. میخاستم بدونم آیا فایل pdf یا ویدئویی این آموزش وجود نداره !!؟
13811383
13811383
۱۳۹۵/۰۶/۱۷
سلام من می خواستم بدانی که لا بایتون چگونه ویروس بنویسم وهک کنم متشکرازشما
farzad.80
farzad.80
۱۳۹۵/۰۶/۰۳
سلام من هر دو تا سوال آزمونو درست جواب دادم الان چجور میتونم برم تو بخش آموزش؟
کاربر میهمان
meysam rezaveisiمن یک کاربر مهمان هستم
۱۳۹۵/۰۵/۰۹
عالیه