طراحی سایت با پایتون - 5.0 از 5 بر اساس 4 رای

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره فعالستاره فعال
 

پایتون از اواخر سال 1980 میلادی آغاز می‌شود، آقای روسوم پس از پایان دانشگاه به عنوان یک برنامه‌نویس وارد تیم توسعه‌ زبانABC   در مرکز Centrum Wiskunde & Informatica) واقع در آمستردام هلند می‌شود.
ABC یک زبان برنامه‌نویسی تفسیر‌شده (Interpreted) با اهداف آموزشی است که از اواخر دهه هفتاد میلادی، تحت پروژه‌ای در این مرکز آغاز شده بود. وی چهار یا پنج سال بعد، زمانی که از پروژه‌ زبان ABC نتیجه‌ مطلوب حاصل نمی‌گردد از آن خارج و به تیم توسعه‌ سیستم عامل آمیب (Amoeba) می‌پیوندد. این موضوع از آن جهت دارای اهمیت است که در هنگام کار بر روی این سیستم عامل بود که آقای روسوم به فکر ایجاد یک زبان اسکریپتی (Scripting Language) جدید می‌افتد.
در دسامبر سال ۱۹۸۹ میلادی، تعطیلات کریسمس فرصتی می‌شود تا آقای روسوم به ایده سرگرم کننده‌  خود بپردازد. البته پس از آن نیز زمان زیادی از وقت‌های آزاد خود را برای پیشرفت پروژه‌ای که ”Python“ نامیده بود صرف می‌کند. در این مسیر، تجربه‌ کار بر روی زبان ABC و همینطور مطالعات وی بر روی زبان‌ Modula-3 نقش فراوانی داشته است، در‌ واقع او یک نسخه‌ شخصی از بخش‌های مورد علاقه‌ خود از ABC ایجاد نمود. در واقع ون راسوم، نویسنده اصلی پایتون است.
منشا انتخاب نام پایتون توسط آقای روسوم برخلاف تصور عمومی یا آنچه که از لوگوی آن مشاهده می‌شود به نوع خاصی از مار مربوط نمی‌شود!؛ در حقیقت این نام برگرفته از یک سریال کمدی تولید انگلستان با عنوان ”Monty Python’s Flying Circus“ می‌باشد که پخش اصلی آن در طی سال‌های ۱۹۶۹ تا ۱۹۷۴ میلادی از شبکه‌ BBC One بوده است.
یک سال بعد آقای روسوم از پایتون در پروژه‌ آمیب استفاده می‌کند؛ نتیجه‌ مطلوب و نیز بازخورد آن در بین همکارانش موجب می‌شود تا وی به بسیاری از بهینه سازی‌های اولیه در پایتون اقدام نماید. این روند ادامه می‌یابد تا اینکه سرانجام در ماه دوم از سال ۱۹۹۱ میلادی این زبان را با نسخه 0.9.0 منتشر می‌سازد که با استقبال بالایی نیز رو به رو می‌گردد. البته در این مرحله از پیشرفت وجود داشت.
زبان برنامه‌نویسی پایتون همانطور که اشاره شد در سال ۱۹۹۱ میلادی توسط آقای روسوم خلق شده و توسعه‌ آن نیز زیر نظر مستقیم اوست. آقای روسوم زاده‌ سال ۱۹۵۶ میلادی و نخستین دارنده‌ عنوان BDFL (دیکتاتور خیرخواه جاویدان)‌ می‌باشد و هم اکنون (سال ۲۰۱۵) در شرکت Dropbox مشغول به کار است.
توسعه‌ پایتون با عصر توسعه و محبوبیت زبان‌های متن باز دیگری همچون Tcl ،Perl و Ruby هم‌ زمان بوده که این امر به پیشرفت و توسعه‌ آن کمک زیادی کرده است.
پایتون یک جامعه‌ کاربری بسیار بزرگ و پویا به همراه خود دارد که عامل پیشرفت و توسعه‌ بسیار مهمی برای هر زبان برنامه‌نویسی به شمار می‌رود. این جامعه هر ساله با برپایی همایش‌های گوناگون در سراسر جهان به تبادل آموخته‌ها می‌پردازد. یکی از رایج‌ترین این همایش‌ها PyCon (پای‌کان) می‌باشد که خوشبختانه ‌در ایران (PyCon Iran یا PyIran) نیز برگزار می‌شود.
این زبان تاکنون توسط شرکت یا سازمان‌های مطرح زیادی مورد استفاده قرار گرفته و در برنامه‌های کاربردی زیادی نیز از آن استفاده شده است که از جمله این موارد می‌توان به: 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 اشاره نمود.

