१. परिचय
पाइथनमा प्रोग्रामिङ गर्दा, डाटा प्रकार रूपान्तरण एक महत्वपूर्ण प्रविधि हो। विशेष गरी, स्ट्रिङ र संख्याहरू बीच रूपान्तरण गर्ने क्षमता डाटा इनपुट/आउटपुट र गणनाहरूका लागि आवश्यक छ। उदाहरणका लागि, फर्ममा प्रयोगकर्ताले प्रवेश गरेको स्ट्रिङलाई गणना गर्न संख्या रूपमा रूपान्तरण गर्न आवश्यक पर्छ, वा संख्यात्मक परिणामलाई प्रदर्शनका लागि स्ट्रिङ रूपमा ढाल्नु पर्छ।
यद्यपि, विभिन्न प्रकारका डाटा मिश्रण गर्दा त्रुटिहरू हुन सक्छन्, त्यसैले शुरुआतीहरूलाई सावधान रहन आवश्यक छ। यो लेखले पाइथनमा “स्ट्रिङहरूलाई संख्याहरूमा” र “संख्याहरूलाई स्ट्रिङहरूमा” रूपान्तरण गर्ने तरिकाहरू चित्रण गर्दछ, व्यावहारिक उदाहरणहरू र त्रुटि ह्यान्डलिङ तथा विशेष अवस्थाहरूको विस्तृत कभरेज प्रदान गर्दछ। हामी आशा गर्छौं कि यसले तपाईंलाई आधारभूत देखि उन्नत पाइथन प्रोग्रामिङ कौशल विकास गर्न मद्दत गर्छ।
अर्को खण्डले पाइथनका आधारभूत प्रकार रूपान्तरण विधिहरू विस्तारमा व्याख्या गर्नेछ।
२. पाइथनमा आधारभूत प्रकार रूपान्तरण
पाइथनमा, जब डाटा प्रकारहरू फरक हुन्छन्, प्रत्यक्ष सञ्चालनहरू प्रायः सीमित हुन्छन्, र विभिन्न प्रकारहरू बीच डाटा रूपान्तरण आवश्यक हुन्छ। स्ट्रिङहरूलाई संख्याहरूमा वा उल्टो रूपान्तरण गर्ने तरिका बुझ्नाले तपाईंलाई थप लचिलो र त्रुटि-रहित कोड लेख्न सक्षम बनाउँछ। यो खण्डले “int()” र “float()” फङ्क्शनहरू प्रयोग गरेर पाइथनमा आधारभूत प्रकार रूपान्तरण व्याख्या गर्दछ।
पूर्णाङ्कमा रूपान्तरण
जब संख्या स्ट्रिङ रूपमा प्रवेश गरिन्छ, पाइथनमा संख्यात्मक गणना गर्नुअघि त्यो स्ट्रिङलाई पूर्णाङ्क वा फ्लोटिङ-पोइन्ट संख्यामा रूपान्तरण गर्न आवश्यक छ। उदाहरणका लागि, स्ट्रिङ “42” लाई पूर्णाङ्क 42 मा रूपान्तरण गर्न, निम्नानुसार int() फङ्क्शन प्रयोग गर्नुहोस्।
str_number = "42"
int_number = int(str_number)
print(int_number) # Output: 42
त्यसैले, int() फङ्क्शन प्रयोग गरेर स्ट्रिङलाई पूर्णाङ्कमा रूपान्तरण सम्भव हुन्छ। रूपान्तरण सफल हुँदा, मानलाई संख्या रूपमा प्रयोग गर्न सकिन्छ। ध्यान दिनुहोस् कि दशमलव बिन्दु भएको स्ट्रिङ, जस्तै "42.0", लाई पूर्णाङ्क प्रकारमा रूपान्तरण गर्ने प्रयास गर्दा त्रुटि उत्पन्न हुन्छ। पूर्णाङ्क रूपान्तरणका लागि मात्र पूर्ण संख्याहरू वैध छन्; यदि स्ट्रिङमा दशमलव बिन्दु समावेश छ भने, float() प्रयोग गर्न आवश्यक छ।
फ्लोटिङ-पोइन्ट संख्यामा रूपान्तरण
फ्लोटिङ-पोइन्ट संख्या मूल्यको भग्नांश भाग कायम राख्न सक्ने प्रकार हो। पाइथनमा, float() फङ्क्शन प्रयोग गरेर स्ट्रिङलाई फ्लोटिङ-पोइन्ट संख्यामा रूपान्तरण गर्न सकिन्छ। उदाहरणका लागि, स्ट्रिङ “3.14” लाई फ्लोटिङ-पोइन्ट संख्यामा रूपान्तरण गर्न, निम्न कोड प्रयोग गर्नुहोस्।
str_float = "3.14"
float_number = float(str_float)
print(float_number) # Output: 3.14
त्यसैले, float() फङ्क्शन प्रयोग गरेर स्ट्रिङबाट फ्लोटिङ-पोइन्ट संख्यामा रूपान्तरण सम्भव हुन्छ। यसबाहेक, वैज्ञानिक संकेतनका स्ट्रिङहरूलाई float() ले रूपान्तरण गर्न सकिन्छ, र "1.23e-4" जस्ता संकेतनहरू पनि समर्थित छन्।
str_exp = "1.23e-4"
float_exp = float(str_exp)
print(float_exp) # Output: 0.000123
संख्याबाट स्ट्रिङमा रूपान्तरण
उल्टो रूपमा, संख्यालाई स्ट्रिङमा रूपान्तरण गर्ने धेरै अवस्थाहरू हुन्छन्। उदाहरणका लागि, जब तपाईं संख्यालाई अन्य स्ट्रिङहरूसँग जोडेर प्रदर्शन गर्न चाहनुहुन्छ। यस्ता अवस्थाहरूमा, str() फङ्क्शन प्रयोग गर्नुहोस्।
num = 42
str_num = str(num)
print("Result of converting a number to a string: " + str_num) # Output: Result of converting a number to a string: 42
त्यसैले, str() फङ्क्शनले संख्याबाट स्ट्रिङमा रूपान्तरण गर्दछ, जसले संख्याहरू समावेश स्ट्रिङहरूको हेरफेर सम्भव बनाउँछ।
आधारभूत प्रकार रूपान्तरण बुझ्नुभएकाले, तपाईं अन्य अङ्क प्रणालीहरू बीच रूपान्तरण र पूर्ण-प्रस्ठ स्ट्रिङहरू ह्यान्डल गर्ने जस्ता उन्नत विषयहरूमा अगाडि बढ्न सक्नुहुन्छ।

