पूर्णांक को स्ट्रिंग में परिवर्तित करना?


1361

मैं अजगर में एक पूर्णांक को एक स्ट्रिंग में बदलना चाहता हूं। मैं इसे व्यर्थ में टाइप कर रहा हूं:

d = 15
d.str()

जब मैं इसे स्ट्रिंग में बदलने की कोशिश करता हूं, तो यह एक त्रुटि दिखा रहा है जैसे intकि कोई विशेषता नहीं है str।

जवाबों:


2094
>>> str(10)
'10'
>>> int('10')
10

प्रलेखन के लिंक:

स्ट्रिंग में रूपांतरण बिलियन str()फ़ंक्शन के साथ किया जाता है , जो मूल रूप __str__()से अपने पैरामीटर की विधि को कॉल करता है ।



62

पाइथन में टाइपकास्ट और कोई प्रकार का जोर नहीं है। आपको अपने चर को एक स्पष्ट तरीके से बदलना होगा।

किसी ऑब्जेक्ट को स्ट्रिंग में कनवर्ट करने के लिए आप str()फ़ंक्शन का उपयोग करते हैं। यह किसी भी ऑब्जेक्ट के साथ काम करता है जिसमें एक विधि होती है जिसे __str__()परिभाषित किया जाता है। असल में

str(a)

के बराबर है

a.__str__()

वही यदि आप किसी चीज को इंट, फ्लोट आदि में बदलना चाहते हैं।


इस समाधान ने मेरी मदद की, मैं एक अल्फ़ान्यूमेरिक स्ट्रिंग को एक संख्यात्मक स्ट्रिंग में परिवर्तित कर रहा था, उनके एस्की मूल्यों के साथ अक्षरों की जगह, हालांकि सीधे str () फ़ंक्शन का उपयोग करना काम नहीं कर रहा था, लेकिन __str __ () ने काम किया। उदाहरण (python2.7); s = "14.2.2.10a2" नॉन वर्किंग कोड: प्रिंट "" .join ([str (ord (c)) अगर (c.isalpha () c में c के लिए c]) वर्किंग कोड: प्रिंट "" .join ((ord (c) .__ str __ () if (c.isalpha ()) c फॉर c में s के लिए]] अपेक्षित आउटपुट: 14.2.2.10972
— जयंत

18

गैर-पूर्णांक इनपुट का प्रबंधन करने के लिए:

number = raw_input()
try:
    value = int(number)
except ValueError:
    value = 0

14
>>> i = 5
>>> print "Hello, world the number is " + i
TypeError: must be str, not int
>>> s = str(i)
>>> print "Hello, world the number is " + s
Hello, world the number is 5

11

पायथन => 3.6 में आप fप्रारूपण का उपयोग कर सकते हैं :

>>> int_value = 10
>>> f'{int_value}'
'10'
>>>

7

पायथन 3.6 के लिए आप स्ट्रिंग में बदलने के लिए f-strings नई सुविधा का उपयोग कर सकते हैं और यह str () फ़ंक्शन की तुलना में तेज़ है, इसका उपयोग इस तरह किया जाता है:

age = 45
strAge = f'{age}'

पायथन उस कारण के लिए str () फ़ंक्शन प्रदान करता है।

digit = 10
print(type(digit)) # will show <class 'int'>
convertedDigit= str(digit)
print(type(convertedDigit)) # will show <class 'str'>

अधिक विस्तृत उत्तर के लिए आप इस लेख को देख सकते हैं: पायथन इंट को स्ट्रिंग और पाइथन स्ट्रिंग को इंट में परिवर्तित करना


6

मेरी राय में सबसे सभ्य तरीका `` है।

i = 32   -->    `i` == '32'

3
ध्यान दें कि यह इसके बराबर है repr(i), इसलिए यह लंबे समय के लिए अजीब होगा। (कोशिश i = `2 ** 32`; print i)

16
यह अजगर 2 में पदावनत किया गया है और अजगर 3 में पूरी तरह से हटा दिया गया है, इसलिए मैं अब इसका उपयोग करने का सुझाव नहीं दूंगा। docs.python.org/3.0/whatsnew/3.0.html#removed-syntax
— teeks99


5

किसी व्यक्ति के लिए जो विशिष्ट अंकों में int को स्ट्रिंग में बदलना चाहता है, नीचे दी गई विधि की सिफारिश की जाती है।

month = "{0:04d}".format(localtime[1])

अधिक जानकारी के लिए, आप अग्रणी शून्य के साथ स्टैक ओवरफ्लो प्रश्न प्रदर्शन संख्या का उल्लेख कर सकते हैं ।


4

पायथन 3.6 में एफ-स्ट्रिंग्स की शुरुआत के साथ, यह भी काम करेगा:

f'{10}' == '10'

यह वास्तव में कॉलिंग से तेज है str() में पठनीयता की कीमत पर, है।

वास्तव में, यह तेजी से है %x स्ट्रिंग फॉर्मेटिंग और .format()!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.