Automatic Type Conversion – Type Casting – जब हम किसी Expression को Specify करते हैं, जिसमें Different Types के Literals होते हैं, तो C/C++, Java, C# की तरह ही Lower Type हमेंशा Automatically Upper Type में Convert हो जाता है।
ऐसा इसलिए होता है क्योंकि किसी भी Programming Langauge में केवल दो समान Type के Objects के बीच ही किसी भी तरह की Mathematical Calculation Perform हो सकती है। इसलिए यदि हम किसी Integer Object के साथ किसी Floating-Point Object की Mathematical Calculation Perform करें, तो Floating-Point Type, Integer Type से बड़ा होने की वजह से Integer Object पहले Automatically Floating-Poing Object में Convert होता है और उसके बाद उनके बीच Specified Operator के आधार पर Mathematical Operation Perform होता है।
यहां बड़ा होने का मतलब ये है कि हम जब चाहें तब बिना किसी तरह का Value Loss हुए भी किसी Integer Value को Floating Point Value में Convert कर सकते हैं। लेकिन यदि हम किसी Floating Point Value को Integer में Convert करते हैं, तो निश्चित रूप से दसमलव के बाद वाले Digits का Loss हो जाता है। फिर इस बात से कोई फर्क नहीं पड़ता कि दसमलव के बाद Trailing Zeros ही क्यों न हो, लेकिन वे Trailing Zeros भी Floating Point Value की Accuracy को ही Represent करते हैं।
उदाहरण के लिए 10 और 10.00 दोनों एक समान नहीं हैं क्योंकि Floating Point 10.00 इस बात का Indication दे रहा है कि ये 10 दसमलव के 2 Digit बाद तक Accurate है, जबकि Integer 10 का मतलब केवल इतना है कि ये दसमलव से पहले तक ही Accurate है। इसलिए यदि हम Integer 10 को Floating Point 10.0 बना देते हैं, तो Value Accuracy का कोई Loss नहीं होता, लेकिन यदि हम Floating Point 10.00 को 10 बनाते हैं, तो निश्चित रूप से दसमलव के बाद के 2 Digits तक की Value Accuracy का Loss हो जाता है।
इसलिए जब Python किसी Type को किसी अन्य Type में Convert करता है, तब वह हमेंशा Upper Level के Type में ही Automatic Conversion करता है, क्योंकि वो हमेंशा इस बात का ध्यान रखता है कि किसी भी Automatic Conversion में Value की Accuracy का Loss न हो और ऐसा केवल तभी हो सकता है जबकि Lower Type को हमेंशा केवल Upper Type में ही Convert किया जाए।
इसीलिए जब हम एक Integer Value के साथ एक Floating Point Value पर किसी Mathematical Operator को Apply करते हैं, तब Calculation Perform होने से पहले Integer Value, Floating Point Value में Convert होता है और Calculation Perform होने के बाद हमें जो Result प्राप्त होता है, वो Floating Point Value का ही प्राप्त होता है क्योंकि Actual में जो Calculation Perform हुई है, वो दो Floating Point Values पर ही Perform हुई है। साथ ही Resultant Value भी तभी Accurate हो सकता है, जबकि हमें प्राप्त होने वाला Result Floating Point Value का हो।
उदाहरण के लिए यदि हम 10 को 12.98 से जोड़ें, तो ये जोड़ कुछ निम्नानुसार तरीके से Flow होते हुए Result Compute करेगा-
P = 10 + 12.98
P = 10.0 + 12.98 # Automatic Type Casting – Integer to Float
P = 22.98 # Computed Result is Floating Point Value
(Automatic Type Conversion – Type Casting)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Python in Hindi | Page: 602 | Format: PDF
