पाइथन प्रोग्रामिंग में डेटा को विभिन्न रूपों में संग्रहीत किया जाता है, जिन्हें डेटा प्रकार (Data Types) कहते हैं। डेटा प्रकार यह निर्धारित करते हैं कि किसी मान को किस रूप में मेमोरी में रखा जाएगा और उस पर कौन-सी संक्रियाएँ की जा सकती हैं। पाइथन डायनामिक टाइपिंग भाषा है, अर्थात हमें वेरिएबल का प्रकार पूर्व घोषित नहीं करना पड़ता; पाइथन स्वयं निर्धारित मान के आधार पर प्रकार तय करता है। इस अध्याय में हम पाइथन के मूल डेटा प्रकारों - इंटीजर (int), फ्लोट (float), स्ट्रिंग (str), बूलियन (bool) - तथा संग्रह (Collection) प्रकारों - लिस्ट (list), टपल (tuple), सेट (set), डिक्शनरी (dict) - का विस्तार से अध्ययन करेंगे। साथ ही डेटा प्रकार बदलने (Type Casting) की विधि भी सीखेंगे।
संपूर्ण (whole) संख्याएँ जिनमें दशमलव बिंदु नहीं होता। जैसे: 5, -10, 100। इंटीजर पर जोड़, घटाव, गुणा, भाग जैसी गणितीय संक्रियाएँ की जाती हैं।
दशमलव वाली संख्याएँ। जैसे: 3.14, 2.5, -0.75। वैज्ञानिक गणनाओं और मापन में फ्लोट का उपयोग होता है।
अक्षरों, शब्दों या वाक्यों का समूह, जो उद्धरण चिह्नों (' ' या " ") में लिखा जाता है। जैसे: "नमस्ते", 'Python'। स्ट्रिंग की लंबाई ज्ञात करने के लिए len() फंक्शन का उपयोग होता है।
केवल दो मान - True और False। यह तुलना और शर्तों (conditions) में उपयोग होता है। जैसे: 5 > 3 का परिणाम True है।
कई मानों का क्रमबद्ध (ordered) और परिवर्तनशील (mutable) संग्रह, जो वर्ग कोष्ठक [ ] में लिखा जाता है। इसमें विभिन्न प्रकार के मान हो सकते हैं। लिस्ट में मान बदले जा सकते हैं, जोड़े या हटाए जा सकते हैं।
फल = ["सेब", "आम", "अंगूर"]
कई मानों का क्रमबद्ध परंतु अपरिवर्तनशील (immutable) संग्रह, जो कोष्ठक ( ) में लिखा जाता है। टपल में मान नहीं बदले जा सकते।
निर्देशांक = (10, 20)
अद्वितीय (unique) मानों का संग्रह, जो कर्ली ब्रेसेस { } में लिखा जाता है। इसमें क्रम नहीं होता और डुप्लिकेट मान स्वतः हट जाते हैं।
'कुंजी-मान' (Key-Value) जोड़ों का संग्रह, जो कर्ली ब्रेसेस { } में लिखा जाता है। प्रत्येक मान एक कुंजी से जुड़ा होता है।
छात्र = {"नाम": "राहुल", "कक्षा": 9}
| डेटा प्रकार | कोष्ठक | परिवर्तनशीलता | क्रम |
|---|---|---|---|
| लिस्ट | [ ] | परिवर्तनशील | हाँ |
| टपल | ( ) | अपरिवर्तनशील | हाँ |
| सेट | { } | परिवर्तनशील | नहीं |
| डिक्शनरी | { } | परिवर्तनशील | हाँ (कुंजी आधारित) |
किसी वेरिएबल या मान का डेटा प्रकार जानने के लिए type() फंक्शन का उपयोग होता है:
print(type(5)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("नमस्ते")) # <class 'str'>
print(type(True)) # <class 'bool'>
एक डेटा प्रकार को दूसरे में बदलने की प्रक्रिया टाइप कास्टिंग (Type Casting) कहलाती है। प्रमुख रूपांतरण फंक्शन:
स्ट्रिंग को संख्या में बदलने के लिए स्ट्रिंग में केवल संख्यात्मक अक्षर होने चाहिए; अन्यथा त्रुटि (ValueError) आती है।
स्ट्रिंग पर कई उपयोगी संक्रियाएँ की जा सकती हैं:
लिस्ट पर निम्नलिखित संक्रियाएँ की जाती हैं:
इन संक्रियाओं के कारण लिस्ट डेटा प्रबंधन के लिए अत्यंत लचीला (flexible) है। टपल अपरिवर्तनशील होने के कारण इन संक्रियाओं का समर्थन नहीं करता, इसलिए जहाँ डेटा बदलना हो वहाँ लिस्ट और जहाँ डेटा स्थिर रहना हो वहाँ टपल का चयन करना चाहिए। डिक्शनरी में कुंजी की सहायता से सीधे मान प्राप्त किया जा सकता है, जो सूची में खोजने से तेज़ होता है। डेटा प्रकारों का सही चयन प्रोग्राम को तेज़, सरल और त्रुटिरहित बनाता है।
| डेटा प्रकार | उदाहरण | विवरण |
|---|---|---|
| int | 5, -10 | पूर्णांक |
| float | 3.14 | दशमलव |
| str | "नमस्ते" | पाठ |
| bool | True, False | तार्किक |
| प्रकार | कोष्ठक | परिवर्तनशील | विशेषता |
|---|---|---|---|
| list | [ ] | हाँ | क्रमबद्ध |
| tuple | ( ) | नहीं | स्थिर |
| set | { } | हाँ | अद्वितीय |
| dict | { } | हाँ | कुंजी-मान |
| फंक्शन | कार्य | उदाहरण |
|---|---|---|
| int() | पूर्णांक बनाना | int("15") = 15 |
| float() | दशमलव बनाना | float(5) = 5.0 |
| str() | स्ट्रिंग बनाना | str(42) = "42" |
| type() | प्रकार पहचानना | type(5) = int |
पाइथन में डेटा प्रकारों की समझ प्रोग्रामिंग की नींव है। int और float संख्याओं के लिए, str पाठ के लिए, और bool तार्किक निर्णयों के लिए उपयोग होते हैं। संग्रह प्रकार - list, tuple, set और dict - विभिन्न स्थितियों में डेटा को संग्रहीत करने के उपयुक्त माध्यम हैं। list की परिवर्तनशीलता, tuple की स्थिरता, set की अद्वितीयता और dict की कुंजी-मान संरचना का सही ज्ञान सही प्रकार का चयन करने में सहायक है। type() फ़ंक्शन प्रकार की पहचान और टाइप कास्टिंग (int, float, str) प्रकार बदलने में सहायता करते हैं। इस अध्याय का ज्ञान आगे के अध्यायों (कंट्रोल स्ट्रक्चर, लूप्स, फंक्शन) में सही ढंग से कोड लिखने के लिए अनिवार्य है।