अजगर 3 - चर प्रकार
वैरिएबल मूल्यों को संग्रहीत करने के लिए आरक्षित मेमोरी स्थानों के अलावा कुछ भी नहीं हैं। इसका मतलब है कि जब आप एक चर बनाते हैं, तो आप मेमोरी में कुछ जगह आरक्षित करते हैं।
एक चर के डेटा प्रकार के आधार पर, दुभाषिया मेमोरी आवंटित करता है और यह तय करता है कि आरक्षित मेमोरी में क्या संग्रहीत किया जा सकता है। इसलिए, चर के लिए विभिन्न डेटा प्रकारों को निर्दिष्ट करके, आप इन चर में पूर्णांक, दशमलव या वर्ण संग्रहीत कर सकते हैं।
चर को मान देना
पायथन चरों को मेमोरी स्पेस आरक्षित करने के लिए स्पष्ट घोषणा की आवश्यकता नहीं है। जब आप किसी वैरिएबल को मान देते हैं तो घोषणा स्वतः ही हो जाती है। समान चिह्न (=) का उपयोग चर को मान निर्दिष्ट करने के लिए किया जाता है।
= ऑपरेटर के बाईं ओर वाला ऑपरेटर चर का नाम है और ऑपरेटर के दाईं ओर का ऑपरेटर = चर में संग्रहीत मूल्य है। उदाहरण के लिए -
#!/usr/bin/python3
counter = 100 # An integer assignment
miles = 1000.0 # A floating point
name = "John" # A string
print (counter)
print (miles)
print (name)
यहाँ, 100, 1000.0 और "जॉन" क्रमशः काउंटर, मील और नाम चर के लिए निर्दिष्ट मान हैं। यह निम्न परिणाम उत्पन्न करता है -
100
1000.0
John
एकाधिक असाइनमेंट
अजगर आपको एक साथ कई चर के लिए एक ही मूल्य आवंटित करने की अनुमति देता है।
उदाहरण के लिए -
a = b = c = 1
यहां, मान 1 के साथ एक पूर्णांक ऑब्जेक्ट बनाया जाता है, और सभी तीन चर एक ही मेमोरी स्थान पर असाइन किए जाते हैं। आप कई ऑब्जेक्ट्स को कई वेरिएबल्स में भी असाइन कर सकते हैं। उदाहरण के लिए -
a, b, c = 1, 2, "john"
यहां, मान 1 और 2 के साथ दो पूर्णांक ऑब्जेक्ट क्रमशः चर a और b को दिए गए हैं, और "john" मान के साथ एक स्ट्रिंग ऑब्जेक्ट चर c को सौंपा गया है।
मानक डेटा प्रकार
मेमोरी में संग्रहीत डेटा कई प्रकार के हो सकते हैं। उदाहरण के लिए, किसी व्यक्ति की आयु को संख्यात्मक मान के रूप में संग्रहीत किया जाता है और उसके पते को अल्फ़ान्यूमेरिक वर्णों के रूप में संग्रहीत किया जाता है। पायथन में विभिन्न मानक डेटा प्रकार होते हैं जिनका उपयोग उन पर संभव संचालन और उनमें से प्रत्येक के लिए भंडारण विधि को परिभाषित करने के लिए किया जाता है।
अजगर के पाँच मानक डेटा प्रकार हैं -
- Numbers
- String
- List
- Tuple
- Dictionary
पायथन संख्या
संख्या डेटा प्रकार संख्यात्मक मानों को संग्रहीत करते हैं। जब आप उनके लिए कोई मान निर्दिष्ट करते हैं तो नंबर ऑब्जेक्ट बनाए जाते हैं। उदाहरण के लिए -
var1 = 1
var2 = 10
आप किसी ऑब्जेक्ट का संदर्भ हटाकर भी उपयोग कर सकते हैं delबयान। का वाक्य विन्यासdel कथन है -
del var1[,var2[,var3[....,varN]]]]
आप किसी ऑब्जेक्ट या एक से अधिक ऑब्जेक्ट का उपयोग करके हटा सकते हैं del बयान।
उदाहरण के लिए -
del var
del var_a, var_b
अजगर तीन अलग-अलग संख्यात्मक प्रकारों का समर्थन करता है -
- int (हस्ताक्षरित पूर्णांक)
- फ्लोट (अस्थायी बिंदु वास्तविक मूल्य)
- जटिल (जटिल संख्या)
Python3 में सभी पूर्णांकों को लंबे पूर्णांक के रूप में दर्शाया गया है। इसलिए, जब तक कोई अलग संख्या प्रकार नहीं है।
उदाहरण
यहां संख्याओं के कुछ उदाहरण दिए गए हैं -
पूर्णांक | नाव | जटिल |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-786 | -21.9 | 9.322e-36j |
080 | 32.3 + E18 | .876j |
-0490 | -90। | -.6545 + 0J |
-0x260 | -32.54e100 | 3E + 26J |
0x69 | 70.2-E12 | 4.53e-7J |
एक जटिल संख्या में x + yj द्वारा निरूपित वास्तविक फ्लोटिंग-पॉइंट संख्याओं का एक क्रमबद्ध युग्म होता है, जहाँ x और y वास्तविक संख्याएँ होती हैं और j काल्पनिक इकाई है।
पायथन स्ट्रिंग्स
पायथन में स्ट्रिंग्स की पहचान उद्धरण चिह्नों में दर्शाए गए पात्रों के एक आकस्मिक सेट के रूप में की जाती है। पायथन या तो एकल या दोहरे उद्धरणों की जोड़ी की अनुमति देता है। स्ट्रिंग के प्रारंभ में 0 से शुरू होने वाले इंडेक्स के साथ स्ट्रिंग्स ऑपरेटर ([] और [:]) का उपयोग करके स्ट्रिंग्स के सबस्क्रिप्शन लिए जा सकते हैं और -1 से अंत तक अपने तरीके से काम कर रहे हैं।
प्लस (+) चिन्ह स्ट्रिंग कॉन्फेंशन ऑपरेटर है और तारांकन चिह्न (*) दोहराव ऑपरेटर है। उदाहरण के लिए -
#!/usr/bin/python3
str = 'Hello World!'
print (str) # Prints complete string
print (str[0]) # Prints first character of the string
print (str[2:5]) # Prints characters starting from 3rd to 5th
print (str[2:]) # Prints string starting from 3rd character
print (str * 2) # Prints string two times
print (str + "TEST") # Prints concatenated string
यह निम्नलिखित परिणाम का उत्पादन करेगा -
Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST
पायथन लिस्ट्स
सूचियाँ पायथन के यौगिक डेटा प्रकारों में सबसे बहुमुखी हैं। एक सूची में अल्पविराम द्वारा अलग किए गए और वर्ग कोष्ठक ([]) के भीतर संलग्न आइटम होते हैं। कुछ हद तक, सूची सी में सरणियों के समान हैं। उनमें से एक अंतर यह है कि सूची से संबंधित सभी आइटम अलग-अलग डेटा प्रकार के हो सकते हैं।
सूची में संग्रहीत मानों को स्लाइस ऑपरेटर ([] और [:]) के साथ सूची की शुरुआत में 0 पर शुरू होने वाले इंडेक्स के साथ एक्सेस किया जा सकता है और -1 को समाप्त करने के लिए अपने तरीके से काम कर सकता है। प्लस (+) चिह्न सूची संघनक ऑपरेटर है, और तारांकन चिह्न (*) दोहराव ऑपरेटर है। उदाहरण के लिए -
#!/usr/bin/python3
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print (list) # Prints complete list
print (list[0]) # Prints first element of the list
print (list[1:3]) # Prints elements starting from 2nd till 3rd
print (list[2:]) # Prints elements starting from 3rd element
print (tinylist * 2) # Prints list two times
print (list + tinylist) # Prints concatenated lists
यह निम्न परिणाम उत्पन्न करता है -
['abcd', 786, 2.23, 'john', 70.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']
पायथन टुपल्स
एक ट्यूपल एक अन्य अनुक्रम डेटा प्रकार है जो सूची के समान है। टुपल में अल्पविराम द्वारा अलग किए गए मानों की संख्या होती है। हालाँकि, सूचियों के विपरीत, टुपल्स को कोष्ठक के भीतर संलग्न किया गया है।
सूचियों और टुपल्स के बीच मुख्य अंतर हैं - सूची ब्रैकेट ([]) में संलग्न हैं और उनके तत्वों और आकार को बदला जा सकता है, जबकि ट्यूपल्स कोष्ठक ()) में संलग्न हैं और उन्हें अपडेट नहीं किया जा सकता है। टुपल्स के बारे में सोचा जा सकता हैread-onlyसूचियों। उदाहरण के लिए -
#!/usr/bin/python3
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print (tuple) # Prints complete tuple
print (tuple[0]) # Prints first element of the tuple
print (tuple[1:3]) # Prints elements starting from 2nd till 3rd
print (tuple[2:]) # Prints elements starting from 3rd element
print (tinytuple * 2) # Prints tuple two times
print (tuple + tinytuple) # Prints concatenated tuple
यह निम्न परिणाम उत्पन्न करता है -
('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')
निम्नलिखित कोड tuple के साथ अमान्य है, क्योंकि हमने एक tuple को अपडेट करने का प्रयास किया, जिसकी अनुमति नहीं है। सूचियों के साथ भी ऐसा ही मामला संभव है -
#!/usr/bin/python3
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000 # Invalid syntax with tuple
list[2] = 1000 # Valid syntax with list
पायथन शब्दकोश
पायथन के शब्दकोश हैश-टेबल प्रकार के प्रकार हैं। वे पर्ल में पाए जाने वाले साहचर्य सरणियों या हैश की तरह काम करते हैं और इसमें कुंजी-मूल्य जोड़े शामिल होते हैं। एक शब्दकोश कुंजी लगभग किसी भी पायथन प्रकार की हो सकती है, लेकिन आमतौर पर संख्या या तार होते हैं। दूसरी ओर मान, कोई भी मनमाना पायथन ऑब्जेक्ट हो सकता है।
शब्दकोश घुंघराले ब्रेसिज़ ({}) से घिरे होते हैं और मानों को वर्ग ब्रेसिज़ ([]) का उपयोग करके सौंपा और एक्सेस किया जा सकता है। उदाहरण के लिए -
#!/usr/bin/python3
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print (dict['one']) # Prints value for 'one' key
print (dict[2]) # Prints value for 2 key
print (tinydict) # Prints complete dictionary
print (tinydict.keys()) # Prints all the keys
print (tinydict.values()) # Prints all the values
यह निम्न परिणाम उत्पन्न करता है -
This is one
This is two
{'name': 'john', 'dept': 'sales', 'code': 6734}
dict_keys(['name', 'dept', 'code'])
dict_values(['john', 'sales', 6734])
तत्वों के बीच डिक्शनरी में ऑर्डर की कोई अवधारणा नहीं है। यह कहना गलत है कि तत्व "ऑर्डर से बाहर" हैं; वे बस अनियंत्रित हैं।
डेटा प्रकार रूपांतरण
कभी-कभी, आपको अंतर्निहित प्रकारों के बीच रूपांतरण करने की आवश्यकता हो सकती है। प्रकारों के बीच कनवर्ट करने के लिए, आप केवल फ़ंक्शन के रूप में टाइप-नामों का उपयोग करते हैं।
एक डेटा प्रकार से दूसरे में रूपांतरण करने के लिए कई अंतर्निहित कार्य हैं। ये फ़ंक्शन परिवर्तित मान का प्रतिनिधित्व करते हुए एक नई वस्तु लौटाते हैं।
अनु क्रमांक। | समारोह विवरण |
---|---|
1 | int(x [,base]) X को पूर्णांक में परिवर्तित करता है। आधार को निर्दिष्ट करता है यदि x एक स्ट्रिंग है। |
2 | float(x) X को एक फ्लोटिंग-पॉइंट संख्या में परिवर्तित करता है। |
3 | complex(real [,imag]) एक जटिल संख्या बनाता है। |
4 | str(x) ऑब्जेक्ट x को एक स्ट्रिंग प्रतिनिधित्व में परिवर्तित करता है। |
5 | repr(x) ऑब्जेक्ट एक्स को एक अभिव्यक्ति स्ट्रिंग में परिवर्तित करता है। |
6 | eval(str) एक स्ट्रिंग का मूल्यांकन करता है और एक वस्तु देता है। |
7 | tuple(s) धर्मान्तरित एक tuple के लिए। |
8 | list(s) एक सूची में धर्मान्तरित। |
9 | set(s) एक सेट पर धर्मान्तरित। |
10 | dict(d) एक शब्दकोश बनाता है। d (कुंजी, मान) टुपल्स का एक अनुक्रम होना चाहिए। |
1 1 | frozenset(s) धर्मान्तरित सेट पर परिवर्तित होता है। |
12 | chr(x) किसी वर्ण को पूर्णांक देता है। |
13 | unichr(x) एक पूर्णांक को एक यूनिकोड वर्ण में परिवर्तित करता है। |
14 | ord(x) किसी एकल वर्ण को उसके पूर्णांक मान में परिवर्तित करता है। |
15 | hex(x) एक पूर्णांक को हेक्साडेसिमल स्ट्रिंग में परिवर्तित करता है। |
16 | oct(x) एक पूर्णांक को एक अष्टक स्ट्रिंग में परिवर्तित करता है। |