Type Conversion or Type Casting in Python

Type Conversion or Type Casting – जैसे ही हम इस Modified Program को Run करते हैं, Program हमसे दो Numbers Input करने के लिए कहता है। जैसे ही हम दोनों Numbers Input करते हैं, हमारा Program उन्‍हें firstNumbersecondNumber नाम के Variables में Store कर देता है और सबसे पहला print() Function Run करता है।

लेकिन जैसाकि हम Output में देख सकते हैं, ये print() Function हमें हमारे Input किए गए मान 8 + 3 = 11 Return नहीं करता बल्कि 8 + 3 = 83 Return करके Just अगले print() Statement को Run करने चला जाता है और उपरोक्‍तानुसार Error Output Display होने लगता है।

ऐसा इसलिए होता है क्‍योंकि जब हम input() Function का प्रयोग करते हुए Keyboard से User Input Receive करते हैं, तो आने वाला Numerical मान 83 क्रमश: firstNumbersecondNumber नाम के String Data Type के Objects में Number के रूप में Store न होकर, String “8” व String “3” के रूप में के Store हो जाता है।

परिणामस्‍वयरूप जब पहले print() Function के अन्‍दर 5वें Parameter के रूप में लिखा गया “firstNumber + secondNumber” Expression Execute होता है, तो Python Interpreter, दो Numerical Values 8 व 3 को नहीं बल्कि दो String Values “8”“3” पर Addition Operation Apply करता है और String के रूप में “8”“3” का जोड़ करने पर “83” ही Return होता है।

लेकिन जब अगला print() Statement Execute होता है, और इसके अन्‍दर 5वें Parameter के रूप में लिखा गया “firstNumber – secondNumber” Expression Execute होता है, तब Python Interpreter Confuse हो जाता है। क्‍योंकि दो Strings को तो आपस में जोड़ा जा सकता है, लेकिन एक String में से किसी दूसरी String को घटाया नहीं जा सकता।

यानी हम String “Hello! ” और String “Kuldeep” को यदि आपस में जोड़ते हैं, तो हमें Output के रूप में “Hello! Kuldeep” String मिल जाएगा, क्‍योंकि Python Interpreter को पता है कि दो Strings को आपस में कैसे जोड़ा जाता है। लेकिन यदि हम String “Hello! ” में से String “Kuldeep” को घटाने का Expression लिखें, तो Python Interpreter Confuse हो जाएगा, क्‍योंकि Real World में Practically ऐसा सम्‍भव ही नहीं है। String “Hello! ” में से String “Kuldeep” को घटाने का कोई औचित्‍य कोई मतलब ही नहीं है।

चूंकि input() Function द्वारा Keyboard से आने वाले Numerical मान को भी Python Interpreter String Data Type ही समझता है, इसलिए Python Interpreter को ये बताने के लिए कि Keyboard से आने वाला Data एक Number Data Type का मान है, हमें firstNumbersecondNumber Identifiers का Type Conversion करना पड़ता है और Python को ये Explicitly बताना पड़ता है कि हम जिस Identifier पर Arithmetic Operation Perform करना चाहते हैं, उसमें Stored Data को Numerical Value की तरह Treat किया जाए न कि String Value की तरह।

Python में विभिन्‍न प्रकार के Data को अन्‍य Data Types में Convert करने के लिए Python हमें कुछ Functions Provide करता है। लेकिन फिलहाल यहां हम केवल Number Data Type के Type Conversion के बारे में ही समझेंगे।

जब हमें किसी Data को Integer Type में Cast करना होता है यानी हमें Python Interpreter को ये Instruction देना होता है कि किसी Particular Data को Integer की तरह Treat करे, तब हम Integer Type Casting करते हैं और इस काम को करने के लिए Python हमें int( identifier, base ) Function Provide करता है।

इस Function में पहले Parameter के रूप में उस Value या Identifier को Specify करते हैं, जिसमें Stored Data को Number Value में Convert करना होता है जबकि दूसरे Parameter के रूप में हम उस Convert होने वाली Value के Base को Specify करते हैं।

अगर हमें किसी Binary Value को Integer Data के रूप में Convert करना हो, तो हम Base Parameter के रूप में 2 Specify करते हैं, जबकि Default रूप से इसका माना 10 होता है, जो कि हमारे Decimal Value को Represent करता है।

इसी तरह से जब हमें किसी Value को Floating Point Value के रूप में Convert करना हो, तब हम Python के float() नाम के Function को Use करते हैं।

कभी-कभी हमें किसी Single Character को Integer में Convert करना होता है। उस समय हमें ord() नाम का Function Use करना पड़ता है।

जबकि किसी Integer Value को Hexadecimal Value में Convert करने के लिए Python हमें hex() नाम का Function Provide करता है और किसी Integer Value को Octal Value में Convert करने के लिए Python हमें oct() नाम का Function Provide करता है।

इस तरह से अ‍ब यदि हम हमारे पिछले Example Program के Error को ठीक करते हुए इसे Modify करें, तो हमारा Program कुछ निम्‍नानुसार बनेगा-

[code]
FileName: inputFunction.py
# Identifier Declaration and Getting User Input
number1 = input("Enter First Number: ")
number2 = input("Enter Second Number: ")

# Type Casting
firstNumber = int(number1)
secondNumber = int(number2)

# Addition
result = firstNumber + secondNumber
print(firstNumber, " + ", secondNumber, " = ", result)

# Subtraction
result = firstNumber - secondNumber
print(firstNumber, " - ", secondNumber, " = ", result)

# Multiplication
result = firstNumber * secondNumber
print(firstNumber, " x ", secondNumber, " = ", result)

# Division
result = firstNumber / secondNumber
print(firstNumber, " / ", secondNumber, " = ", result)

# Remainder
result = firstNumber % secondNumber
print(firstNumber, " % ", secondNumber, " = ", result)

# Exponentiation
result = firstNumber ** secondNumber
print(firstNumber, " ^ ", secondNumber, " = ", result)

Output
Enter First Number: 8
Enter Second Number: 3
8  +  3  =  11
8  -  3  =  5
8  x  3  =  24
8  /  3  =  2.6666666666666665
8  %  3  =  2
8  ^  3  =  512
[/code]

और जैसाकि हम Output में देख सकते हैं कि हमें वही Output मिल रहा है पिछले Program से मिला था, लेकिन अब ये Program Dynamically हमारे User Input Data पर Calculation Perform करके Result Return कर रहा है। इसलिए अब हम जो चाहें वो Numerical Data Input करके उस पर Arithmetical Operations Perform करवा सकते हैं, जो कि इस Program के पिछले Version पर सम्‍भव नहीं था।

Python print() Function
String in Python

Python in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Python in Hindi | Page: 602 | Format: PDF

BUY NOW GET DEMO REVIEWS