मूल बातें

Python versions: Python 2 और 3, 3.10–3.15 में क्या नया है और कौन सा version install करें

अपडेट किया गया: · Skillaria.Top

चालू शाखा Python 3 है, और ताज़ा stable version Python 3.15 है (9 अक्टूबर 2026 को release हुआ); Python 2 को 2020 से support नहीं मिलता। नया version हर अक्टूबर में आता है और लगभग पाँच साल तक fixes पाता है, इसलिए नए projects के लिए ताज़ा 3.x install करें, और अपना version python3 --version से देखें।

आज भाषा की सक्रिय शाखा एक ही है — Python 3। ताज़ा stable version Python 3.15 है, जो 9 अक्टूबर 2026 को आया, और Python 2 आधिकारिक रूप से 2020 में ही support से बाहर हो गया। नीचे देखेंगे कि Python versions में क्या अंतर है, 3.10–3.15 में हर version में क्या आया, कौन सा install करें, और आपके computer पर कौन सा लगा है यह कैसे पता करें।

Python versions कैसे बने हैं

Version नंबर तीन संख्याओं से बनता है: 3.15.0। पहली संख्या major version (भाषा की शाखा) है, दूसरी minor version है, जिसमें नई सुविधाएँ आती हैं, और तीसरी patch संख्या है, जिसमें सिर्फ़ bug fixes होते हैं। जब लोग “Python versions” कहते हैं, तो आम तौर पर minor versions का मतलब होता है: 3.10, 3.11, 3.12 और इसी तरह।

2019 से एक साल का चक्र चलता है (PEP 602): नया minor version हर अक्टूबर में आता है। Release से लगभग छह महीने पहले alpha, फिर beta और release candidates आते हैं, और release के बाद 3.15.1, 3.15.2 जैसे fixes। इनके बीच अपडेट करना सुरक्षित है: patch versions में भाषा का व्यवहार नहीं बदलता।

खोज में अक्सर यह उलझन होती है: “python 311” और “python 3.11” एक ही चीज़ है, यानी version 3.11। यह दशमलव संख्या नहीं है, इसलिए 3.10, 3.9 से नया है, और 3.15, 3.2 से नया है।

Python 2 और Python 3: क्या अंतर है

Python 3 2008 में आया, और पुरानी गलतियाँ सुधारने के लिए उसने जान-बूझकर backward compatibility तोड़ी। इसलिए Python 2 का कोड Python 3 में बिना बदलाव के अक्सर नहीं चलता। दूसरी शाखा का आख़िरी version 2.7 था, जिसका support 1 जनवरी 2020 को खत्म हुआ; अंतिम release 2.7.18 अप्रैल 2020 में आया।

क्याPython 2Python 3
Printprint "hi" — statementprint("hi") — function
Stringsडिफ़ॉल्ट रूप से bytes, Unicode — u"..."str — हमेशा Unicode, bytes — bytes
Division7 / 2 देता है 37 / 2 देता है 3.5, integer भाग — 7 // 2
Inputraw_input()input()
Rangesrange list बनाता है, xrange — lazyrange lazy है
Support2020 से नहींहर साल नया version

अगर आपको कोई tutorial या जवाब मिले जिसमें print बिना कोष्ठक के लिखा है, तो वह Python 2 है और सामग्री पुरानी है। दूसरी शाखा अब सीखने का कोई कारण नहीं: नए systems में वह install नहीं होती, libraries उसका support छोड़ चुकी हैं, और उसकी जानकारी बस पुराने कोड को नए version में ले जाने के लिए चाहिए।

Python 3.10–3.15 में क्या नया है

नीचे हर version की वे बातें हैं जो रोज़ के कोड को बदलती हैं। पूरी सूची आधिकारिक documentation के What's New भाग में है।

Python 3.10 (अक्टूबर 2021)

  • Pattern matching match/case (PEP 634) — if/elif की लड़ी की जगह data structures को परखना।
  • Types का union सीधी रेखा से: Optional[int] की जगह int | None (PEP 604)।
  • एक ही with में कई context managers, कोष्ठकों के भीतर।
  • Syntax errors के संदेश कहीं ज़्यादा साफ़।
def describe(point):
    match point:
        case (0, 0):
            return "निर्देशांक का मूल बिंदु"
        case (x, 0):
            return f"X अक्ष पर: {x}"
        case _:
            return "कहीं और"

print(describe((3, 0)))  # X अक्ष पर: 3

Python 3.11 (अक्टूबर 2022)

  • गति: Faster CPython परियोजना ने interpreter को औसतन लगभग एक-चौथाई तेज़ किया, कुछ कामों में ज़्यादा।
  • Traceback में सटीक निशान: ^^^^ के तीर बताते हैं कि line में कौन सा expression गिरा (PEP 657)।
  • Exception groups और except* (PEP 654), और add_note() से exceptions में टिप्पणियाँ।
  • TOML पढ़ने के लिए tomllib module — उदाहरण के लिए pyproject.toml।

