पायथन में, मैं "545.2222" जैसे सांख्यिक स्ट्रिंग को अपने संबंधित फ्लोट मान, 542.2222 पर कैसे पार्स कर सकता हूं? या स्ट्रिंग "31" को पूर्णांक, 31 पर पार्स करें?
मैं बस यह जानना चाहता हूं कि फ्लोट स्ट्रिंग को फ्लोट में पार्स कैसे करें, और (अलग से) एक इंट स्ट्रिंग को एक इंट में।
यह अच्छा है कि आप इन्हें अलग से करने को कहें। यदि आप उन्हें मिला रहे हैं, तो आप बाद में समस्याओं के लिए खुद को स्थापित कर सकते हैं। सरल उत्तर है:
"545.2222"
तैरने के लिए:
>>> float("545.2222")
545.2222
"31"
एक पूर्णांक के लिए:
>>> int("31")
31
अन्य रूपांतरण, स्ट्रिंग और शाब्दिक से इनट्स:
विभिन्न आधारों के रूपांतरण, और आपको पहले से आधार पता होना चाहिए (10 डिफ़ॉल्ट है)। ध्यान दें कि आप उनसे उपसर्ग कर सकते हैं कि पाइथन अपने शाब्दिक के लिए क्या उम्मीद करता है (नीचे देखें) या उपसर्ग को हटा दें:
>>> int("0b11111", 2)
31
>>> int("11111", 2)
31
>>> int('0o37', 8)
31
>>> int('37', 8)
31
>>> int('0x1f', 16)
31
>>> int('1f', 16)
31
यदि आप पहले से आधार नहीं जानते हैं, लेकिन आप जानते हैं कि उनके पास सही उपसर्ग होगा, तो पायथन आपके लिए यह अनुमान लगा सकता है कि क्या आप 0
आधार के रूप में पास होते हैं :
>>> int("0b11111", 0)
31
>>> int('0o37', 0)
31
>>> int('0x1f', 0)
31
अन्य गैसों से गैर-दशमलव (यानी पूर्णांक) साहित्य
यदि आपकी प्रेरणा अपने स्वयं के कोड को स्पष्ट रूप से हार्ड-कोडित विशिष्ट मूल्यों का प्रतिनिधित्व करना है, हालांकि, आपको आधार से बदलने की आवश्यकता नहीं हो सकती है - आप सही सिंटैक्स के साथ पायथन को आपके लिए स्वचालित रूप से करने दे सकते हैं।
आप निम्नलिखित लिपि के साथ पूर्णांक में स्वचालित रूपांतरण प्राप्त करने के लिए एप्रोपोस उपसर्गों का उपयोग कर सकते हैं । ये पायथन 2 और 3 के लिए मान्य हैं:
बाइनरी, उपसर्ग 0b
>>> 0b11111
31
अष्टक, उपसर्ग 0o
>>> 0o37
31
हेक्साडेसिमल, उपसर्ग 0x
>>> 0x1f
31
बाइनरी झंडे, कोड में फ़ाइल अनुमतियाँ या रंगों के लिए हेक्स मानों का वर्णन करते समय यह उपयोगी हो सकता है - उदाहरण के लिए, कोई उद्धरण नहीं नोट करें:
>>> 0b10101 # binary flags
21
>>> 0o755 # read, write, execute perms for owner, read & ex for group & others
493
>>> 0xffffff # the color, white, max values for red, green, and blue
16777215
अजगर 3 के साथ संगत अस्पष्ट 2 ऑक्टल्स बनाना
यदि आप एक पूर्णांक देखते हैं जो कि पायथन 2 में 0 से शुरू होता है, तो यह (पदावनत) ऑक्टल सिंटैक्स है।
>>> 037
31
यह बुरा है क्योंकि ऐसा लगता है कि मूल्य होना चाहिए 37
। तो पायथन 3 में, यह अब एक उठाता है SyntaxError
:
>>> 037
File "<stdin>", line 1
037
^
SyntaxError: invalid token
अपने पाइथन 2 ऑक्टल्स को उन ऑक्टल्स में परिवर्तित करें जो 0o
उपसर्ग के साथ 2 और 3 दोनों में काम करते हैं :
>>> 0o37
31
type(my_object)
उस पर। परिणाम आमतौर पर रूपांतरण करने के लिए एक फ़ंक्शन के रूप में कहा जा सकता है। उदाहरण के लिएtype(100)
परिणाम हैint
, तो आप पूर्णांक मेंint(my_object)
परिवर्तितmy_object
करने का प्रयास कर सकते हैं । यह हमेशा काम नहीं करता है, लेकिन कोडिंग करते समय एक अच्छा "पहला अनुमान" है।