में प्रारूप() विधि के साथ सही/गलत है, मैं बूलियन अभिव्यक्तियों के लिए एक सत्य तालिका मुद्रित करने का प्रयास कर रहा था। जबकि यह कर रहा है, मैं निम्नलिखित पर ठोकर खाई:प्रिंटिंग बूलियन मान पायथन
>>> format(True, "") # shows True in a string representation, same as str(True)
'True'
>>> format(True, "^") # centers True in the middle of the output string
'1'
जैसे ही मैंने एक फॉर्मेट स्पेसिफायर निर्दिष्ट करते हैं, format()
1
करने के लिए True
बदल देता है। मुझे पता है कि bool
int
का एक उपवर्ग है, ताकि True
1
का मूल्यांकन:
>>> format(True, "d") # shows True in a decimal format
'1'
लेकिन पहले उदाहरण में 1
को फॉर्मेट स्पेसिफायर परिवर्तन 'True'
का उपयोग कर रहा है?
मैं docs for clarification पर बदल गया। केवल एक चीज है यह कहते हैं:
एक सामान्य परंपरा है कि एक खाली प्रारूप स्ट्रिंग (
""
) एक ही परिणाम के रूप में यदि आप मूल्य परstr()
बुलाया था उत्पादन होता है। एक गैर-खाली प्रारूप स्ट्रिंग आमतौर पर परिणाम को संशोधित करती है।
तो जब आप प्रारूप विनिर्देशक का उपयोग करते हैं तो स्ट्रिंग को संशोधित किया जाता है। लेकिन True
से 1
में परिवर्तन क्यों केवल एक संरेखण ऑपरेटर (उदा। ^
) निर्दिष्ट है?
"एक सामान्य सम्मेलन यह है कि एक खाली प्रारूप स्ट्रिंग (" ") उसी परिणाम का उत्पादन करती है जैसे आपने मूल्य पर str() कहा था। एक गैर-खाली प्रारूप स्ट्रिंग आम तौर पर परिणाम को संशोधित करती है।" - [डॉक्स] (https://docs.python.org/2/library/string.html#format- स्पेसिफिकेशन-mini-language) – netcoder
मुझे नहीं पता कि ऐसा क्यों किया जाता है, लेकिन यदि आप ठीक करना चाहते हैं यह आप 'प्रारूप (स्ट्र (ट्रू), "^" कर सकते हैं) ' – jspurim
धन्यवाद, मैंने इसे पहले ही तय कर दिया है, लेकिन मैं सिर्फ" क्यों "के लिए उत्सुक था :) –