पायथन एक उच्च-स्तरीय, व्याख्यायित प्रोग्रामिंग भाषा है जो अपनी पठनीयता, सरलता और बहुपरकारीता के लिए जानी जाती है। इसे गुइडो वैन रोस्सम द्वारा बनाया गया था और पहली बार 1991 में जारी किया गया था। पायथन कई प्रोग्रामिंग पैराजाइम्स का समर्थन करता है, जिसमें प्रक्रियात्मक, वस्तु-उन्मुख और कार्यात्मक प्रोग्रामिंग शामिल हैं। इसकी सिंटैक्स को स्पष्ट और सहज बनाने के लिए डिज़ाइन किया गया है, जिससे शुरुआती और अनुभवी डेवलपर्स दोनों साफ और रखरखाव योग्य कोड लिख सकें। पायथन की व्यापक मानक पुस्तकालय और तीसरे पक्ष के पैकेजों का बड़ा पारिस्थितिकी तंत्र इसे विभिन्न अनुप्रयोगों के लिए एक पसंदीदा विकल्प बनाता है, जैसे कि वेब विकास, डेटा विश्लेषण, कृत्रिम बुद्धिमत्ता और वैज्ञानिक कंप्यूटिंग।
पायथन का निर्माण 1980 के दशक के अंत में एबीसी प्रोग्रामिंग भाषा के उत्तराधिकारी के रूप में किया गया था। गुइडो वैन रोस्सम ने इसे क्रिसमस की छुट्टियों के दौरान विकसित करना शुरू किया और इसका उद्देश्य एक ऐसी भाषा बनाना था जो प्रोग्रामिंग और उपयोगिता के बीच की खाई को पाट सके, जिसमें एबीसी की कई विशेषताएँ शामिल थीं लेकिन अपवाद प्रबंधन और कार्यों के लिए अतिरिक्त समर्थन के साथ। पहला संस्करण, पायथन 0.9.0, फरवरी 1991 में जारी किया गया, जिसमें विरासत के साथ वर्ग, मूल डेटा प्रकार और अपवाद प्रबंधन जैसी प्रमुख विशेषताएँ प्रदर्शित की गईं।
पायथन ने अपनी आसान सीखने योग्य सिंटैक्स और बहुपरकारीता के कारण प्रोग्रामिंग समुदाय में तेजी से लोकप्रियता हासिल की। 2000 में पायथन 2.0 के जारी होने ने सूची समर्पण और कचरा संग्रहण जैसी महत्वपूर्ण नई विशेषताएँ पेश कीं। 2008 में जारी पायथन 3.0 ने अंतर्निहित डिज़ाइन दोषों को सुधारने और स्पष्टता में सुधार करने का लक्ष्य रखा, हालांकि यह पायथन 2.x के साथ पीछे की ओर संगत नहीं था। इससे दोनों संस्करणों के बीच सह-अस्तित्व की एक अवधि का निर्माण हुआ, लेकिन पायथन 2 ने जनवरी 2020 में अपनी समाप्ति को प्राप्त किया, जिससे डेवलपर्स को पूरी तरह से पायथन 3.x में संक्रमण करने के लिए प्रेरित किया गया।
पायथन की वर्तमान स्थिति इसके विविध क्षेत्रों में व्यापक अपनाने को दर्शाती है। इसका भारी उपयोग वेब विकास (जैसे Django, Flask), डेटा विज्ञान (जैसे Pandas, NumPy, SciPy), मशीन लर्निंग (जैसे TensorFlow, scikit-learn) और स्क्रिप्टिंग में किया जाता है। पायथन का समृद्ध पारिस्थितिकी तंत्र, विशाल समुदाय समर्थन और लगातार अपडेट इसकी क्षमताओं को बढ़ाते रहते हैं, जिससे यह प्रोग्रामिंग भाषाओं के लगातार विकसित होते परिदृश्य में प्रासंगिक बना रहता है।
पायथन की सबसे प्रमुख विशेषताओं में से एक इसकी पठनीयता पर जोर देना है। कोड आमतौर पर साधारण अंग्रेजी के समान होता है, जिससे डेवलपर्स के लिए इसे समझना और बनाए रखना आसान होता है। उदाहरण के लिए, ब्रैकेट या सेमीकोलन का उपयोग करने के बजाय, पायथन कोड ब्लॉकों को परिभाषित करने के लिए इंडेंटेशन का उपयोग करता है:
if x > 0:
print("सकारात्मक")
else:
print("गैर-सकारात्मक")
पायथन गतिशील टाइपिंग का उपयोग करता है, जिसका अर्थ है कि चर के प्रकार रनटाइम पर निर्धारित होते हैं। डेवलपर्स को चर के प्रकारों को स्पष्ट रूप से घोषित करने की आवश्यकता नहीं होती है:
number = 42 # यह एक पूर्णांक है
number = "नमस्ते" # अब यह एक स्ट्रिंग है
पायथन में कार्य प्रथम श्रेणी के ऑब्जेक्ट होते हैं, जिससे उन्हें तर्क के रूप में पास किया जा सकता है, अन्य कार्यों से लौटाया जा सकता है, और चर में असाइन किया जा सकता है:
def greet(name):
return f"नमस्ते, {name}"
def apply_function(func, value):
return func(value)
print(apply_function(greet, "दुनिया")) # आउटपुट: नमस्ते, दुनिया
पायथन सूची समर्पण का समर्थन करता है, जो मौजूदा सूचियों से सूचियाँ बनाने का एक संक्षिप्त तरीका है:
squares = [x**2 for x in range(10)]
print(squares) # आउटपुट: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
पायथन एक मजबूत अपवाद प्रबंधन मॉडल को शामिल करता है जो try और except ब्लॉकों का उपयोग करता है, जिससे त्रुटि प्रबंधन में सुधार होता है:
try:
result = 10 / 0
except ZeroDivisionError:
print("शून्य से विभाजित नहीं कर सकते")
पायथन पूरी तरह से वस्तु-उन्मुख प्रोग्रामिंग का समर्थन करता है जिसमें वर्ग और विरासत शामिल हैं, जिससे डेटा और विधियों का संकुचन संभव होता है:
class Animal:
def speak(self):
return "ध्वनि"
class Dog(Animal):
def speak(self):
return "भौंकना"
dog = Dog()
print(dog.speak()) # आउटपुट: भौंकना
पायथन डेवलपर्स को कोड को मॉड्यूल और पैकेज में व्यवस्थित करने की अनुमति देता है, जिससे कोड पुन: उपयोग में सुधार होता है:
# mymodule.py
def my_function():
return "नमस्ते, मॉड्यूल"
# main.py
import mymodule
print(mymodule.my_function()) # आउटपुट: नमस्ते, मॉड्यूल
पायथन में डेकोरेटर्स होते हैं, जो कार्यों या विधियों में संशोधन की अनुमति देते हैं। इनका अक्सर लॉगिंग, पहुंच नियंत्रण लागू करने या उपकरण के लिए उपयोग किया जाता है:
def decorator_function(original_function):
def wrapper_function():
print("Wrapper {} के पहले निष्पादित हुआ".format(original_function.__name__))
return original_function()
return wrapper_function
@decorator_function
def display():
return "डिस्प्ले कार्य निष्पादित हुआ"
print(display()) # आउटपुट: Wrapper display के पहले निष्पादित हुआ /n डिस्प्ले कार्य निष्पादित हुआ
जनरेटर yield
कथन का उपयोग करके इटरेटर बनाने का एक मेमोरी-कुशल तरीका है, जो अनुक्रमों के आलसी मूल्यांकन की अनुमति देता है:
def countdown(num):
while num > 0:
yield num
num -= 1
for number in countdown(5):
print(number) # आउटपुट: 5 4 3 2 1
पायथन संदर्भ प्रबंधकों का समर्थन करता है जो with
कथन का उपयोग करते हैं, जो संसाधनों को प्रभावी ढंग से प्रबंधित करने का एक तरीका प्रदान करता है बिना स्पष्ट सफाई कोड की आवश्यकता के:
with open("file.txt") as file:
content = file.read()
print(content) # ब्लॉक के बाद फ़ाइल स्वचालित रूप से बंद हो जाती है
पायथन मुख्य रूप से एक व्याख्यायित भाषा है, जो विभिन्न इंटरप्रेटर्स पर निर्भर करती है, जैसे CPython (मानक कार्यान्वयन), PyPy (एक जस्ट-इन-टाइम संकलक), और Jython (जो जावा प्लेटफॉर्म पर चलता है)। इस भाषा को विभिन्न वातावरणों में निष्पादित किया जा सकता है, जिसमें कमांड-लाइन इंटरफेस, वेब सर्वर, और एकीकृत विकास वातावरण शामिल हैं।
कई एकीकृत विकास वातावरण (IDEs) पायथन विकास का समर्थन करते हैं, जो बुद्धिमान कोड पूर्णता, डिबगिंग उपकरण, और परियोजना प्रबंधन जैसी सुविधाएँ प्रदान करते हैं। लोकप्रिय IDEs में शामिल हैं:
पायथन परियोजना बनाने के लिए, डेवलपर्स आमतौर पर निर्भरता प्रबंधित करने के लिए एक वर्चुअल वातावरण का उपयोग करते हैं। venv
मॉड्यूल एक अलग वातावरण बनाने की अनुमति देता है जिसमें निर्भरताएँ स्थापित की जा सकती हैं बिना सिस्टम-व्यापी पायथन स्थापना को प्रभावित किए।
python -m venv myenv
source myenv/bin/activate # विंडोज़ पर, `myenv\Scripts\activate` का उपयोग करें
pip install -r requirements.txt # निर्भरताएँ स्थापित करें
पायथन का उपयोग विभिन्न अनुप्रयोगों में किया जाता है, जिसमें शामिल हैं लेकिन सीमित नहीं हैं:
पायथन को अक्सर उनकी उपयोगिता और पैराजाइम्स के आधार पर कई अन्य प्रोग्रामिंग भाषाओं के साथ तुलना की जाती है।
पायथन से अन्य भाषाओं में स्रोत-से-स्रोत अनुवाद पर विचार करते समय, लक्षित भाषा के पैराजाइम और सिंटैक्स को समझना आवश्यक है। इस उद्देश्य के लिए कई उपकरण उपलब्ध हैं: