Numerical Literals in Python – हम हमारे Python Program में जब भी किसी Number को Specify करते हैं, तो वास्तव में हम Numerical Literal को ही Specify कर रहे होते हैं। यानी हम हमारे Program में जो भी Number लिखते हैं, वह हर Number एक Literal ही होता है। उदाहरण के लिए 1, 13, 2334.234, 11.09 आदि सभी Numerical Literals हैं।
Literals को अन्य शब्दों में Constant भी कहा जाता है क्योंकि Literal कभी Change नहीं होते। यानी अंक 12 कभी भी 12 के अलावा कुछ और नहीं हो सकता। इसी तरह से SUNDAY, को SUNDAY ही लिखा जाएगा, कुछ और नहीं। इसलिए 12 व SUNDAY एक तरह का LITERAL या CONSTANT हैं।
जब भी हमें हमारे Python Program के माध्यम से किसी Numerical Value को Store, Access व Manipulate करना होता है, तो उस समय हम Numerical Literals के साथ Deal कर रहे होते हैं। सामान्य तरीके से समझें तो हम हमारे दैनिक जीवन में कुल दो तरह के Numbers के माध्यम से अपनी विभिन्न प्रकार की जरूरतों को पूरा करते हैं जिन्हें Integer व Floating-Point Number के नाम से जाना जाता है।
जब हमें हमारे Program में किसी Data को ऐसे Numbers के माध्यम से Represent करना होता है, जो कि पूर्णांक हो, तो उस स्थिति में हम जिन बिना दसमलव वाली संख्याओं का प्रयोग करते हैं, उन्हें Integer Literal के नाम से जाना जाता है। लेकिन जब हमें हमारे Program में किसी Data को ऐसे Numbers के माध्यम से Represent करना होता है, जो कि पूर्णांक न हो, तो उस स्थिति में हम जिन दसमलव वाली संख्याओं का प्रयोग करते हैं, उन्हें Floating Point Literal कहा जाता है।
लेकिन जब हम Computer System के संदर्भ में बात करते हैं, तब हम Integer व Floating Point Literals के अलावा Numbers को कई और तरीकों से भी Represent व Use करते हैं, जिन्हें Octal, Hexadecimal, Boolean, Binary आदि नामों से जाना जाता है। यानी Real World में हम संख्याओं के केवल Integer व Floating Point रूप में ही Deal करते हैं, लेकिन जब हम Computer System के संदर्भ में देखते हैं, तब हम संख्याओं को कई और तरीको से भी Deal कर सकते हैं।
Python में हम Numbers को कितने तरीकों से Represent कर सकते हैं, इसे निम्न सारणी द्वारा ज्यादा बेहतर तरीके से समझ सकते हैं-
Literal | Interpretation |
234, −204, 0, 99999999999 | Integers (Unlimited Size) |
1.23, 1., 3.14e-10, 4E10, 4.0e+10 | Floating-Point Numbers |
0o177, 0x9ff, 0b101010 | Octal, Hex and Binary Literals |
0177, 0o177, 0x9ff, 0b101010 | Octal, Hex and Binary Literals |
3+6j, 7.0+4.0j, 4J | Complex Number Literals |
set(‘KRISHNA’), {1, 2, 3, 4} | Sets: Construction Forms |
Decimal(‘1.0’), Fraction(1, 3) | Decimal and Fraction Extension Types |
bool(X), True, False | Boolean Type and Constants |
Integers को Decimal Digits ( 0 to 9 ) के एक String के रूप में लिखा जाता है। जबकि Floating-Point Numbers को भी इसी तरह से लिखा जाता है लेकिन ये Number एक दसमलव के कारण दो भागों में विभाजित होते हैं। साथ ही इन्हें किसी Optional Signed Exponent के रूप में भी लिखा जा सकता है जहां Exponent को Represent करने के लिए Character ‘e’ या ‘E’ का प्रयोग किया जाता है।
जब हम किसी Expression में किसी संख्या को दसमलव (Point) अथवा घातांक (Exponent) का प्रयोग करते हुए लिखते हैं, तो Python उसे Floating Point Object बनाकर Expression के Mathematical Operation को Floating Point Number की तरह Treat करते हुए Solve करता है, Integer की तरह नहीं।
Standard CPython में Floating Point Numbers को C/C++ Language के double Data Type की तरह Treat किया जाता है, इसलिए Python में भी Floating Point Numbers उतने दसमलव Points तक के मान को Interpret and Process कर सकता है, जितने C/C++ Langauge का double Data Type कर सकता है।
Python के अन्तर्गत C/C++ के Normal Integer व Long Integer दोनों को समान Integer Type द्वारा Manage किया जा सकता है। यानी Python में C/C++ के Integer व Long Integer दोनों को Merge करके एक Single Data Type बना दिया गया है, जिसे केवल Integer के नाम से ही Refer किया जाता है। इसलिए Python में हमें Normal Integer व Long Integer को C/C++ की तरह Numerical Value के साथ अलग तरीके Trailing ‘l’ या ‘L’ लगाकर Specify नहीं किया जाता।
सामान्यत: Integers को Decimal (Base 10) के रूप में ही लिखा जाता है, लेकिन C/C++, Java, C# जैसी अन्य Programming Languages की तरह ही Python में हम किसी Number को Hexadecimal (Base 16), Octal (Base 8) व Binary (Base 2) तरीके से भी लिख सकते हैं।
जब हम किसी Number को Hexadecimal तरीके से Represent करना चाहते हैं, तब हमें Number की शुरूआत में Prefix के रूप में 0x या 0X लिखना जरूरी होता है साथ ही Hexadecimal Number में 0 से 9 तक की Digits के साथ ही A से F तक के Characters का प्रयोग भी किया जा सकता है। जैसे- 0x122
इसी तरह से Number को Octal तरीके से Represent करते समय Number की शुरूआत में Prefix के रूप में 0o या 0O (Zero with Upper or Lowercase Letter “O”) लिखना जरूरी होता है साथ ही Octal Numbers में केवल 0 से 7 तक के Digits का ही प्रयोग किया जा सकता है। जैसे- 0o12215
जबकि Number को Binary Format में Represent करते समय हमें Number की शुरूआत में Prefix के रूप में 0b या 0B Specify करना जरूरी होता है। जैसे- 0b110110
यहां ध्यान रखने वाली बात ये है कि हालांकि हम Decimal, Hexadecimal, Octal या Binary के रूप में कुल चार तरीकों से किसी Integer Value को Represent कर सकते हैं लेकिन ये सभी Integer Literals ही हैं। इसलिए हालांकि हम एक ही Numerical Value को चार अलग तरीके से Specify कर सकते हैं लेकिन Python के लिए वे सभी एक समान ही होंगे।
Python हमें विभिन्न प्रकार के Numerical मानों को अलग-अलग Forms में Change करने के लिए hex(), oct() व bin() नाम के तीन Function Provide करता है जिनका प्रयोग करके हम किसी भी Numerical Value Equivalent Form को String Format में प्राप्त कर सकते हैं और इन String Format में Specified Values के साथ यदि हमें कोई Mathematical Operation करना हो, तो हम int(strFormat, base) Function का प्रयोग करते हुए Runtime में इन पर किसी भी तरह के Mathematical Operations को Perform कर सकते हैं। इसे समझने के लिए हम निम्नानुसार एक Example Program Create कर सकते हैं-
[code] FileName: NumericalLiteralConversionFunctions.py numLiteral = 25 hNumLiteral = hex(numLiteral) oNumLiteral = oct(numLiteral) bNumLiteral = bin(numLiteral) print("Decimal Value:", numLiteral) # 25 print("Hexadecimal Equivalent:", hNumLiteral ) # 0x19 print("Octal Equivalent:", oNumLiteral) # 0o31 print("Binary Equivalent:", bNumLiteral, "\n") # 0b11001 obMulti = int('0o31', 8) * int('0b11001', 2) print("Multiplication of Octal and Binary:", obMulti) obMulti = int(oNumLiteral, 8) * int(bNumLiteral, 2) print("Multiplication of Octal and Binary:", obMulti) Output Decimal Value: 25 Hexadecimal Equivalent: 0x19 Octal Equivalent: 0o31 Binary Equivalent: 0b11001 Multiplication of Octal and Binary: 625 Multiplication of Octal and Binary: 625 [/code]
इस Example में सबसे पहले हमने संख्या 25 को numLiteral नाम के एक Variable में Store किया है और उसके बाद आगे के तीन Statements में hex(), oct() व bin() Functions के माध्यम से हमने इसी Decimal Number 25 का Hexadecimal Equivalent Variable hNumLiteral में, Octal Equivalent Variable oNumLiteral में और Binary Equivalent Variable bNumLiteral में Store करके Output में Print करवा दिया है।
चूंकि इन Functions द्वारा जब किसी Decimal Value का Conversion होता है तो Equivalent Value एक String Format में Return होता है और किसी String पर हम कोई Mathematical Calculation Perform नहीं कर सकते। इसलिए किसी भी तरह का Mathematical Calculation Perform करने के लिए हमें पहले उस String Formatted Numerical मान को Integer Format में Convert करना पड़ता है और इस जरूरत को पूरा करने के लिए Python हमें int() नाम का Function Provide करता है।
int() Function Parameter के रूप में दो Arguments Accept करता है। पहला Argument, String Formatted Numerical Value को Accept करता है जबकि दूसरा Argument ये बताता है कि पहले Argument के रूप में Specified String Formatted Value का Base क्या है। यानी Value Hexadecimal है, Octal है, Binary है या Decimal है।
चूंकि हमारे Example में हम Octal Value को Binary Value से गुणा करवा रहे हैं, इसलिए दोनों Multiply होने वाले String Formatted Value के पहले int() Function में Base Argument के रूप में हमने 8 Specify किया है क्योंकि पहले int() Function के पहले Parameter में String के रूप में एक Octal Value है जबकि दूसरे पहले int() Function में Base Argument के रूप में हमने 2 Specify किया है क्योंकि दूसरे int() Function के पहले Parameter में String के रूप में एक Binary Value है ।
इस तरह से दो अलग Format की String के रूप में Specified Values पर Mathematical Operation Perform करने के लिए हम int() Function को Use कर सकते हैं और Output के रूप में एक Decimal Format का Result प्राप्त कर सकते हैं क्योंकि int() Function Return Value के रूप में एक Decimal मान Return करता है।
Python के अन्तर्गत जब हम Complex Values के साथ Deal करते हैं, तब Complex Value के हमेंशा दो हिस्से होते हैं। Complex Number के पहले हिस्से को Real Part कहते हैं जबकि दूसरा हिस्सा Imaginary Part कहलाता है। इस Complex Number का Imaginary Part हमेंशा Character ‘j’ या ‘J’ से Terminate होता है जबकि Real Part तकनीकी रूप से Complext Number का एक Optional Part होता है। इसलिए Imaginary Part स्वयं अपने स्तर पर स्वतंत्र रूप से Appear हो सकता है।
Python में Internally सभी Complex Numbers Floating Point Numbers के Pairs के रूप में Implement होते हैं लेकिन जब हम Complex Numbers पर Mathematical Operations Perform करते हैं, तब सभी Numerical Operations Complex Math Perform करते हैं। इन Complex Numbers को Create करने के लिए Python हमें complex(real, imag) नाम का Built-In Function भी Provide करता है।
इसके अलावा Python हमें Sets के माध्यम से कुछ और तरह के Specialized Number को Represent, Access and Manipulate करने की सुविधा भी देता है, जिसके बारे में हम आगे जरूरत पड़ने पर विस्तार से समझेंगे।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Python in Hindi | Page: 602 | Format: PDF