ویژگی ها
در سال ۲۰۰۰ تیم توسعه دهنده پایتون به BeOpen.com منتقل شد و بدین صورت تیم کتابخانه باز پایتون شکل گرفت.
پایتون یک زبان برنامه‌نویسی رایگان، متن باز (Open Source) و با بیانی کامل‌تر، آزاد است که هم‌‌اکنون (یعنی از نسخه‌ 2.1 و جدیدتر) پروانه‌ آن توسط « بنیاد نرم‌افزار پایتون» PSF اداره می‌گردد. پروانه‌ پایتون سازگار با پروانه‌ GPL3 است، با این حال به برنامه‌نویس این اجازه را می‌دهد که بتواند برنامه‌ای با سورس بسته (Closed Source) تولید نماید.
زبان پایتون از اجزای بسته نرم‌افزاری LAMP  نیز به شمار می‌رود. این بسته عبارت است از: Linux  سیستم عامل / Apache  وب سرور / MySQL یا MariaDB  پایگاه‌ داده / Python یا Perl یا PHP  زبان برنامه‌نویسی.
این زبان خیلی پیش‌تر از آنکه حتی Eric Raymond و Bruce Perens از Open 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) انجام می‌پذیرد.
بر خلاف زبان C، در پایتون اختصاص و آزاد‌سازی حافظه (Memory) به صورت خودکار انجام می‌شود. پایتون برای آزاد‌سازی حافظه از دو روش شمارش ارجاع (Reference Counting) و زباله روبی (Garbage Collection) بهره می‌گیرد.
با اینکه پایتون یک زبان پویاست ولی در عین حال یک زبان "وابسته شدید به نوع" (Strongly Typed) نیز می‌باشد. در این نوع زبان‌ها (به مانند Java) تغییر ناگهانی و خودکار نوع داده (یا شی) انجام نمی‌شود؛ به عنوان نمونه چنانچه در پایتون عمل جمع بین یک نوع داده عددی مانند 3 و یک نوع داده غیر عددی مانند "7" صورت گیرد، یک Exception یا استثنای TypeError گزارش می‌گردد. در مقابل، زبان‌های "وابسته ضعیف به نوع" (Weak Typed) قرار دارند؛ در این زبان‌ها (به مانند Perl) نوع بر حسب موقعیت به صورت خودکار تغییر داده می‌شوند. در این مورد زبان‌های برنامه‌نویسی رفتارهای متفاوتی دارند،‌ به عنوان نمونه حاصل عبارت "7" + 3 در زبان Perl با تبدیل (Convert)‌ خودکار نوع داده غیر عددی "7" به عدد (7)، مقدار 10 محاسبه می‌گردد.
پایتون یک زبان برنامه‌نویسی سطح بالا (High-Level) به مانند C ،Ruby ،PHP و Java است که به وسیله‌ آن عمل برنامه‌نویسی به آسانی و با سرعتی بالا انجام می‌پذیرد و بر‌خلاف زبان برنامه‌نویسی سطح پایینی (Low-Level) مانند Assembly، برنامه‌نویس را درگیر مسایل خاص موجود در این سطح به مانند کار با ثبات‌ها (Registers)، آدرس‌های حافظه و غیره... نمی‌سازد.
پایتون یک زبان برنامه‌نویسی چند‌ الگویی (Multi-Paradigm) است و برنامه‌نویس را مجبور به رعایت الگوی خاصی نمی‌کند. این زبان از الگوهای: دستوری (Imperative) یا رویه‌ای (Procedural)، تابعی (Functional) و شی‌گرایی (Object-Oriented) پشتیبانی می‌کند؛ البته همانطور که گفته شد نمی‌توان پایتون را به صورت خالص (Pure) متعلق به هر یک از این الگوها دانست.
جدا از پشتیبانی الگوی برنامه‌نویسی شی‌گرا، ساختار پایتون به صورت کامل شی‌گراست و هر چیزی در این زبان یک شی (Object) است؛ در آینده بیشتر در این مورد صحبت خواهیم کرد.
پایتون (پیاده‌سازی CPython) به عنوان یک زبان تفسیر‌شده (Interpreted) شناخته می‌شود. با یک تعریف کلی در این نوع زبان‌ها کار خواندن سورس کد برنامه، ترجمه به زبان ماشین و در نهایت اجرای آن توسط یک مفسر انجام می‌گیرد. در پایتون عمل ترجمه و اجرای سورس کد را می‌توان در دو مرحله متوالی خلاصه نمود:

