پایتون نسخه 2 یا 3؟
پایتون نسخه 2 یا 3؟
در صورتی که شما به تازگی با زبان پایتون آشنا شدهاید، ممکن است کمی در انتخاب نسخهی مناسب پایتون سردرگم شده باشید. در حال حاضر پایتون ۳ آخرین نسخهی این زبان است، اما هنوز هم بسیاری از برنامه نویسان از نسخهی ۲ آن استفاده میکنند.
پایتون نسخه 2 یا 3؟
چرا بعد از انتشار پایتون نسخه 3 همچنان از پایتون نسخه 2 استفاده میشود؟
از آنجا که پایتون 2 در سال 2000 منتشر شد و پایتون 3 در سال 2008 منتشر شد و پایتون 3 با تغییرات زیاد و اساسی همراه بود دیگر نمیشد برنامه های نوشته شده با پایتون 2 را در پایتون 3 پشتیبانی کرد. و با توجه به استفاده شرکت های بزرگی همانند گوگل از پایتون 2 در برنامه های خود ، این شرکت ها از توسعه دهندگان پایتون خواستند که نسخه 2 را نیز همچنان پشتیانی کند.
به این دلیل است که در حال حاضر هم نسخه 2 و هم نسخه 3 پایتون پشتیبانی میشود.
چنانچه قصد یادگیری یک زبان برنامه نویسی ساده و آینده دار را دارید بهتر است بیشتر به پایتون فکر کنید توصیه میکنم ” چرا پایتون یاد بگیریم” را مطالعه کنید. همچنین اگر قصد نصب پایتون را دارید “آموزش نصب پایتون” بصورت تصویری به شما نحوه نصب پایتون را آموزش میدهد.
اما تفاوت هایی در حتی نحوه نوشتن کدها در نسخه 2 و 3 وجود دارد که در ادامه به این تفاوت ها می پردازیم:
- دستور print: این دستور در پایتون ۳ بر خلاف نسخهی ۲، یک تابع میباشد که باید متن یا متغیر خود را درون پرانتز قرار داده تا چاپ کنیم (برای نمایش یک متن در پایتون ۲ نیاز به استفاده از پرانتز نمیباشد).
این بدین معناست که شما باید لیستی از آیتمهای مورد نیاز خود را با کاما از هم جدا کرده و آنها را برای نمایش درون پرانتز قرار دهید.
1 2 3 4 5 |
# Python 2.x print "pythonMarket" # Python 3.x print ("pythonMarket") |
برای آشنایی بیشتر با دستور Print به آموزش دستور Print در پایتون سر بزنید.
تفاوت پایتون 2 و 3
- دریافت ورودی از کاربر: در پایتون ۳، تابع دریافت کنندهی ورودی از کاربر، input()، تمام مقادیر دریافت شده را بصورت رشته (str) ذخیره میکند.
- بدین منظور در پایتون ۲، مجبور بودیم از تابع raw_input() استفاده نماییم.
- چرا که استفاده از تابع input() در نسخهی ۲ این زبان، مقدار ورودی را همراه با نوع آن داده دریافت میکرد.
1 2 3 4 5 6 7 8 9 10 |
first_input = input('enter input1: ') type (first_input) second_input = raw_input('enter input2: ') # equivalent to python 3.x input() type (second_input) # Output: # enter input1: 123456 # <type 'int'> # enter input2: 123456 # <type 'str'> |
- پشتیبانی از یونیکد: پایتون ۳ رشتهها را به صورت پیش فرض به عنوان یونیکد (Unicode) ذخیره میکند. در حالی که در پایتون ۲، شما باید قبل از رشتهی متن خود، از حرف u استفاده کنید تا آن را به صورت یونیکد ذخیره نماید. رشتههای یونیکد نسبت به رشتههای ASCII (که پایتون ۲ به صورت پیش فرض از آن استفاده میکند)، کاربرد بیشتری داشته و فراگیر تر میباشند. در این حالت شما میتوانید به راحتی یک متن فارسی را در یک متغیر ذخیره کرده و آن را چاپ کنید و یا از شکلک (emoji) در متون خود استفاده نمایید.
- کنترل خطا و استثنائات (Raising Exceptions): در پایتون ۳، به منظور نمایش یک متن خطا به کاربر، شما باید پیغام خود را درون پرانتز بنویسید. اما در پایتون ۲ نیازی به استفاده از پرانتز نمیباشد.
از آنجا که پایتون ۲ قدمت بیشتری نسبت به پایتون ۳ دارد، تمام کتابخانههای موجود در آن هنوز به طور کامل در نسخهی ۳ این زبان وارد نشده است.
علاوه بر این، برخی تغییرات در پایتون ۳ باعث شده است تا این نسخه از زبان برای یادگیری تازه کاران قابل درک تر و بهتر باشد. ب
نابراین افراد مبتدی که نیاز به استفاده از کتابخانههای خاصی را در ابتدای کار خود ندارند، شاید بهتر باشد از نسخهی ۳ این زبان استفاده کنند.
چه تفاوتی میان پایتون 2.x و 3.x وجود دارد؟
زمانی که پایتون 2.0 اولین بار در سال 2000 عرضه شد، یک زبان خیلی محبوب نبود. زمانی که توسعهدهندگان یادگیری آن را آغاز کرده و در ساخت پروژهها از آن استفاده کردند، رخنهها و نقصهای آن آشکار شدند، اما سازندگان نمیتوانستند بدون اعمال تغییرات بزرگ این رخنههای شناسایی شده را ترمیم کنند.
زمانی که پایتون 3.0 در سال 2008 میلادی ارائه شده همراه با تغییرات بزرگی در اختیار توسعهدهندگان قرار گرفت که قابلیتهای جدید و بهبود قابلیتهای قبلی را به آنها هدیه داد. اما این نسخه با پایتون 2.x ناسازگار بود.
این حرف به معنای آن است که توسعهدهندگان برای بهرهمندی از قابلیتهای پایتون 3.x به رفکتور کردن کدها نیاز دارند.
رویکردی که بسیاری از توسعهدهندگان تمایلی به انجام اینکار نداشتند و به همین دلیل به سراغ کتابخانهها و چهارچوبهای شخص ثالث رفتند.
در نتیجه پایتون اساسا به دو شاخه 2.x legacy و 3.x present تقسیم شد. شاخه 3.x تمرکزش بر توسعه فعال قرار دارد و شاخته 2.x تنها روی برطرف کردن باگها و ارائه بهروزرسانیهای امنیتی متمرکز است.
امروزه جامعه توسعهدهندگان به سمت پایتون 3.x رفتهاند.
بهترین محیط توسعه یکپارچه برای پایتون چیست؟
زمانی که با پایتون یا هر زبان برنامهنویسی کار میکنید در حالت کلی به ویرایشگری نیاز دارید که برنامهنویسی را برای شما لذتبخش کند. در میان گزینههای مختلفی که در این زمینه وجود دارد PyCharm یکی از بهترین گزینهها است. این محیط به دو شکل تجاری رایگان و حرفهای پولی در اختیار شما قرار دارد. نسخه رایگان تجاری برای اکثر توسعهدهندگان مناسب بوده و به قابلیتهایی همچون ترکیب نحوی هوشمند، هدایت دستوری، رفکتورینگ، بازرسی کدها، اشکالزدایی گرافیکی و… تجهیز شده است. نسخه حرفهای قابلیتهای تجاری توسعه وب، یکپارچه بودن با چهارچوبهای وب، توسعه از راه دور و پشتیبانی از بانکهای اطلاعاتی را ارائه میکند.
از ویرایشگرهای متنی مناسب برای پایتون نیز به Sublime Text، atom، Geany و البته Visual Studio Code میتوان اشاره کرد.
به نظر من که پایتون نسخه سوم خیلی بهتره
من یه جا خواندم که پایتون دیگه از نسخه ۲ پشتیبانی نمیکنه، تمام ماژول هایی که توسط گوگل برای پایتون ساخته شده، تا نسخه 3.9 پایتون رو پشتیبانی میکند و به نظرم این به این معناست که گوگل داره از نسخه سوم پایتون استفاده میکنه