Python 3.12 (अक्टूबर 2023)

  • Generics का नया syntax: def first[T](items: list[T]) -> T और type aliases के लिए type कीवर्ड (PEP 695)।
  • f-strings को पूरी grammar मिली (PEP 701): भीतर वही quotes, नई lines और comments इस्तेमाल हो सकते हैं।
  • Standard library से पुराना distutils हटा दिया गया।
  • Errors में और विस्तृत सुझाव, जैसे “क्या आपने module import करना भूल गए?”।
type Pair = tuple[int, int]

def first[T](items: list[T]) -> T:
    return items[0]

songs = ["a", "b"]
print(f"पहला: {first(songs)!r}, कुल {len(songs)}")
print(f"{"कोटेशन के भीतर"}")  # 3.12 से काम करता है

“f-strings किस version से हैं” वाले आम सवाल पर: f-strings खुद Python 3.6 में आ गए थे, और curly braces के भीतर quotes व नई lines की आज़ादी 3.12 ने जोड़ी।

Python 3.13 (अक्टूबर 2024)

  • नया interactive console: रंग, बहु-पंक्ति संपादन, history, और बिना कोष्ठक के exit व help commands।
  • प्रायोगिक free-threaded build बिना GIL के (PEP 703) और प्रायोगिक JIT compiler (PEP 744)।
  • “मृत” standard modules हटाए गए — जैसे cgi और telnetlib (PEP 594)।
  • नए versions के bug fixes का समय बढ़कर दो साल हुआ।

Python 3.14 (अक्टूबर 2025)

  • Template strings, t-strings: t"नमस्ते, {name}" तैयार string नहीं, बल्कि template object लौटाते हैं, जिसे सुरक्षित रूप से संभाला जा सकता है (PEP 750)।
  • Annotations का देर से मूल्यांकन (PEP 649) — फ़ाइल में नीचे घोषित types से कम दिक्कत।
  • बिना GIL वाला build प्रायोगिक नहीं रहा और उसे आधिकारिक support मिला।
  • Module compression.zstd, console में syntax highlighting, और बिना कोष्ठक के except A, B:।

Python 3.15 (9 अक्टूबर 2026)

  • Lazy import lazy import (PEP 810): module पहली बार इस्तेमाल होने पर लोड होता है, शुरू में नहीं। Course के माप में lazy import pandas वाला script 280 ms की जगह 14 ms में शुरू हुआ।
  • Built-in अपरिवर्तनीय dictionary frozendict (PEP 814)।
  • List comprehensions में unpacking: [*g for g in groups] (PEP 798)।
  • Standard library में sampling profiler Tachyon (PEP 799)।
  • Files के साथ काम करते समय डिफ़ॉल्ट UTF-8 (PEP 686) — Windows पर encoding के आश्चर्य ख़त्म।
  • Error संदेशों में नए “Did you mean” सुझाव।
lazy import json                    # PEP 810
cfg = frozendict(limit=500)         # PEP 814
flat = [*g for g in [[1, 2], [3]]]  # PEP 798 -> [1, 2, 3]
print(flat, cfg["limit"])
# python -m profiling.sampling run app.py   # PEP 799, Tachyon

यह कोड सिर्फ़ 3.15 पर चलेगा: पुराने versions में lazy import और comprehension में unpacking SyntaxError देते हैं, और frozendict — NameError।

Python versions के support की अवधि

हर version लगभग पाँच साल जीता है। पहले उसे नियमित bug fixes और नियमित patch releases मिलते हैं (3.13 से — दो साल), फिर अवधि के अंत तक सिर्फ़ security fixes। उसके बाद version end-of-life माना जाता है: उसकी कमज़ोरियाँ अब कोई ठीक नहीं करता।

VersionReleaseSupport कब खत्मअक्टूबर 2026 में स्थिति
2.72010जनवरी 2020support नहीं
3.9अक्टूबर 2020अक्टूबर 2025support नहीं
3.10अक्टूबर 2021अक्टूबर 2026support खत्म होने वाला है
3.11अक्टूबर 2022अक्टूबर 2027सिर्फ़ security
3.12अक्टूबर 2023अक्टूबर 2028सिर्फ़ security
3.13अक्टूबर 2024अक्टूबर 2029bug fixes
3.14अक्टूबर 2025अक्टूबर 2030bug fixes
3.15अक्टूबर 2026अक्टूबर 2031सबसे नया

हर branch की ताज़ा स्थिति Python Developer's Guide के “Status of Python versions” पेज पर छपती है। किसी लंबे समय चलने वाले project के लिए version चुनने से पहले वहाँ ज़रूर देखें।

कौन सा Python version install करें

सीखने और नए projects के लिए ताज़ा stable version लें, अभी Python 3.15। “मैं परखे हुए 3.10 लूँगा” वाला तर्क काम नहीं करता: अक्टूबर 2026 में वह security fixes भी पाना बंद कर देता है, और जो version जा रहा है उसमें सीखना बाद में दोबारा सीखने का कारण बनता है। Python 3 के भीतर compatibility अच्छी है: पुराने version का कोड लगभग हमेशा नए पर चलता है, उल्टा नहीं।