۱- کامپایل سورس کد به بایت‌کد (ByteCode)
۲- تفسیر بایت‌کد به زبان ماشین و اجرای آن

به این صورت که ابتدا سورس کد برنامه‌ به یک زبان میانی نزدیک به زبان ماشین با نام بایت‌کد ترجمه می‌شود و سپس بایت‌کد حاصل به ماشین مجازی (Virtual Machine) - به عنوان موتور زمان‌اجرای پایتون - فرستاده و توسط آن تفسیر و اجرا می‌گردد.

 

 

تفاوت عملکرد کامپایلر و مفسر
یک کامپایلر (در زبان‌های کامپایل‌شده) تمامی سطرهای سورس کد برنامه را به صورت یکجا خوانده و سپس با ساخت یک فایل جدید و مستقل از سورس کد با نام «کد مقصد یا آبجکت کد» (Object Code) یا فایل اجرایی (Executable) عمل ترجمه به زبان ماشین را پایان می‌بخشد. برنامه حاصل از کامپایلر توانایی هر چند بار اجرا در رایانه مقصد، بدون نیاز به کامپایل دوباره را دارد، اما فاقد حمل‌پذیری بوده و کاربر نهایی نیز به هیچ عنوان توانایی دسترسی به سورس کد برنامه و تغییر یا ویرایش آن را نخواهد داشت. اما یک مفسر (در زبان‌های تفسیر‌شده) سورس کد برنامه را به صورت سطر به سطر می‌خواند و هر سطر را به صورت جداگانه به زبان ماشین ترجمه و سپس بلافاصله آن را اجرا می‌کند. به این صورت که هنگامی یک سطر در حال اجراست در همان لحظه سطر بعدی در حال ترجمه به زبان ماشین می‌باشد. برنامه‌های نوشته شده با زبان‌های برنامه‌نویسی تفسیر‌شده برای هر بار اجرا در رایانه هدف نیاز به تفسیر دوباره دارند. این تفاوت عملکرد گرچه باعث کاهش سرعت اجرای برنامه‌های تفسیر‌شده نسبت به برنامه‌های کامپایل‌شده می‌شود ولی خواندن سطر به سطر کدها در مفسر علاوه بر قابلیت تشخیص خطای بهتر، این امکان را بوجود می‌آورد که هر کاربری بتواند حتی در زمان اجرای برنامه سورس کد را ویرایش و تغییر دهد؛ این دسته از زبان‌ها در مواقعی که پیوسته نیاز به افزودن ویژگی‌های متفاوت به برنامه است بسیار مورد توجه قرار گرفته‌اند.
پایتون یک زبان برنامه‌نویسی قابل‌حمل (Portable) است. می‌توان گفت سورس کد برنامه‌ای به این زبان قابلیت اجرا در هر رایانه‌ای را دارد. بایت‌کد پایتون شبیه به زبان ماشین است ولی با این تفاوت که مخصوص هیچ ماشین (یا رایانه) خاصی نیست. در مقابل،‌ وقتی سورس کد برنامه‌ای توسط کامپایلر به زبان ماشین ترجمه می‌شود، نتیجه آن فایلی است که تنها در ماشین‌هایی که این کد برای آن‌ها (متناسب با معماری پردازنده) ترجمه شده است، قابل اجرا می‌باشد ولی بایت‌کد پایتون به کمک ماشین مجازی خود این توانایی را دارد که در هر ماشینی اجرا گردد.
بر همین اساس، هم اکنون سورس کد یک برنامه به زبان پایتون بدون نیاز به هیچ تغییری در تمام سیستم‌های عامل‌ مطرح قابل اجراست.

