পাইথন ২.x লিগেসি (legacy), পাইথন ৩.x বর্তমান এবং ভাষার ভবিষ্যৎ।
৩.x-এ শুধু উপলব্ধ কিছু ফিচারের নন-এক্সহাউস্টিভ লিস্ট যেগুলো ২.x-এ নেই -
- স্ট্রিংস ডিফল্টলি ইউনিকোড।
- ক্লিন ইউনিকোড/বাইটস সেপারেশন।
- এক্সেপশন চেইনিং (exception chaining)।
- ফাংশন অ্যানোতেশন (function annotations)।
- কিওয়ার্ড-অনলি আর্গুমেন্টের সিন্ট্যাক্স।
- এক্সটেন্ডেড টাপল আনপ্যাকিং।
- নন-লোকাল ভেরিয়েবল ডিক্লেরেশন।
কিছু কি পার্থক্য
- print - পাইথন ২-এ, "print" একটি স্টেটমেন্ট হিসেবে চেনা হয় বরং ফাংশন হিসেবে নয়। আপনি যে টেক্সট প্রিন্ট করতে চান সেটিকে প্যারেনথেসিসে র্যাপ করার দরকার নেই, যদিও আপনি চাইলে করতে পারেন। পাইথন ৩-এ, print একটি ফাংশন, অর্থাৎ আপনাকে প্রিন্ট করতে চাওয়া আইটেমগুলো ফাংশনে পাস করতে হবে প্যারেনথেসিসে।
- লিস্ট কম্প্রিহেনশনে ভেরিয়েবল - পাইথন ২.x-এ, লিস্ট কম্প্রিহেনশনে ইটারেট করা ভেরিয়েবলকে গ্লোবাল ভেরিয়েবলের সাথে একই নাম দিলে গ্লোবাল ভেরিয়েবলের ভ্যালু চেঞ্জ হয়ে যেতে পারে।
- ইন্টিজার ডিভিশন - পাইথন ২ ডেসিমেল পয়েন্টের পরে কোনো ডিজিট ছাড়া সংখ্যাগুলোকে ইন্টিজার ধরে নেয়, যা ডিভিশনে অনাকাঙ্ক্ষিত ফলাফল দিতে পারে। উদাহরণস্বরূপ,
৩/২-এর ফলাফল পাইথন ৩ এবং পাইথন ২-এ যথাক্রমে ১.৫ এবং ১। পাইথন ৩-এ ইন্টিজার ডিভিশন করতে হলে // অপারেটর ব্যবহার করতে হয়। এবং পাইথন ২-এ ফ্লোট ডিভিশন করতে হলে এক্সপ্রেশনে যেকোনো নাম্বারের পরে ডেসিমেল পয়েন্ট এবং শূন্য যোগ করতে হয়।
পাইথন ২ থেকে আরও অনেক ফিচার চেঞ্জ হয়েছে এবং আপনি এই ওয়েবসাইটটি রেফারেন্স হিসেবে ব্যবহার করতে পারেন পাইথন ৩-এ কী নতুন, প্রতিটি ডিটেইল জানতে: https://docs.python.org/3/whatsnew/