पाइथन
प्रकार | multi-paradigm: object-oriented, imperative, functional, procedural, reflective |
---|---|
पहला अवतरण | 1991 |
डिज़ाइनर | Guido van Rossum |
निर्माता | Python Software Foundation |
स्थायी विमोचन |
3.2.2 / साँचा:release date 2.7.2 / साँचा:release date |
प्रस्तुतिपूर्व विमोचन |
3.3.0a1 / साँचा:release date[१] |
लिखने का तरिका | duck, dynamic, strong |
उपयोग | CPython, IronPython, Jython, Python for S60, PyPy |
भाषिका | Cython, RPython, Stackless Python |
प्रभावकर्ता | ABC,[२] ALGOL 68,[३] C,[४] C++,[५] Dylan,[६] Haskell,[७] Icon,[८] Java,[९] Lisp,साँचा:cn Modula-3,[५] Perl |
प्रभावित | Boo, Cobra, D, Falcon, Groovy, JavaScript, Ruby[१०] |
प्रचालन तन्त्र | Cross-platform |
अनुज्ञप्तिधारी | Python Software Foundation License |
सामान्य संचिका नाम अनुयोजन | .py, .pyw, .pyc, .pyo, .pyd |
वेबसाइट | python.org |
विकिपुस्तक पर Python Programming |
पाइथन एक सामान्य कार्यों के लिए उपयुक्त, उच्च स्तरीय प्रोग्रामिंग भाषा (General Purpose and High Level Programming language), इन्टरैक्टिव, ऑब्जेक्ट ओरिएन्टेड, स्क्रिप्टिंग भाषा है। इस भाषा को इस तरह से डिजाइन किया गया है ताकि इसमें लिखे गए कोड आसानी से पढ़े और समझे जा सकें।
अन्य प्रोग्रामिंग भाषाओं के विपरीत, जिनमें कोड-ब्लॉक्स को दर्शाने के लिए मझोले कोष्ठक ( {} ) का इस्तेमाल किया जाता है, पाइथन में कोड-ब्लॉक्स को दर्शाने के लिए ह्वाइट स्पेस (white space) का प्रयोग किया जाता है। इस प्रोग्रामिंग भाषा को Guido van Rossum ने 1991 में बनाया था। यह वस्तुतः एक प्रोग्रामिंग लिपि है जिसमें प्रोग्राम चलाने के लिए कोड को कंपाईल, यानि पूर्व-संयोजित करने की जरूरत नहीं है। पायथन "वाक्य रचना के साथ बहुत स्पष्ट उल्लेखनीय शक्ति" का दावा करती है। और उसकी मानक लाइब्रेरी (standard library) बड़ी और व्यापक है।
इस भाषा की डिजाइन-दर्शन में कूट-पठनीयता (code readability) पर जोर दिया गया है। पाइथन का दावा है कि इसका सिन्टैक्स बहुत स्पष्ट है; इसकी मानक लाइब्रेरी विशाल और सर्वसमाहित (comprehensive) है। कई लिनक्स सिस्टमों के साथ पाइथन प्रायः जुड़ा हुआ (pre-installed) आता है।
अन्य गतिशील भाषाओं की तरह, पायथन अक्सर एक स्क्रिप्टिंग भाषा के रूप में प्रयोग किया जाता है, लेकिन कभी कभी गैर स्क्रीप्टिंग संदर्भों की एक विस्तृत शृंखला में भी प्रयोग किया जाता है। कुछ उपकरणों का उपयोग करके, पायथन कोड स्वसंपूर्ण निष्पादन योग्य प्रोग्राम (इक्सक्युटेबल प्रोग्राम) के रूप में पैक किया जा सकता है। पायथन इन्टरप्रेटर कई ऑपरेटिंग सिस्टम के लिए उपलब्ध हैं।
इतिहास
पाइथनसाँचा:Python 1980 के दशक के अन्तिम वर्षों डिजाइन की गयी थी। इसके कार्यान्वयन दिसंबर 1989 में शुरू हुआ।
पाइथन 3.0 एक लंबी अवधि के बाद 3 दिसंबर 2008 को जारी किया गया था। यह पाइथन 2.x से कम्पेटिबल नहीं था।
जनवरी 1, 2018 से पाइथन 2.7 को 'रिटायर' घोषित कर दिया गया और इसे अब मेन्टेन नहीं किया जाता है।
विशेषताएं
१) सरल : पाइथन एक सरल भाषा है। एक अच्छा पाइथन प्रोग्राम पढ़ने पर लगभग अंग्रेजी पढ़ने जैसा लगता है (लेकिन बहुत सख्त अंग्रेजी !)। पाइथन की यह छद्म-कोड-प्रकृति इसकी सबसे बड़ी शक्तियों में से एक है।
२) सीखने में आसान : जैसा कि आप देखेंगे , पाइथन सीखने की दृष्टि से बहुत आसान है।
३) स्वतंत्र और मुक्तस्रोत : पाइथन एक फ्लॉस (फ्री / मुफ्त और ओपन सोर्स सॉफ्टवेयर ) का एक उदाहरण है।
४) उच्च स्तर की भाषा :
५) पोर्टेबल: अपने मुक्त-स्रोत प्रकृति के कारण, पाइथन कई प्लेटफार्मों पर उपलब्ध है। आप लिनक्स, विंडोज , लबादा , सोलारिस, ओएस / 2, Amiga , AROS , के रूप में / 400, BeOS , ओएस / 390 , z / ओएस, पाम ओएस, QNX , वीएमएस , पर पाइथन का उपयोग कर सकते हैं।
६) इन्टरप्रीट की जाने वाली भाषा: सी या सी++ आदि जिस तरह कम्पाइल की जातीं हैं, पाइथन उस तरह कम्पाइल नहीं की जाती। यह इन्टरप्रीटेड भाषा है।
७) उद्देश्योन्मुख (ऑब्जेक्ट ओरिएन्टेड): पाइथन प्रक्रिया-उन्मुख प्रोग्रामिंग के साथ ही ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का समर्थन करता है।
८) एक्सटेंसिबल: यदि आप चाहते हैं कि किसी प्रोग्राम का एक भाग बहुत तेजी से चलने वाला हो, तो आप उस भाग को सी में लिख कर इस लक्ष्य को हासिल कर सकते हैं।
९) व्यापक लाइब्रेरी : पाइथन का मानक लाइब्रेरी वास्तव में बहुत बड़ी है। यह इसकी बहुत बड़ी शक्ति है।
१०) एमबेड्डेबल (embeddable)
लाइब्रेरी
पाइथन की मानक लाइब्रेरी बहुत विशाल है और इसे पाइथन की सबसे बड़ी शक्ति के रूप में देखा जाता है। यह लाइब्रेरी अनेकों तरह के कार्यों के लिए उपयुक्त है। इसमें ग्राफिकल यूजर इन्टरफेस (GUI) बनाने के लिए मॉड्यूल है, रिलेशनल डेटाबेस से डेटा आदान-प्रदान के लिए मॉड्यूल है, अंकगणित तथा आर्बिट्रेरी प्रिसीजन डेसिमल के लिए मॉड्यूल है, रेगुलर इक्सप्रेशन के लिए मॉड्यूल है तथा यूनिट टेस्टिंग के लिए मॉड्यूल है।
मार्च २०१८ में, पाइथन पैकेज इन्डेक्स (PyPI, अन्य पार्टियों द्वारा निर्मित पाइथन सॉफ्टवेयर की आधिकारिक कोश) में १३०,००० पैकेज हैं। इनमें से कुछ प्रमुख ये हैं-
- Graphical user interfaces
- Web frameworks
- Multimedia
- Databases
- Networking
- Test frameworks
- Automation
- Web scraping[93]
- Documentation
- System administration
- Scientific computing
- Text processing
- Image processing
- Symbolic Maths
- Programming languageसाँचा:category handlerसाँचा:main otherसाँचा:main other[dead link]
विभिन्न रूप
- CPython - पाइथन का मूल रूप (reference implementation) है। यह C में लिखा गया है। यह पाइथन को बाइटकोड में बदलता है जिसको इसका वर्चुअल मशीन रन करता है। सीपाइथन के साथ एक विशाल मानक लाइब्रेरी आती है जिसे सी और पाइथन में लिखा गया है। यह विण्डोज सहित यूनिक्स-के-तरह के अन्य प्लेटफार्मों के लिए उपलब्ध है।
- अन्य रूप
- PyPy तेज गति से चलने वाला पाइथन 2.7 और 3.5 का इन्टरप्रीटर है। इसमें 'जस्ट-इन-टाइम कम्पाइलर' है जिसके कारण कोड की गति सीपाइथन की अपेक्षा बहुत तेज हो जाती है।
- Stackless Python - massively concurrent programs के लिए बहुत उपयुक्त
- MicroPython और CircuitPython - ये पाइथ ३ के बदले हुए रूप हैं जो माइक्रोकन्ट्रोलरों के लिए इष्टतमीकृत हैं।
भाषा की कुछ विशेषताएँ
- आरक्षित शब्द (रिजर्व्ड वर्ड्स)
पाइथन 2.5.2 में निम्नलिखित 31 शब्द आरक्षित हैं-
and del from not while
as elif global or with
assert else if pass yield
break except import print
class exec in raise
continue finally is return
def for lambda try
- टाइपिंग (Typing)
Type | mutable | वर्णन | सिन्टैक्स का उदाहरणा |
---|---|---|---|
bool
|
immutable | Boolean value | True False
|
bytearray
|
mutable | Sequence of bytes | bytearray(b'Some ASCII') bytearray(b"Some ASCII") bytearray([119, 105, 107, 105])
|
bytes
|
immutable | Sequence of bytes | b'Some ASCII' b"Some ASCII" bytes([119, 105, 107, 105])
|
complex
|
immutable | Complex number with real and imaginary parts | 3+2.7j
|
dict
|
mutable | Associative array (or dictionary) of key and value pairs; can contain mixed types (keys and values), keys must be a hashable type | {'key1': 1.0, 3: False}
|
ellipsis
|
An ellipsis placeholder to be used as an index in NumPy arrays | ...
| |
float
|
immutable | Floating point number, system-defined precision | 3.1415927
|
frozenset
|
immutable | Unordered set, contains no duplicates; can contain mixed types, if hashable | frozenset([4.0, 'string', True])
|
int
|
immutable | Integer of unlimited magnitude[११] | 42
|
list
|
mutable | List, can contain mixed types | [4.0, 'string', True]
|
set
|
mutable | Unordered set, contains no duplicates; can contain mixed types, if hashable | {4.0, 'string', True}
|
str
|
immutable | A character string: sequence of Unicode codepoints | 'Wikipedia' "Wikipedia" """Spanning
|
tuple
|
immutable | Can contain mixed types | (4.0, 'string', True)
|
- इन्टरैक्टिव मोड पाइथन का एक छोटा सा कोड
>>> 1 + 1
2
>>> a = range(10)
>>> print( list(a) )
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- सी और पाइथन में फैक्टोरियल की गणना करने वाले फंक्शनों की तुलना
सी में फैक्टोरियल | पाइथन में फैक्टोरियल |
---|---|
int factorial(int x)
{
if (x < 0 || x % 1 != 0) {
printf("संख्या x, शून्य (0) के बराबर या उससे बड़ा पूर्णांक होना चाहिए।");
return -1; //Error
}
if (x == 0) {
return 1;
}
return x * factorial(x - 1);
}
|
def factorial(x):
assert x >= 0 and x % 1 == 0, "संख्या x, शून्य (0) के बराबर या उससे बड़ा पूर्णांक होना चाहिए।"
if x == 0:
return 1
else:
return x * factorial(x - 1)
|
पाइथन के लिए उपयोगी कुछ अनुप्रयोग
- OMPC -- मैटलैब/ग्नू ऑक्टेव के कोड को पाइथन कोड में बदलने के लिए प्रयुक्त
- LiberMate -- मैटलैब के कोड को पाइथन में बदलने के लिए
- Oct2Py-- पाइथन में ग्नू ऑक्टेव/मैटलैब के फंक्शनों को सीधे चलाने के लिए। इसके लिए पाइथन, ग्नू ऑक्टेव/मैटलैब प्रोग्राम को चलाता है और वहाँ से प्राप्त परिणामों को पाइथन में ले आता है।
- PyInstaller , Py2exe -- पाइथन की स्क्रिप्ट को exe प्रोग्राम में बदल देते हैं जिससे वे बिना किसी दूसरे प्रोग्राम के सहारे स्वतः चलाए जा सकते हैं।
- Cython, LibPython, Nuikta, PyPy -- पाइथन को सी या सी++ में बदलने के लिए। इस प्रकार से प्राप्त कोड को कम्पाइल करके चलाने पर वह मूल पाइथन प्रोग्राम की अपेक्षा कई गुना तेज गति से चलता है।
पाइथन 2.x तथा पाइथन 3.x में अन्तर
- दोनों की लाइब्रेरियाँ अलग-अलग हैं और कभी-कभी एक-दूसरे में नहीं चलतीं।
- पाइथन ३ में यूनिकोड का बेहतर सपोर्ट उपलब्ध कराया गया है। पाइथन २ में डिफाल्ट स्ट्रिंग टाइप आस्की है जबकि पाइथन में डिफाल्ट स्ट्रिंग टाइप यूनिकोड है।
- पाइथन ३ में पूर्णांक भाजन बेहतर बनाया गया है।
- दोनों संस्करणों में प्रिन्ट स्टेटमेन्ट अलग-अलग हैं।
- पाइथन २ : raw_input()
- पाइथन ३ : input().
- पाइथन 2.x में मौजूद xrange() पाइथन ३ में मौजूद नहीं है।
- दोनों संस्करणों में गलती बताने (एरर-हैण्डिलिंग) में मामूली सा परिवर्तन किया गया है।
ऐसा कोड जो पाइथन 2.x और पाइथन 3.x दोनों में समान आउटपुट दे
__future__ का उपयोग करके पाइथन २ के कोड से पाइथन ३ जैसा आउटपुट लिया जा सकता है। अर्थात वह कोड दोनों पाइथन में चलेगा और समान आउटपुट देगा।
- from __future__ import division
- print 7 / 5
- print -7 / 5
- आउटपुट
- 1.4
- -1.4
पाइथन का उपयोग करने वाले अनुप्रयोग/कंपनियाँ
१) कोरल
२) डी- लिंक
३) ईव -ऑनलाइन
४) गेमिंग
५) हैकिंग
६) MMORPG
७) हनीवेल
८) एचपी
९) औद्योगिक प्रकाश और संगीत
१०) फिलिप्स
सन्दर्भ
- ↑ साँचा:cite web
- ↑ सन्दर्भ त्रुटि:
<ref>
का गलत प्रयोग;faq-created
नाम के संदर्भ में जानकारी नहीं है। - ↑ साँचा:cite web
- ↑ साँचा:cite journal
- ↑ अ आ साँचा:cite web
- ↑ साँचा:cite web
- ↑ साँचा:cite web
- ↑ साँचा:cite web
- ↑ साँचा:cite web
- ↑ साँचा:cite book
- ↑ सन्दर्भ त्रुटि:
<ref>
का गलत प्रयोग;pep0237
नाम के संदर्भ में जानकारी नहीं है। - ↑ Basic Comparison of Python, Julia, Matlab, IDL and Java (2018 Edition) स्क्रिप्ट त्रुटि: "webarchive" ऐसा कोई मॉड्यूल नहीं है। (मॉडलिंग गुरु)
इन्हें भी देखें
बाहरी कड़ियाँ
- A (very short) introduction to Python
- Learn python in hindi
- Getting Started with Python and NumPy
- Use Python - it is time to stop with Matlab
- Python vs Matlab
- Eight Advantages of Python Over Matlab
- Python Awesome
- Writing your own programming language and compiler with Python
- python in hindiसाँचा:Best information
- python basic programs excercise