پایتون دارای دستور زبانی تمیز و خوانایی (Readability) بالای کد است. خوانایی در طراحی پایتون مورد تاکید بوده و در کنار شی‌گرایی از مهم‌ترین ویژگی‌های یک کد به جهت استفاده مجدد می‌باشد. پایتون به مانند زبان ABC از روش «تو‌رفتگی» بوسیله‌ فضاهای خالی برای بلاک‌بندی [12] استفاده می‌کند. در پایتون اجباری به استفاده از نقطه ویرگول (Semicolon) ; و برخی پرانتز گذاری‌ها نمی‌باشد و البته وجود انواع داده (Data Types) - البته به بیانی درست‌تر «انواع شی» - متنوع و نیز پویایی پایتون موجب کمتر شدن حجم کد‌نویسی و صرفه‌جویی در زمان توسعه نسبت به زبان‌هایی به مانند C++ ،C و حتی Java می‌شود. تحقیقات نشان می‌دهند: کاری که یک برنامه‌نویس پایتون می‌تواند در مدت زمان دو ماه به انجام برساند، با برنامه‌نویس ++C در مدت یک سال قادر به تکمیل آن نخواهند بود!
پایتون یک زبان برنامه‌نویسی توسعه‌پذیر (Extensible) است. کدهای نوشته شده با پایتون را می‌توان به دیگر سورس کدهای این زبان افزود و همچنین می‌توان از کتابخانه‌ها و کدهای نوشته شده با دیگر زبان‌های برنامه‌نویسی در میان کدهای پایتون استفاده کرد (مانند C و ++C در پیاده‌سازی CPython یا Java در پیاده‌سازی Jython).

پایتون یک زبان حساس به حرف (Case Sensitive) است. در این نوع زبان‌ها (مانند C ،C++ ،Java ،Perl و غیره...) بین حروف کوچک (Lowercase) و بزرگ (Uppercase) به مانند a و A تفاوت وجود دارد. با توجه به این موضوع، مفسر پایتون بین کلمات True ،true و TRUE تمایز می‌گذارد.

کارایی
معمولا افراد در مواجه با یادگیری زبان پایتون نگرانی‌هایی در مورد کارایی (Performance) برنامه‌های توسعه یافته با این زبان خواهند داشت به خصوص در جایگاه مقایسه با زبان Java، به هر حال پایتون یک زبان تفسیر‌شده است و در اجرا سرعت کمتری نسبت به زبان‌های کامپایل‌شده مانند C و Java خواهد داشت. معمولا کارایی بالا برابر با سرعت بالاست ولی قضاوت در مورد کارایی به این سادگی درست نیست!

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

لازم است به این نکته هم توجه داشته باشیم که تمام این صحبت‌ها در مورد پیاده‌سازی CPython از زبان پایتون بوده و پیاده‌سازی‌های دیگری نیز از زبان پایتون با هدف سرعت بالای اجرا (به مانند PyPy) توسعه یافته است.

نسخه ها
در یک سیر تاریخی، نسخه‌ پایدار 2.0 در شانزدهم اکتبر سال ۲۰۰۰ میلادی و در ادامه‌ نسخه 1.6 منتشر (Release) می‌شود؛ پس از آن نیز توسعه‌ پایتون به همان صورت پیشین ادامه می‌یابد تا این که در دسامبر سال ۲۰۰۸ میلادی نسخه‌ای از پایتون با شماره‌ 3.0 که از آن با عنوان ”Python 3000“ یا ”Py3K“ نیز یاد می‌شود، با رویکرد شکستن «سازگاری با نسخه‌های پیشین» (Backward Compatibility) منتشر می‌گردد. به بیان دیگر: مفسر نسخه‌های جدید (3x) پایتون قادر به اجرای سورس کدی که بر پایه‌ مفسر نسخه‌های پیشین تهیه شده است، نخواهد بود. (که این اتفاق در جامعه پایتون بسیار بحث برانگیز بوده و هست!)

ظاهرا آقای روسوم خیلی پیش از این زمان نیاز به ایجاد یک سری تغییرات در ساختار و سینتکس این زبان را احساس کرده بود. شاید نخستین نشانه‌ از لزوم ایجاد تغییرات در پایتون را بتوان از صحبت‌های ایشان در همایش متن باز اوریلی (OSCON) سال ۲۰۰۲ با عنوان «پشیمانی‌های پایتون» (Python Regrets) دریافت کرد. به هر صورت تیم توسعه‌ پایتون در پی رفع این نیاز، از بین حفظ گذشته‌ پایتون و پایبندی به فلسفه‌ سادگی آن؛ دومی را انتخاب می‌کند، ویژگی‌های کهنه کنار گذاشته و ویژگی‌های جدید جایگزین می‌گردند.

