پایتون زبانی سطح بالا (High Level)، تفسیری (Interpreted) است که برای اهداف مختلفی مورد استفاده قرار می گیرد. پایتون در سال ۱۹۹۰ توسط فان روسوم و به صورت متن (Open Source)  باز ایجاد شده است. کدهای نوشته شده توسط پایتون را می توان بر روی تمامی سیستم عامل ها مانند سیستم عامل ویندوز، مکینتاش، لینوکس و حتی اندروید اجرا کرد، بنابراین پایتون جز زبان های چند سکویی (Multi Platform) است.

شرکت های بزرگی مانند گوگل و یاهو از پایتون استفاده می کنند. همچنین به دلیل متن باز بودن و چند سکویی بودن افراد بسیاری از آن استفاده و آنرا توسعه می دهند. توسعه دهندگان مختلف برای پایتون ماژول ها (Modules) و چارچوب های (Frameworks) متعددی را ب صورت متن باز نوشته اند که باعث بکار گرفتن پایتون برای اهداف و وظایف مختلف و توسعه نرم افزارهای مختلف شده است.

در کنار متن باز بودن، تعداد زیاد کاربران (برنامه نویس ها)، توسعه دهندگان، ماژول ها و چارچوب و قابل استفاده بودن برای اهداف مختلف، ساده بودن پایتون یکی دیگر از دلایل رشد این زبان برنامه سازی است. در قیاس با زبان هایی مانند C، پایتون هم ساده تر یاد گرفته می شود و هچنین ساده تر می توان کد نویسی کرد.

در قیاس با کدهای لازم در زبان هایی مانند C برای نوشتن یک پیغام ساده بر روی ترمینال، قطعه کد ۱ سادگی زبان پایتون را نشان می دهد. همراه پایتون تعداد زیادی تابع درونی (Build-in Functions) و ماژول نصب می شود که عمومی ترین تا پیشرفته ترین ویژگی ها و نیازها را فراهم می کنند. پایتون یک زبان برنامه نویسی نوع پویا (Dynamic Type) است. در زبان های نوع استاتیک (Static Type)، نوع یک متغیر در زمان کامپایل (ترجمه – Compile) بررسی می شود و برنامه نویس های این زبان ها باید از قبل نوع متغیر را حتما مشخص کرده باشند.

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

کاربردهای پایتون در زمینه های مختلف

پایتون در زمینه برنامه نویسی شبکه، پردازش موازی، سیستم های توزیع شده، برنامه نویسی تحت وب، وب اسکرپینگ (Web Scraping)، پردازش و تحلیل داده ها، داده کاوی و یادگیری ماشین (Data Mining and Machine Learning) استفاده در چارچوب اسپارک (Spark) در پردازش کلان داده ها (Big Data)، تولید برنامه های گرافیکی (GUI) برای سیستم عامل های مختلف، تولید بازی های رایانه ای و بسیاری دیگر از زمینه ها کاربرد دارد.

۱ – توسعه برنامه های تحت وب

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

2 – توسعه برنامه های پایگاه داده

پایتون از بیشتر پایگاه داده های SQL و NoSQL پشتیبانی می کند. می توانید ماژول یا درایور پایگاه داده دلخواه را نصب کرده و سپس با پایگاه داده هم کنشی (تعامل) داشته باشید. SQLAlchemy یکی از ORM های مشهور در زبان پایتون است.

دوره برنامه نوسی SqlAlchemy

3 – استخراج داده های وب و وب اسکرپینگ

در این کاربرد شما می خواهید با هم کنشی و ارتباط با سایت ها، محتوای آن سایت ها مانند متن و تصویر و ویدیو و غیره را به صورت خودکار و از راه اسکریپت پایتون، استخراج کنید. در این راه ماژول های ویژه ای مانند BeautifulSoup و Selenium و Scrapy هستند.

دوره استخراج داده های وب و وب اسکرپینگ

3 – برنامه نوسی هوش مصنوعی

پایتون سرشار از ماژول هایی برای زمینه هوش مصنوعی مانند پردازش تصویر، یادگیری ماشین و شبکه های عصبی و یادگیری ژرف است. در زیر برخی از این دوره ها فهرست شده اند. از دسته ماژول های رایج در زمینه هوش مصنوعی می توان به OpenCV و ماژول های NumPy و Pandas و ماژول Scikit-Learn برای یادگیری ماشین و Keras و Tensorflow برای یادگیری ژرف نام برد.

دوره شروع یادگیری ماشین در پایتون

دوره استخراج داده های وب و وب اسکرپینگ

دوره شبکه عصبی و یادگیری ژرف

دوره پردازش تصویر

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