३. अनुप्रयोग उदाहरण: बहु-आधारहरू र पूर्ण-प्रस्ठ संख्याहरूको रूपान्तरण
अब तपाईंले पाइथनका आधारभूत प्रकार रूपान्तरणहरू बुझ्नुभयो, हामी थप उन्नत अवस्थाहरूबारे छलफल गर्नेछौं। यो खण्डले द्विआधारी र षोडशाङ्क जस्ता विभिन्न आधारहरूमा रूपान्तरण गर्ने तरिका र पूर्ण-प्रस्ठ अक्षरहरू समावेश संख्याहरू ह्यान्डल गर्ने तरिका व्याख्या गर्दछ।
द्विआधारी, अष्टाङ्क र षोडशाङ्कको रूपान्तरण
पाइथनको int() फङ्क्शनले दशमलव मात्र होइन, बाइनरी, अष्टमलव, र षोडशमलव स्ट्रिङहरूलाई पनि रूपान्तरण गर्न सक्छ। यस अवस्थामा, तपाईंले int() फङ्क्शनको दोस्रो तर्कको रूपमा आधार (रेडिक्स) निर्दिष्ट गर्नुहुन्छ। उदाहरणका लागि, बाइनरी वा षोडशमलव स्ट्रिङहरूलाई पूर्णाङ्कमा रूपान्तरण गर्न, तपाईं निम्नानुसार लेख्नुहुनेछ।
binary_str = "1010" # binary string
octal_str = "12" # octal string
hex_str = "a" # hexadecimal string
int_binary = int(binary_str, 2)
int_octal = int(octal_str, 8)
int_hex = int(hex_str, 16)
print(int_binary) # Output: 10
print(int_octal) # Output: 10
print(int_hex) # Output: 10
यसरी, बाइनरी, अष्टमलव, र षोडशमलव स्ट्रिङहरूलाई उपयुक्त आधारसँग int() प्रयोग गरेर पूर्णाङ्कमा रूपान्तरण गर्न सकिन्छ। यो सुविधा विशेष गरी बहु-संख्यात्मक प्रणालीहरू समावेश डेटासँग काम गर्दा उपयोगी हुन्छ।
पूर्ण-प्रसार संख्याहरू र विशेष क्यारेक्टरहरूको ह्यान्डलिङ
यदि प्रयोगकर्ता इनपुटबाट आएको स्ट्रिङमा पूर्ण-प्रसार संख्याहरू वा विशेष क्यारेक्टरहरू समावेश छन् भने, पाइथनमा यसलाई प्रत्यक्ष रूपान्तरण गर्ने प्रयासले त्रुटिहरू उत्पन्न गर्न सक्छ। विशेष गरी जापानी संख्यात्मक इनपुटमा पूर्ण-प्रसार क्यारेक्टरहरू समावेश हुँदा, पाइथनले तिनीहरूलाई राम्रोसँग ह्यान्डल गर्न सक्दैन, त्यसैले replace() विधि प्रयोग गरेर पूर्ण-प्रसार क्यारेक्टरहरूलाई आधा-प्रसारमा रूपान्तरण गर्न सिफारिस गरिन्छ।
तल दिइएको उदाहरणले पूर्ण-प्रसार स्ट्रिङलाई आधा-प्रसारमा रूपान्तरण गरेपछि संख्यामा रूपान्तरण गर्दछ।
str_num_fullwidth = "12345"
str_num_halfwidth = str_num_fullwidth.translate(str.maketrans('0123456789', '0123456789'))
print(int(str_num_halfwidth)) # Output: 12345
यो दृष्टिकोण प्रयोग गरेर पूर्ण-प्रसार संख्यात्मक स्ट्रिङहरूलाई संख्यामा रूपान्तरण गर्न सकिन्छ। यदि पूर्ण-प्रसार दशमलव बिन्दु पनि रूपान्तरण आवश्यक छ भने, तपाईं निम्नानुसार अतिरिक्त रूपान्तरण गर्न सक्नुहुन्छ।
str_float_fullwidth = "123.456"
str_float_halfwidth = str_float_fullwidth.translate(str.maketrans('0123456789.', '0123456789.'))
print(float(str_float_halfwidth)) # Output: 123.456
कन्जी संख्याहरूको रूपान्तरण
पाइथनमा, तपाईंले युनिकोड मोड्युल प्रयोग गरेर केही कन्जी संख्याहरूलाई संख्यामा रूपान्तरण गर्न सक्नुहुन्छ। unicodedata.numeric() प्रयोग गरेर, “一” वा “百” जस्ता स्ट्रिङहरूलाई फ्लोटिङ-पोइन्ट संख्याहरूमा रूपान्तरण गर्न सकिन्छ।
import unicodedata
kanji_num = '五'
converted_num = unicodedata.numeric(kanji_num)
print(converted_num) # Output: 5.0
यद्यपि, यो बहु-क्यारेक्टरहरूबाट बनेका कन्जी संख्याहरू (जस्तै, “十五”) लाई समर्थन गर्दैन, त्यसैले थप जटिल प्रोसेसिङका लागि अतिरिक्त लाइब्रेरीहरू वा कस्टम नियमित-अभिव्यक्ति ह्यान्डलिङ विचार गर्नुहोस्। यसरी, पाइथनले संख्यात्मक स्ट्रिङहरूका लागि विभिन्न रूपान्तरण विधिहरू प्रदान गर्दछ। अर्को खण्डले इनपुट मानलाई रूपान्तरण गर्न सकिन्छ कि सकिँदैन भन्ने निर्धारण गर्ने र त्रुटिहरू ह्यान्डल गर्ने तरिकाहरूको विस्तृत वर्णन गर्दछ।
४. त्रुटि ह्यान्डलिङ र इनपुट वैधता जाँच
डेटा प्रोसेसिङमा, प्रयोगकर्ता इनपुट डेटा वा बाह्य स्रोतहरूबाट प्राप्त डेटालाई संख्यामा राम्रोसँग रूपान्तरण गर्न नसकिने अवस्थाहरू हुन्छन्। त्यसैले, डेटालाई संख्यात्मक प्रकारमा रूपान्तरण गर्न सकिन्छ कि सकिँदैन भन्ने अग्रिम निर्धारण गर्नु र रूपान्तरण असफल हुँदा त्रुटिहरूलाई उपयुक्त रूपमा ह्यान्डल गर्नु महत्वपूर्ण छ। यो खण्डले इनपुट वैधता जाँच र त्रुटि ह्यान्डलिङका विधिहरूको व्याख्या गर्दछ।
isdigit() र नियमित अभिव्यक्तिहरू प्रयोग गरेर संख्या पत्ता लगाउने
स्ट्रिङलाई संख्यामा रूपान्तरण गर्न सकिन्छ कि सकिँदैन भन्ने पूर्व-निर्धारण गर्ने एउटा तरिका पाइथनको isdigit() विधि वा नियमित अभिव्यक्तिहरू प्रयोग गर्नु हो। isdigit() ले स्ट्रिङ पूर्ण रूपमा अङ्कहरूबाट बनेको छ भने सत्य फर्काउँछ, तर दशमलव बिन्दु वा माइनस चिन्ह समावेश छ भने असत्य फर्काउँछ। त्यसैले, यो पूर्णाङ्कहरू जाँच्न चाहनुहुन्छ भने उपयोगी हुन्छ।
def is_integer(input_str):
return input_str.isdigit()
# Example usage
print(is_integer("123")) # Output: True
print(is_integer("3.14")) # Output: False
print(is_integer("-123")) # Output: False
अर्कोतर्फ, फ्लोटिङ-पोइन्ट संख्याहरू र ऋणात्मक मानहरू समावेश संख्या पत्ता लगाउनका लागि, नियमित अभिव्यक्तिहरू सुविधाजनक हुन्छन्। तलको उदाहरणमा, “+” वा “-” बाट सुरु हुने संख्याहरू र दशमलव बिन्दु समावेश मानहरूलाई सत्य फर्काउन सेट गरिएको छ।
import re
def is_numeric(input_str):
return bool(re.match(r'^[+-]?d+(.d+)?$', input_str))
# Example usage
print(is_numeric("123")) # Output: True
print(is_numeric("-123.45")) # Output: True
print(is_numeric("3.14.15")) # Output: False
print(is_numeric("abc")) # Output: False
यसरी रेगुलर एक्सप्रेसनहरू प्रयोग गरेर, तपाईंले मान संख्यात्मक हो कि होइन अधिक लचिलो रूपमा निर्धारण गर्न सक्नुहुन्छ, जुन जटिल इनपुट डेटा प्रक्रिया गर्दा उपयोगी हुन्छ।
त्रुटि ह्यान्डलिंग: अपवाद ह्यान्डलिंग प्रयोग गर्दै
Python मा, अनुचित डेटा सहित स्ट्रिङलाई संख्यामा रूपान्तरण गर्दा त्रुटि (ValueError) उत्पन्न हुन्छ। यो त्रुटि पक्रन र प्रक्रिया जारी राख्न, अपवाद ह्यान्डलिंगको लागि try-except ब्लक प्रयोग गर्नु सामान्य हो।
तलको उदाहरणमा, स्ट्रिङलाई इन्टिजरमा रूपान्तरण गर्ने प्रयास गर्दा त्रुटि आएमा, उपयुक्त त्रुटि सन्देश देखाइन्छ।
def convert_to_int(input_str):
try:
return int(input_str)
except ValueError:
print(f"Error: '{input_str}' cannot be converted to an integer.")
return None
# Example usage
print(convert_to_int("123")) # Output: 123
print(convert_to_int("abc")) # Output: Error: 'abc' cannot be converted to an integer.
अपवाद ह्यान्डलिंग थपेर, त्रुटि आए पनि कार्यक्रम सुचारु रूपमा चलिरहन्छ, रोकिएन। यसले प्रयोगकर्तालाई स्पष्ट प्रतिक्रिया पनि प्रदान गर्छ, जसले इनपुट त्रुटिहरूलाई समाधान गर्न सजिलो बनाउँछ।
इनपुट डेटा मान्यकरण र त्रुटि ह्यान्डलिंग सही रूपमा गरिएमा, कोडको विश्वसनीयता सुधारिन्छ। अर्को भागमा, सूचीका तत्वहरूलाई थोकमा कसरी रूपान्तरण गर्ने हेर्नेछौं।

