این زبان تاکنون توسط شرکت یا سازمانهای مطرح زیادی مورد استفاده قرار گرفته و در طراحی سایت رایگان و
برنامههای کاربردی زیادی نیز از آن استفاده شده است که از جمله این موارد میتوان به: reddit ،Pinterest
،Instagram (شبکههای اجتماعی) / Google (موتور جستجوگر و نیز سرویس یوتیوب) / Yahoo (سرویس نقشه) /
IBM ،Intel ،Cisco ،Seagate (تست سختافزار) / Dropbox (سرویس میزبانی ابری فایل) / EVE Online
(بازیهای آنلاین) / NASA ،Los Alamos (امور علمی) / iRobot (رباتیک) / Pixar ،Industrial Light and Magic
،Walt Disney (ساخت فیلمهای انیمیشن) / BitTorrent (اشتراک فایل نظیر به نظیر) / CIA (وبسایت) / PayPal
(سیستم انتقال پول آنلاین) / Mercurial (سیستم کنترل نسخه) / ESRI (نقشهبرداری در برنامه GIS) و بسیاری
دیگر [4] اشاره نمود.
نکته مهم در مورد زبان برنامهنویسی پایتون، انواع پیادهسازی (Implementation) آن است. تاکنون از این زبان
پیادهسازیهای گوناگون و با اهداف متفاوتی توسعه یافته است که از این بین میتوان به Jython (خاص ماشین
مجازی جاوا)، IronPython (خاص چارچوب NET. مایکروسافت)، PyPy (با هدف سرعت اجرای بیشتر)، Stackless
(با هدف اجرای بهتر برنامههای چندنخی) و البته CPython اشاره نمود.
پایتون یک زبان برنامهنویسی طراحی سایت رایگان ، متن باز (Open Source) و با بیانی کاملتر، آزاد است که
هماکنون (یعنی از نسخه 2.1 و جدیدتر) پروانه آن توسط « بنیاد نرمافزار پایتون» PSF اداره میگردد. پروانه پایتون
سازگار با پروانه GPL3 است، با این حال به برنامهنویس این اجازه را میدهد که بتواند برنامهای با سورس بسته
(Closed Source) تولید نماید.
پایتون یک زبان برنامهنویسی همه منظوره (General-Purpose) است به این معنی که میتوان از آن در توسعه طیف
گستردهای از انواع برنامهها در حوزههای نرمافزاری گوناگون بهره برد؛ از جمله در توسعه برنامههای تحت وب و
برنامههایی با قابلیت « واسط گرافیکی کاربر» (GUI).
پایتون یک زبان برنامهنویسی به همراه مجموعه بزرگی از قابلیتهای از پیش آماده و قابل حمل است که به عنوان
کتابخانه استاندارد آن شناخته میشود. همچنین در کنار این کتابخانه میتوان از طیف بسیار وسیعی از
کتابخانههای شخص ثالث (Third-Party) پایتون نیز بهره برد. کتابخانههای شخص ثالث ابزارهای مفیدی را در امور
فروانی همچون: برنامهنویسی علمی ~ NumPy ،SciPy / پردازش زبانهای طبیعی NLTK / ارتباط درگاه سریال
PySerial / ایجاد بازیPyGame ،Pyglet ،PyOpenGL ،PySoy / هوش مصنوعی PyBrain / ایجاد وب سایتDjango
،Flask ،Bottle ،CherryPy / پردازش تصویرPIL/Pillow ،PythonMagick / واسط گرافیکی کاربر PyGtk ،PyQt
،WxPython / کار با اسناد rdflib / pdf / رمزنگاری PyCrypto ،pyOpenSSL ،cryptography و بسیاری دیگر. که
مدام در حال توسعه هستند و بر تعداد و تنوع آنها نیز افزوده میشود را در اختیار برنامهنویسان پایتون قرار
میدهند.
پایتون یک زبان برنامهنویسی طراحی سایت رایگان پویا (Dynamic) بوده و نیز از قابلیت مدیریت خودکار حافظه برخوردار
است. این زبان شباهتهایی با TCL ،Perl ،Ruby ،PHP یا دیگر زبانهای برنامهنویسی پویا دارد. در این نوع زبانها
برخلاف زبانهای ایستا (Static) مانند C++ ،C و Java نیازی به تعریف صریح نوع متغیرها (Variables) نیست و
همچنین نوع متغیر در طول برنامه قابل تغییر است. در زبانهای پویا متغیرها از خود نوعی ندارند و تصمیم گیری
برای تخصیص نوع در زمان اجرا (RunTime) انجام میپذیرد.
یک کامپایلر (در زبانهای کامپایلشده) تمامی سطرهای سورس کد برنامه را به صورت یکجا خوانده و سپس با
ساخت یک فایل جدید و مستقل از سورس کد با نام «کد مقصد یا آبجکت کد» (Object Code) یا فایل اجرایی
(Executable) عمل ترجمه به زبان ماشین را پایان میبخشد. برنامه حاصل از کامپایلر توانایی هر چند بار اجرا در
رایانه مقصد، بدون نیاز به کامپایل دوباره را دارد، اما فاقد حملپذیری بوده و کاربر نهایی نیز به هیچ عنوان توانایی
دسترسی به سورس کد برنامه و تغییر یا ویرایش آن را نخواهد داشت. اما یک مفسر (در زبانهای تفسیرشده)
سورس کد برنامه را به صورت سطر به سطر میخواند و هر سطر را به صورت جداگانه به زبان ماشین ترجمه و
سپس بلافاصله آن را اجرا میکند. به این صورت که هنگامی یک سطر در حال اجراست در همان لحظه سطر بعدی
در حال ترجمه به زبان ماشین میباشد. برنامههای نوشته شده با زبانهای برنامهنویسی تفسیرشده برای هر بار
اجرا در رایانه هدف نیاز به تفسیر دوباره دارند. این تفاوت عملکرد گرچه باعث کاهش سرعت اجرای برنامههای
تفسیرشده نسبت به برنامههای کامپایلشده میشود ولی خواندن سطر به سطر کدها در مفسر علاوه بر قابلیت
تشخیص خطای بهتر، این امکان را بوجود میآورد که هر کاربری بتواند حتی در زمان اجرای برنامه سورس کد را
ویرایش و تغییر دهد؛ این دسته از زبانها در مواقعی که پیوسته نیاز به افزودن ویژگیهای متفاوت به برنامه است
بسیار مورد توجه قرار گرفتهاند.
پایتون یک زبان برنامهنویسی قابلحمل (Portable) است. میتوان گفت سورس کد برنامهای به این زبان قابلیت
اجرا در هر رایانهای را دارد. بایتکد پایتون شبیه به زبان ماشین است ولی با این تفاوت که مخصوص هیچ ماشین
(یا رایانه) خاصی نیست. در مقابل، وقتی سورس کد برنامهای توسط کامپایلر به زبان ماشین ترجمه میشود،
نتیجه آن فایلی است که تنها در ماشینهایی که این کد برای آنها (متناسب با معماری پردازنده) ترجمه شده
است، قابل اجرا میباشد ولی بایتکد پایتون به کمک ماشین مجازی خود این توانایی را دارد که در هر ماشینی
اجرا گردد.
معمولا افراد در مواجه با یادگیری زبان پایتون نگرانیهایی در مورد کارایی (Performance) برنامههای توسعه یافته
با این زبان خواهند داشت به خصوص در جایگاه مقایسه با زبان Java، به هر حال پایتون یک زبان تفسیرشده است
و در اجرا سرعت کمتری نسبت به زبانهای کامپایلشده مانند C و Java خواهد داشت. معمولا کارایی بالا برابر با
سرعت بالاست ولی قضاوت در مورد کارایی به این سادگی درست نیست!در بسیاری از کاربردها سرعت پایتون
کاملا قابل قبول است، وجود بایتکد موجب افزایش سرعت در اجراهای بعدی برنامه میشود و نکات برنامهنویسی
زیادی برای بهبود سرعت اجرا در پایتون وجود دارد که در این کتاب به تدریج اشاره خواهد شد. نباید فراموش کرد که
یکی از مهمترین عاملهای کارایی داشتن الگوریتمی بهینه است و البته نوشتن ماژولها به زبان C نیز موجب
افزایش قابل توجه کارایی پایتون میشود - پایتون کند است اگر اشتباه استفاده شود - با این وجود در حالت عادی
اگر هزار مورد وجود داشته باشد که پایتون برای آنها بهترین انتخاب باشد، سرعت یکی از آنها نخواهد بود و برای
توسعه طراحی سایت رایگان برنامههایی که سرعت اجرا نقش بسیار تعیین کنندهای دارد باید از زبانهای دیگری استفاده
نمایید.
در یک سیر تاریخی، نسخه پایدار 2.0 در شانزدهم اکتبر سال ۲۰۰۰ میلادی و در ادامه نسخه 1.6 منتشر (Release) میشود؛ پس از آن نیز توسعه پایتون به همان صورت پیشین ادامه مییابد تا این که در دسامبر سال ۲۰۰۸ میلادی نسخهای از پایتون با شماره 3.0 که از آن با عنوان ”Python 3000 یا ”Py3K نیز یاد میشود، با رویکرد شکستن «سازگاری با نسخههای پیشین» طراحی سایت رایگان (Backward Compatibility) منتشر میگردد. به بیان دیگر: مفسر نسخههای جدید (3x) پایتون قادر به اجرای سورس کدی که بر پایه مفسر نسخههای پیشین تهیه شده است، نخواهد بود. (که این اتفاق در جامعه پایتون بسیار بحث برانگیز بوده و هست!)
درباره این سایت