Core Data Types in Python के जितने भी Standard Built-In Object Types हैं, वे सभी Python के Core Data Types कहलाते हैं। अन्य C/C++ जैसी Programming Languages में इन्हें Number व Strings के रूप में Represent किया जाता है जो कि मूलत: Numerical व Textual Values को Represent करते हैं।
लेकिन जैसाकि हमने पहले भी कहा, Python में सबकुछ Object के रूप में ही होता है, इसलिए Python के Core Data Types भी वास्तव में Objects ही होते हैं और Python के विभिन्न Core Data Types को निम्नानुसार तरीके से समझा जा सकता है-
OBJECT TYPE | EXAMPLE |
Numbers | 4545, 3.1415, 9+3k, 0b111, Decimal(), Fraction() |
Strings | ‘spam’, “Job’s”, b’a\x01c’, u’sp\xc4m’ |
Lists | list(range(20)) , [1, [2, ‘three’], 4.5] |
Dictionaries | {‘food’: ‘spam’, ‘taste’: ‘yum’}, dict(hours=10) |
Tuples | (1, ‘spam’, 4, ‘U’), tuple(‘spam’), namedtuple |
Files | open(‘admission.txt’), open(r’D:\binary.bin’, ‘wb’) |
Sets | set(‘xyz’), {‘x’, ‘y’, ‘z’} |
Other Core Types | Booleans, types, None |
Program Unit Types | Functions, Modules, Classes |
Others | Compiled Code, Stack Tracebacks |
Python में Program Units जैसे कि Functions, Modules व Classes भी Object होते हैं और इन्हें भी Exactly Objects की तरह ही Access and Manipulate किया जा सकता है। इन्हें def, class, import व lambda Keywords का प्रयोग करते हुए Expressions के माध्यम से Create किया जाता है। साथ ही इन्हें अन्य Scripts में Pass किया जा सकता है और अन्य Objects में Store किया जा सकता है।
इतना ही नहीं, हम Python में जब कोई Text Pattern Matching करते हैं, तब भी हम एक Pattern Object Create कर रहे होते हैं और जब हम Network Scripting कर रहे होते हैं, तब हम Socket Object Use कर रहे होते हैं। ये कुछ और अन्य तरह के Objects हैं, जिन्हें उपरोक्त सारणी में नहीं दर्शाया गया है क्योंकि इन्हें सामान्यत: Library Modules में Specified Functions को Import व Use करके बनाए जाते हैं।
इन अन्य Data Types को भी Python में Core Data Types इसलिए कहा जाता है क्योंकि इन्हें Python Language के अन्दर ही बनाया गया है और जब हम किसी Specific Expression Syntax को Use करते हैं, तब Python Interpreter इन्हें Internally Create कर लेता है। उदाहरण के लिए जब हम किसी String को Interactive Prompt पर निम्नानुसार Double Quotes के बीच लिखते हैं-
तब तकनीकी रूप से कहें तो इस Expression के Run होने पर Python Interpreter एक नया string Core Data Type का Object Return करता है। ऐसे ही कई और Python Syntax हैं, जो String Object बनाते हैं।
इसी तरह से जब हम किसी Expression में Content को Square Brackets के बीच Wrap कर देते हैं, तो Python Interpreter उसे List Object के रूप में Return कर देता है जबकि Curly Braces के बीच Wrap कर देने पर वही Content Dictionary Object के रूप में Return हो जाता है।
ऐसा इसलिए होता है क्योंकि Python एक Dynamically Typed Scripting Langauge है। इसलिए इसमें किसी Data Type को Declare करने के लिए कोई Specific Syntax Use नहीं करना पड़ता बल्कि हम किस तरह के मान को किस तरह के Data Type द्वारा Handle करना चाहते हैं, ये हमें विभिन्न प्रकार के Python Syntax लिखकर ही Specify करना पड़ता है।
इसीलिए जब हम किसी Content को Quotes के बीच Enclose कर देते हैं, Python Interpreter उसे String Object की तरह Treat करने लगता है और जब हम किसी Content को Square Brackets के बीच Wrap कर देते हैं, Python Interpreter उसे List Object की तरह Treat करने लगता है।
जैसे ही हम किसी Expression द्वारा किसी Identifier में कोई Value Assign करते हैं, हम उस Value के Data Type का Object Create कर लेते हैं और जब भी हम कोई Object Create कर लेते हैं, तो उसी समय पूरे Program के लिए उस Object के साथ उन सभी Operations को भी Bind कर लेते हैं, जिन्हें उस Data Type के Object के साथ Perform किया जा सकता है। उदाहरण के लिए जब हम निम्नानुसार कोई Expression लिखते हैं-
myName = “Kuldeep Mishra”
तो Python Syntax Double Quotes के कारण Python Interpreter Memory में कुछ Space Reserve कर लेता है और इस Reserved Memory Location पर Value के रूप में “Kuldeep Mishra” Text को Store कर देता है।
हमारे द्वारा Reserved Space पर किस तरह का Data Store होगा, इस बात को तय करने के लिए हमें किसी न किसी Python Syntax का प्रयोग करना होता है और हमने उपरोक्त Expression में Double Quotes का प्रयोग किया है। इसलिए Memory Reserve करते समय Python Interpreter को पता रहता है कि हम इस Reserved Memory Location पर एक Text Value को Store करना चाहते हैं।
इसलिए Python Interpreter जो Memory Reserve करता है, उसे string Core Data Type का Data Hold करने के लिए Reserve करता है क्योंकि string Data Type के Object में ही Text Value Store हो सकता है।
जब Python Interpreter, string Type का Data Hold करने के Memory Reserve कर लेता है और उसमें Data के रूप Specified Text Value को Store कर देता है, उसके बाद अन्त में उस Reserved Memory Location का Address myName नाम के Identifier में Store कर देता है। ताकि पूरे Python Program दौरान जब भी कभी उस Memory Location पर Stored Data को Access करने की जरूरत हो, तो उस Data को myName Identifier द्वारा Access किया जा सके।
यानी हम किसी Identifier में किस तरह के Data को Store करना चाहते हैं, ये बात Python Interpreter को किसी Specific Python Syntax के माध्यम से बताया जाता है और फिर Runtime में Python Interpreter उस Specific Type के Data को Store करने के लिए Dynamically Memory Allocation करता है और उस Allocated Memory का Address, Specified Identifier में Store कर देता है ताकि बाद में पूरे Program में जब भी कभी फिर से उसी Data को Access करने की जरूरत पड़े, उस Identifier द्वारा उस Data को Access and Manipulate किया जा सके।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Python in Hindi | Page: 602 | Format: PDF