پایتون یک زبان اسکریپتنویسی سطح بالا، تفسیرشونده، تعاملی و شیگرا با امکانات فراوان است. پایتون به دلیل ویژگیهایی مانند خوانایی، سادگی، کتابخانههای گسترده و بسیاری موارد دیگر، یک زبان برنامهنویسی همهکاره و بسیار محبوب محسوب میشود. در این آموزش، با ویژگیهای مختلف پایتون که آن را به یک زبان برنامهنویسی قدرتمند و چندمنظوره تبدیل کردهاند، آشنا خواهیم شد.
یادگیری آسان
این یکی از مهمترین دلایل محبوبیت پایتون است. پایتون مجموعه محدودی از کلمات کلیدی دارد. ویژگیهایی مانند نحو ساده، استفاده از تورفتگی (indentation) به جای استفاده از آکولادهای پیچیده و تایپ پویا که نیازی به اعلام قبلی متغیرها ندارد، به مبتدیان کمک میکند تا پایتون را بهراحتی و با سرعت یاد بگیرند.
تایپ پویا
پایتون یک زبان برنامهنویسی با تایپ پویا است. در پایتون، نیازی نیست هنگام تعریف متغیر، نوع آن را مشخص کنید. نوع متغیر در زمان اجرا و بر اساس مقداری که به آن اختصاص داده شده، تعیین میشود؛ که این ویژگی ناشی از خاصیت تایپ پویا در پایتون است.
مبتنی بر مفسر
دستورات در هر زبان برنامهنویسی باید به کد ماشین ترجمه شوند تا پردازنده بتواند آنها را اجرا کند. زبانهای برنامهنویسی یا مبتنی بر کامپایلر هستند یا مبتنی بر مفسر.در زبانهای مبتنی بر کامپایلر، نسخهای از کل برنامه منبع به زبان ماشین تولید میشود. اگر حتی یک دستور دارای خطا باشد، تبدیل متوقف میشود. بنابراین، این فرآیند برای مبتدیان دشوار و خستهکننده است. زبانهایی مانند C، C++، Java، و C# زبانهای مبتنی بر کامپایلر هستند.
پایتون یک زبان مبتنی بر مفسر است. مفسر، هر بار یک دستور از کد منبع را میگیرد، آن را به زبان ماشین ترجمه کرده و اجرا میکند. دستورات پیش از بروز اولین خطا اجرا میشوند. این ویژگی باعث میشود اشکالزدایی (debug) برنامه آسانتر شود و در نتیجه برای برنامهنویسان مبتدی مفید بوده و به آنها کمک میکند بهتدریج اعتماد به نفس پیدا کنند. بنابراین، پایتون یک زبان مناسب برای مبتدیان است.
تعاملی
توزیع استاندارد پایتون همراه با یک پوسته تعاملی ارائه میشود که بر پایه اصل REPL (خواندن، ارزیابی، چاپ، تکرار) کار میکند. این پوسته، یک اعلان پایتون به شکل >>> نمایش میدهد. شما میتوانید هر عبارت معتبر پایتون را وارد کرده و Enter را بزنید. مفسر پایتون بلافاصله پاسخ را بازمیگرداند و اعلان برای خواندن عبارت بعدی نمایش داده میشود.
>>> 2*3+1 7 >>> print ("Hello World") Hello World
حالت تعاملی
حالت تعاملی بهویژه برای آشنایی با یک کتابخانه و آزمودن عملکرد آن بسیار مفید است. شما میتوانید قطعات کوچک کد را در حالت تعاملی امتحان کنید، پیش از آنکه برنامه کامل را بنویسید.
چند پارادایمی
پایتون یک زبان کاملاً شیگرا است. همه چیز در یک برنامه پایتون یک شیء محسوب میشود. با این حال، پایتون بهراحتی شیگرایی خود را بهگونهای بستهبندی کرده است که بتوان آن را بهصورت یک زبان دستوری یا رویهای مانند C نیز استفاده کرد. همچنین، پایتون برخی از قابلیتها را فراهم میکند که به برنامهنویسی تابعی شباهت دارد. افزون بر این، ابزارهای شخص ثالثی نیز توسعه یافتهاند تا از سایر پارادایمهای برنامهنویسی مانند برنامهنویسی جنبهگرا (Aspect-Oriented) و منطقگرا (Logic Programming) پشتیبانی کنند.
کتابخانه استاندارد
با وجود آنکه پایتون کلمات کلیدی بسیار کمی دارد (فقط سی و پنج عدد)، نرمافزار پایتون همراه با یک کتابخانه استاندارد ارائه میشود که شامل تعداد زیادی ماژول و پکیج است. بنابراین، پایتون بهصورت پیشفرض از نیازهای مختلف برنامهنویسی مانند سریالسازی (Serialization)، فشردهسازی دادهها، پردازش دادههای اینترنتی و بسیاری موارد دیگر پشتیبانی میکند. پایتون بهخاطر رویکرد «همراه با باتری» (batteries included) خود شناخته شده است.
متنباز و چندسکویی
توزیع استاندارد پایتون را میتوان بدون هیچ محدودیتی از آدرس زیر دانلود کرد: https://www.python.org/downloads/ شما میتوانید نسخههای از پیش کامپایلشده برای سیستمعاملهای مختلف را دانلود کنید. علاوه بر آن، کد منبع نیز بهصورت رایگان در دسترس است، به همین دلیل پایتون در دسته نرمافزارهای متنباز (Open Source) قرار میگیرد.نرمافزار پایتون (همراه با مستندات آن) تحت مجوز Python Software Foundation منتشر میشود. این مجوز مشابه با مجوز BSD و از نوع مجاز و آزاد است و با مجوز GNU GPL (مجوز عمومی همگانی) نیز سازگار است.
پایتون یک زبان چندسکویی (Cross Platform) است. نسخههای از پیش کامپایلشده برای سیستمعاملهای مختلفی مانند Windows، Linux، Mac OS و Android OS در دسترس هستند. پیادهسازی مرجع پایتون با نام CPython شناخته میشود که به زبان C نوشته شده است. شما میتوانید کد منبع آن را دانلود کرده و برای سیستمعامل خود آن را کامپایل کنید.برنامههای پایتون ابتدا به یک بایتکد مستقل از پلتفرم کامپایل میشوند. سپس ماشین مجازی درون مفسر، این بایتکد را اجرا میکند. این رفتار باعث میشود پایتون یک زبان چندسکویی باشد و برنامههای آن بهراحتی بین سیستمعاملهای مختلف قابل جابهجایی باشند.
برنامههای گرافیکی (GUI Applications)
توزیع استاندارد پایتون دارای یک کتابخانه گرافیکی بسیار عالی به نام Tkinter است. این کتابخانه نسخه پایتونی ابزار محبوب گرافیکی TCL/Tk میباشد. با استفاده از Tkinter میتوانید برنامههای گرافیکی زیبا و کاربرپسند بسازید. ابزارهای رابط گرافیکی معمولاً به زبان C یا C++ نوشته میشوند و بسیاری از آنها به پایتون نیز منتقل شدهاند. از جمله این ابزارها میتوان به PyQt، WxWidgets و PySimpleGUI اشاره کرد.
اتصال به پایگاه داده (Database Connectivity)
تقریباً هر نوع پایگاه دادهای را میتوان بهعنوان بکاند (Backend) برای برنامههای پایتون استفاده کرد. DB-API مجموعهای از استانداردها برای نرمافزارهای درایور پایگاه داده است که امکان ارتباط پایتون با پایگاه دادههای رابطهای را فراهم میکند. با استفاده از کتابخانههای جانبی، پایتون همچنین میتواند با پایگاهدادههای NoSQL مانند MongoDB نیز کار کند.
قابلیت گسترش (Extensible)
قابلیت گسترش به معنای توانایی اضافه کردن ویژگیهای جدید یا اصلاح ویژگیهای موجود است. همانطور که گفته شد، پیادهسازی مرجع پایتون یعنی CPython به زبان C نوشته شده است. بنابراین، میتوان بهراحتی ماژولها یا کتابخانههایی را به زبان C نوشت و آنها را در کتابخانه استاندارد پایتون جای داد.
همچنین پیادهسازیهای دیگری از پایتون نیز وجود دارد، مانند:
- Jython که به زبان Java نوشته شده
- IronPython که به زبان C# نوشته شده
بنابراین میتوان قابلیتهای جدیدی را با زبانهای Java یا C# در این نسخهها گنجاند.
جامعه فعال توسعهدهندگان
به دلیل محبوبیت و ماهیت متنباز پایتون، تعداد زیادی از توسعهدهندگان پایتون در انجمنهای آنلاین و کنفرانسها مشارکت فعال دارند. بنیاد نرمافزار پایتون (Python Software Foundation) نیز اعضای زیادی دارد که در راستای ماموریت این سازمان یعنی: «ترویج، حمایت و پیشرفت زبان برنامهنویسی پایتون» فعالیت میکنند.
پایتون همچنین از پشتیبانی مؤسسات بزرگ فناوری برخوردار است. شرکتهای بزرگی مانند گوگل (Google)، مایکروسافت (Microsoft) و متا (Meta) بهطور گستردهای با تهیه مستندات و منابع، به رشد و توسعه پایتون کمک میکنند.
سایر ویژگیهای مهم پایتون
علاوه بر ویژگیهایی که تاکنون ذکر شد، پایتون دارای لیست بلندبالایی از ویژگیهای مفید دیگر است که برخی از آنها عبارتاند از:
- پشتیبانی از روشهای برنامهنویسی تابعی (Functional) و ساختاری (Structured) در کنار شیگرا (Object-Oriented)
- قابلیت استفاده بهعنوان زبان اسکریپتنویسی یا کامپایل به بایتکد برای ساخت برنامههای بزرگ
- فراهمسازی انواع دادهای پویا در سطح بالا و پشتیبانی از بررسی نوع پویا (Dynamic Type Checking)
- پشتیبانی از جمعآوری خودکار زبالهها (Garbage Collection)
- قابلیت ادغام آسان با زبانهایی مانند C، C++، COM، ActiveX، CORBA و Java