अपवाद होते हैं। अगर ज़रूरी library ने नए version के लिए wheels अभी नहीं निकाले (ऐसा अक्टूबर release के बाद के हफ़्तों में C extensions वाले packages के साथ होता है), तो पिछला — 3.14 — लें। लंबे समय चलने वाले server पर distribution के repositories के version या uv से चुना गया version देखें। मुख्य नियम: ऐसा version न चुनें जिसके support खत्म होने में एक साल से कम बचा हो।

स्थितिक्या install करें
शून्य से भाषा सीख रहे हैंताज़ा stable (3.15)
नया projectताज़ा या उससे पिछला
Library नए version को support नहीं करतीपिछला minor version
पुराना project 3.10 या उससे नीचे परsupport वाले version पर जाने की योजना बनाएँ
Python 2 का कोडPython 3 पर ले जाएँ

अपना Python version कैसे जानें

Terminal में एक command काफ़ी है। macOS और Linux पर आम तौर पर python3 चलता है, Windows पर — python या launcher py।

$ python3 --version
Python 3.12.3        # पुराना version — अपडेट का समय है

$ python3 -V
Python 3.15.0

Windows पर launcher सारे installed versions दिखाता है, और uv उन versions को जो वह देख सकता है या install कर सकता है:

py --list
uv python list

Program के भीतर से version sys module देता है। Tuple sys.version_info की तुलना करना सुविधाजनक है, ताकि script ख़ुद जाँच ले कि interpreter उसके लायक है या नहीं:

import sys

print(sys.version)            # पूरी string, build की तारीख के साथ
print(sys.version_info[:3])   # उदाहरण: (3, 15, 0)

if sys.version_info < (3, 10):
    raise SystemExit("Python 3.10 या नया चाहिए")

अगर python3 --version वह version नहीं दिखाता जो आपने install किया था, तो PATH में पहले कोई और interpreter मिल रहा है। कौन सा, यह which python3 (macOS और Linux) या where python (Windows) से पता चलता है।

एक computer पर कई versions

3.13 और 3.15 साथ-साथ रखना ठीक है: हर version अपने folder में लगता है। इन्हें uv से संभालना सबसे आसान है: uv python install 3.15 version download करता है, और uv python pin 3.15 उसे .python-version फ़ाइल में project से बाँध देता है। Linux पर system Python को हाथ से न छुएँ और न अपडेट करें — उस पर OS की utilities चलती हैं।

Project का न्यूनतम version pyproject.toml में requires-python field में लिखा जाता है। तब package installer अनुपयुक्त interpreter पर project install नहीं होने देता।

[project]
name = "expenses"
version = "0.1.0"
requires-python = ">=3.15"

निष्कर्ष

Python के चालू versions शाखा 3 के हैं, और उनमें सबसे नया 3.15 है, जिसमें lazy import, frozendict और डिफ़ॉल्ट UTF-8 है। Python 2 का support 2020 में खत्म हो गया, 3.10 अक्टूबर 2026 में support से बाहर होता है, इसलिए सीखना और नए projects शुरू करना ताज़ा version पर ही करें। अपना version जाँचने के लिए python3 --version चलाएँ। Course के हर विषय के अंत में “3.10–3.15 में क्या नया” वाला भाग है, ताकि version के बदलाव व्यवहार में समझ आएँ।

अक्सर पूछे जाने वाले प्रश्न

Start menu में “IDLE Python 3.10 64-bit” क्या है?

यह installer से python.org के साथ आने वाला सादा development environment है; नाम में interpreter का version और bit-संख्या लिखी होती है। अगर वहाँ 3.10 है, तो आपके पास ऐसा version है जिसका support खत्म हो रहा है — ताज़ा लगाना बेहतर है।

क्या Python 3.12 को सीधे 3.15 पर अपडेट कर सकते हैं?

Minor versions ऊपर नहीं लगते, बल्कि साथ-साथ लगते हैं: 3.15 install होने के बाद पुराना भी रहता है, और उसे अलग से हटाया जा सकता है। नए version के लिए libraries दोबारा install करें या virtual environment फिर से बनाएँ।

64-bit और 32-bit version में क्या अंतर है?

64-bit version ज़्यादा memory इस्तेमाल कर सकता है और आज के सभी आधुनिक computers के लिए ठीक है; 32-bit version बहुत पुराने systems के लिए ही लिया जाता है।

Alpha और beta versions किसलिए होते हैं?

ये अगले version की प्रारंभिक builds हैं, जो libraries और projects की परख के लिए होती हैं; सीखने और काम के लिए सिर्फ़ final releases लें।

इस विषय को वीडियो में सीखें

यह विषय “Python 3.15: от новичка до профи” कोर्स में अभ्यास के साथ विस्तार से समझाया गया है।

कोर्स पर जाएँ