5. सूचीका तत्वहरूलाई थोकमा कसरी रूपान्तरण गर्ने
डेटा प्रक्रिया गर्दा, तपाईंलाई स्ट्रिङ स्वरूपमा रहेका सूची तत्वहरूलाई थोकमा संख्यामा रूपान्तरण गर्न आवश्यक पर्न सक्छ। उदाहरणका लागि, CSV फाइलहरू र बाह्य स्रोतहरूबाट प्राप्त डेटा प्रायः स्ट्रिङको रूपमा संग्रहित हुन्छ। यो भागले Python सूची कम्प्रिहेन्सन प्रयोग गरेर थोक रूपान्तरणको विधि प्रस्तुत गर्दछ।
सूची कम्प्रिहेन्सन प्रयोग गरेर थोक रूपान्तरण
Python मा, प्रत्येक सूची तत्वलाई लूपले प्रक्रिया गर्ने अतिरिक्त, तपाईंले सूची कम्प्रिहेन्सन प्रयोग गरेर डेटा रूपान्तरण छोटो र प्रभावकारी रूपमा गर्न सक्नुहुन्छ। सूची कम्प्रिहेन्सनले सूचीको प्रत्येक तत्वमा विशेष अपरेसन लागू गरी नयाँ सूची बनाउँछ।
उदाहरणका लागि, संख्यात्मक स्ट्रिङहरू समावेश गर्ने सूचीलाई इन्टिजरको सूचीमा रूपान्तरण गर्न, तलको कोड प्रयोग गर्नुहोस्।
str_list = ["10", "20", "30", "40", "50"]
int_list = [int(i) for i in str_list]
print(int_list) # Output: [10, 20, 30, 40, 50]
यस उदाहरणमा, सूची कम्प्रिहेन्सनको [int(i) for i in str_list] ले str_list को प्रत्येक तत्वलाई int() फङ्क्शन प्रयोग गरेर इन्टिजरमा रूपान्तरण गरी नयाँ सूची int_list बनाउँछ। यो विधिले छोटो कोडसँग ठूलो मात्रामा डेटा प्रक्रिया गर्न सम्भव बनाउँछ, जसले कोडको पढ्नीयता र प्रदर्शन सुधार्छ।
त्रुटि ह्यान्डलिंगसहित थोक सूची रूपान्तरण
यदि सूचीमा रूपान्तरण गर्न नसकिने डेटा (जस्तै, स्ट्रिङहरू वा विशेष क्यारेक्टरहरू) छन् भने, त्रुटि उत्पन्न हुन्छ। यस्तो अवस्थामा, रूपान्तरण त्रुटि टाल्नको लागि सूची कम्प्रिहेन्सनमा सर्तहरू वा अपवाद ह्यान्डलिंग समावेश गर्न सकिन्छ। तलको उदाहरणले केवल इन्टिजरमा रूपान्तरण गर्न सकिने तत्वहरू मात्र रूपान्तरण गर्दछ।
str_list = ["10", "20", "abc", "30", "40"]
int_list = []
for i in str_list:
try:
int_list.append(int(i))
except ValueError:
print(f"Warning: '{i}' could not be converted to an integer.")
print(int_list) # Output: [10, 20, 30, 40]
यस कोडमा, स्ट्रिङलाई इन्टिजरमा रूपान्तरण गर्न try-except ब्लक प्रयोग गरिएको छ, र रूपान्तरण असफल भएमा त्रुटि सन्देश देखाइन्छ। append() मेथड प्रयोग गरेर केवल रूपान्तरण योग्य तत्वहरूलाई int_list मा थपेर, त्रुटि आए पनि प्रक्रिया जारी रहन्छ, र तपाईंले रूपान्तरण परिणाम प्राप्त गर्नुहुन्छ।
थोक सूची रूपान्तरण ठूलो मात्रामा डेटा प्रक्रिया गर्न अत्यन्त उपयोगी प्रविधि हो। अर्को भागमा, सम्पूर्ण लेखको सारांश लिनेछौं र हामीले सिकेका कुराहरूलाई व्यवस्थित गर्नेछौं।
6. सारांश
यस लेखमा, हामीले पाइथनमा स्ट्रिङ र संख्याहरू बीच कसरी रूपान्तरण गर्ने भन्ने कुरा व्याख्या गरेकाौं, आधारभूतदेखि उन्नत विषयहरू सम्म। डेटा प्रशोधनमा प्रकार रूपान्तरणको महत्व र यसलाई प्रभावकारी रूपमा कसरी गर्ने बुझ्नाले पाइथन प्रोग्रामिङमा तपाईंले गर्न सक्ने कार्यहरूको दायरा विस्तार हुन्छ। तल प्रत्येक भागको संक्षिप्त सारांश प्रस्तुत गरिएको छ।
लेखको पुनरावलोकन
- परिचय
- हामीले स्ट्रिङ र संख्याहरू बीच रूपान्तरण आवश्यक पर्ने परिस्थितिहरू व्याख्या गरेका छौं, र संख्यात्मक गणनाहरू तथा डेटा प्रदर्शनका लागि प्रकार रूपान्तरण किन महत्वपूर्ण छ भन्ने देखाएका छौं।
- पाइथनमा आधारभूत प्रकार रूपान्तरण
- हामीले आधारभूत रूपान्तरण विधिहरू सिक्यौं,
int(),float(), रstr()फङ्क्शन प्रयोग गरेर स्ट्रिङ र संख्याहरू बीच डेटा प्रकार परिवर्तन गर्ने।
- उन्नत उदाहरणहरू: विभिन्न आधारहरू र पूर्ण-चौडाइका संख्याहरूको रूपान्तरण
- हामीले बाइनरी, अष्टाधारी, र हेक्साडेसिमल संख्याहरूलाई इन्टिजरमा रूपान्तरण गर्ने तरिका, तथा संख्यात्मक ह्यान्डलिङका लागि पूर्ण-चौडाइका क्यारेक्टरहरूलाई आधा-चौडाइमा रूपान्तरण गर्ने विधि प्रस्तुत गरेका छौं। साथै
unicodedata.numeric()प्रयोग गरेर कञ्जी अंकहरूलाई संख्यामा रूपान्तरण गर्ने तरिका पनि व्याख्या गरेका छौं।
- त्रुटि ह्यान्डलिङ र इनपुट मान्यकरण
- संख्यात्मक रूपान्तरणको क्रममा त्रुटिहरू हुनसक्ने विचार गरी,
isdigit()र रेगुलर एक्सप्रेशन प्रयोग गरेर मान संख्यात्मक हो कि होइन पूर्व‑जाँच गर्ने तरिका, तथाtry-exceptप्रयोग गरेर अपवाद ह्यान्डलिङ गर्ने तरिका देखाएका छौं।
- सूचीका तत्वहरूलाई थोकमा रूपान्तरण गर्ने तरिका
- हामीले सूची समग्र (list comprehensions) प्रयोग गरेर थोक रूपान्तरण कसरी गर्ने, सम्भावित त्रुटिहरू कसरी ह्यान्डल गर्ने, र ठूलो मात्रामा डेटा प्रभावकारी रूपमा प्रशोधन गर्ने सीपहरू हासिल गरेका छौं।
भविष्यका अनुप्रयोगहरू
पाइथनमा प्रकार रूपान्तरण लगभग हरेक डेटा प्रशोधन र आधारभूत प्रोग्रामिङ कार्यमा संलग्न हुन्छ। वास्तविक विकासमा निरन्तर सही प्रकार रूपान्तरण र त्रुटि ह्यान्डलिङ लागू गरेर, तपाईंले बगहरूाउन र उच्च गुणस्तरको कोड लेख्न सक्नुहुन्छ। साथै, यहाँ सिकिएका आधारभूत रूपान्तरण विधिहरूमा निर्माण गरी उन्नत डेटा‑रूपान्तरण प्रविधिहरूमा निपुणता हासिल गर्दा, जटिल डेटा प्रशोधनलाई प्रभावकारी रूपमा ह्यान्डल गर्न सक्षम हुनुहुनेछ।
हामी आशा गर्छौं कि यो लेखले तपाईंलाई पाइथनमा प्रकार रूपान्तरणका लागि आवश्यक ज्ञान र प्रविधिहरूको व्यापक समझ प्रदान गरेको छ। तपाईंले सिक्नुभएको कुरा भविष्यका प्रोग्रामिङ परियोजनाहरूमा लागू गर्नुहोस्।




