format()
फ़ंक्शन का उपयोग करें :
>>> format(14, '#010b')
'0b00001110'
format()
समारोह बस निम्नलिखित इनपुट स्वरूपों स्वरूप विशिष्टता मिनी भाषा । #
प्रारूप में शामिल करता है 0b
उपसर्ग, और 010
आकार उत्पादन 10 अक्षर में फिट करने के साथ चौड़ाई, स्वरूपों 0
गद्दी; 0b
उपसर्ग के लिए 2 वर्ण , बाइनरी अंक के लिए अन्य 8।
यह सबसे कॉम्पैक्ट और प्रत्यक्ष विकल्प है।
यदि आप परिणाम को एक बड़े स्ट्रिंग में डाल रहे हैं, तो एक स्वरूपित स्ट्रिंग शाब्दिक (3.6+) का उपयोग करें या प्लेसहोल्डर के कोलन के बाद फ़ंक्शन के str.format()
लिए दूसरा तर्क रखें :format()
{:..}
>>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format(value)
'The produced output, in binary, is: 0b00001110'
जैसा कि होता है, यहां तक कि केवल एक मान को स्वरूपित करने के लिए (इसलिए परिणाम को एक बड़े स्ट्रिंग में डाले बिना), एक स्वरूपित स्ट्रिंग शाब्दिक का उपयोग करना उपयोग करने की तुलना में तेज है format()
:
>>> import timeit
>>> timeit.timeit("f_(v, '#010b')", "v = 14; f_ = format") # use a local for performance
0.40298633499332936
>>> timeit.timeit("f'{v:#010b}'", "v = 14")
0.2850222919951193
लेकिन मैं इसका उपयोग केवल तभी करूंगा जब एक तंग पाश मामलों में प्रदर्शन, जैसा format(...)
कि इरादे को बेहतर बताता है।
यदि आप 0b
उपसर्ग नहीं चाहते हैं , तो बस ड्रॉप करें #
और फ़ील्ड की लंबाई समायोजित करें:
>>> format(14, '08b')
'00001110'