با انتشار یک نسخه‌ جدید به صورت معمول می‌بایست توسعه‌ نسخه‌ قدیمی متوقف شود، ولی از آنجا که زیر‌ساخت شرکت‌های بزرگی به پایتون وابسته بوده (مانند Google) و ارتقا نسخه برای آن‌ها حداقل بسیار زمان‌بر خواهد شد، برنامه‌ها و کتابخانه‌های کوچک و بزرگ بسیار زیادی توسط کاربران جامعه‌ پایتون برای نیاز‌های ریز و کلان گوناگونی توسعه یافته است که سازگار شدن تمام آن‌ها با نسخه‌ جدید پایتون بعید به نظر می‌رسد و از همه مهم‌تر خود برنامه‌نویسان پایتون می‌باشند که پس از سال‌ها اکنون مجبور هستند کارهای دیروز خود را با سینتکس و در مواقعی حتی با کتابخانه و ماژول‌هایی متفاوت به انجام برسانند؛ تیم توسعه‌ پایتون، برای پر کردن شکاف به وجود آمده بین دیروز و امروز پایتون یا به بیانی هموار کردن مسیر مهاجرت به نسخه‌ جدید پایتون،‌ علاوه بر اینکه از پیش سعی کرده بود تا ویژگی‌های جدید و سینتکس نسخه‌ 3.0 را به نسخه‌ 2.6 (که دو ماه زودتر منتشر شده بود) پورت (Port) کند، به توسعه‌ نسخه قدیمی پایان نمی‌دهد و نسخه‌ دیگری را با شماره‌ 2.7 در سوم جولای ۲۰۱۰، تقریبا یک سال پس از انتشار نسخه‌ 3.1 به همراه بسیاری از ویژگی‌های جدید آن منتشر می‌سازد.

بر طبق سند PEP 404، هرگز نسخه‌ای با شماره‌ 2.8 به صورت رسمی منتشر نخواهد شد و نسخه‌ 2.7 با یک پشتیبانی طولانی مدت، نقطه‌ پایان نسخه‌ قدیمی پایتون خواهد بود. ابتدا قرار شد از این نسخه به مدت پنج سال پشتیبانی (تلاش برای رفع باگ‌ها) شود ولی چند ماه پیش، این زمان به ده سال یعنی تا سال ۲۰۲۰ افزایش یافت.

نسخه‌ پایدار (Stable) پایتون با قالب A.B.C؛ مانند 3.4.2 شماره‌‌گذاری و منتشر می‌شود. عدد A، بخش اصلی (Major) شماره نسخه است و زمانی افزایش می‌یابد که واقعا تغییرات بزرگ و زیادی در زبان پایتون ایجاد شده باشد. عدد B، بخش جزئی (Minor) شماره نسخه را نشان می‌دهد و با ایجاد یک سری تغییرات مهم در زبان پایتون افزایش خواهد یافت. عموما شماره‌ نسخه‌ پایتون تنها به صورت A.B نشان داده می‌شود، زیرا عدد C تنها با رفع اشکال (Bug) احتمالی نسخه‌ منتشر شده افزایش می‌یابد (از عدد صفر) که این امر نیز شامل همه‌ نسخه‌های پایتون نمی‌شود.
کدام نسخه؟ برای شروع یادگیری و اهداف آموزشی نسخه‌ 3x مناسب است و در صورت نیاز تنها با مطالعه‌ مقایسه بین این دو نسخه می‌توانید با نسخه‌ قدیمی نیز آشنا شوید. همچنین اگر قصد توسعه‌ برنامه‌های دسکتاپ را داشته (یعنی زمانی که محدود به نسخه‌ نصب شده بر روی سرور نیستید) یا مواقعی که در ایجاد برنامه‌ خود نیازی به کتابخانه‌هایی که هنوز (اوایل ۲۰۱۵) با نسخه‌ 3x سازگار نشده‌اند (مانند Twisted) را ندارید؛‌ استفاده از نسخه‌ 3x بسیار خوب است. به هر حال تلاش می‌شود که این کتاب بتواند به دور از آشفتگی هر دو نسخه را پوشش دهد.

info [ at ] sitedar.com
تهران، سعادت آباد، سرو غربی، کوچه آریا، پلاک 4، واحد 7
22083926 - 22085386 - 22082258
طراحی سایت دارکوب | هاست دارکوب | دارکوب نام و علامت تجاری ثبت شده این مجموعه می باشد