जवाबों:
उनका उपयोग स्ट्रिंग्स को स्वरूपित करने के लिए किया जाता है। %s
एक स्ट्रिंग के लिए एक प्लेसहोल्डर काम करता है जबकि %d
एक नंबर के लिए प्लेसहोल्डर के रूप में कार्य करता है। उनके संबंधित मूल्यों को %
ऑपरेटर का उपयोग करके एक टपल के माध्यम से पारित किया जाता है ।
name = 'marcog'
number = 42
print '%s %d' % (name, number)
छप जाएगा marcog 42
। ध्यान दें कि नाम एक स्ट्रिंग (% s) है और संख्या एक पूर्णांक (दशमलव के लिए% d) है।
देखें https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting जानकारी के लिए।
पायथन 3 में उदाहरण होगा:
print('%s %d' % (name, number))
से अजगर 3 डॉक
%d
दशमलव पूर्णांक के लिए है
%s
सामान्य स्ट्रिंग या ऑब्जेक्ट के लिए है और ऑब्जेक्ट के मामले में, इसे स्ट्रिंग में बदल दिया जाएगा
निम्नलिखित कोड पर विचार करें
name ='giacomo'
number = 4.3
print('%s %s %d %f %g' % (name, number, number, number, number))
आउट पुट होगा
जियाकोमो 4.3 4 4.300000 4.3
जैसा कि आप देख सकते हैं %d
कि पूर्णांक में छोटा हो %s
जाएगा, स्वरूपण बनाए रखेगा, %f
फ़्लोट के रूप में प्रिंट करेगा और %g
सामान्य संख्या के लिए उपयोग किया जाता है
जाहिर है
print('%d' % (name))
एक अपवाद उत्पन्न करेगा; आप स्ट्रिंग को संख्या में नहीं बदल सकते
%s
एक नंबर के बदले इसका इस्तेमाल किया जाए तो क्या होगा ।
%s
स्ट्रिंग मानों के लिए एक प्लेसहोल्डर के रूप में उपयोग किया जाता है जिसे आप एक स्वरूपित स्ट्रिंग में इंजेक्ट करना चाहते हैं।
%d
संख्यात्मक या दशमलव मानों के लिए एक प्लेसहोल्डर के रूप में उपयोग किया जाता है।
उदाहरण के लिए (अजगर 3 के लिए)
print ('%s is %d years old' % ('Joe', 42))
उत्पादन होगा
Joe is 42 years old
ये प्लेसहोल्डर हैं:
उदाहरण के लिए: 'Hi %s I have %d donuts' %('Alice', 42)
कोड की यह रेखा ऐलिस (str) के साथ% s और 42 के साथ% d को प्रतिस्थापित करेगी।
आउटपुट: 'Hi Alice I have 42 donuts'
यह अधिकतर समय "+" के साथ प्राप्त किया जा सकता है। अपने प्रश्न के बारे में गहरी समझ हासिल करने के लिए, आप {} / .format () भी जांचना चाह सकते हैं। यहाँ एक उदाहरण है: पायथन स्ट्रिंग प्रारूपण:% बनाम .फॉर्मट
यहाँ भी देखें एक google python ट्यूटोरियल वीडियो @ 40 ', इसमें कुछ स्पष्टीकरण दिए गए हैं https://www.youtube.com/watch?v=tKTZoB2Vjuk
%d
और %s
स्ट्रिंग "कमांड" स्वरूपण प्रारूप तार किया जाता है। %d
संख्या के लिए है, और %s
तार के लिए है।
एक उदाहरण के लिए:
print("%s" % "hi")
तथा
print("%d" % 34.6)
कई तर्क पारित करने के लिए:
print("%s %s %s%d" % ("hi", "there", "user", 123456))
वापस होगा hi there user123456
ये सभी जानकारीपूर्ण उत्तर दिए गए हैं, लेकिन कोई भी काफी क्या अंतर के बीच है के मूल में हो रही है %s
और %d
।
%s
सूत्रधार को str()
फ़ंक्शन को तर्क पर कॉल करने के लिए कहता है और चूंकि हम परिभाषा द्वारा एक स्ट्रिंग के लिए मजबूर कर रहे हैं, %s
अनिवार्य रूप से सिर्फ प्रदर्शन कर रहा है str(arg)
।
%d
दूसरी ओर, कॉल int()
करने से पहले तर्क पर कॉल कर रहा है str()
, जैसे str(int(arg))
, यह int
जबरदस्ती के साथ-साथ str
जबरदस्ती का कारण बनेगा ।
उदाहरण के लिए, मैं एक हेक्स मान को दशमलव में बदल सकता हूं,
>>> '%d' % 0x15
'21'
या एक फ्लोट को काटें।
>>> '%d' % 34.5
'34'
यदि तर्क एक संख्या नहीं है, तो ऑपरेशन एक अपवाद बढ़ाएगा।
>>> '%d' % 'thirteen'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not str
तो अगर इरादा सिर्फ बुलाना है str(arg)
, तो %s
पर्याप्त है, लेकिन अगर आपको अतिरिक्त स्वरूपण की आवश्यकता है (जैसे फ़्लोटिंग दशमलव स्थानों को प्रारूपित करना) या अन्य ज़बरदस्ती, तो अन्य प्रारूप प्रतीकों की आवश्यकता है।
f-string
संकेतन के साथ , जब आप फ़ॉर्मेटर को छोड़ते हैं, तो डिफ़ॉल्ट होता है str
।
>>> a = 1
>>> f'{a}'
'1'
>>> f'{a:d}'
'1'
>>> a = '1'
>>> f'{a:d}'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: Unknown format code 'd' for object of type 'str'
यही सच है string.format
; डिफ़ॉल्ट है str
।
>>> a = 1
>>> '{}'.format(a)
'1'
>>> '{!s}'.format(a)
'1'
>>> '{:d}'.format(a)
'1'
%d
और %s
प्लेसहोल्डर हैं, वे एक परिवर्तनीय चर के रूप में काम करते हैं। उदाहरण के लिए, यदि आप 2 चर बनाते हैं
variable_one = "Stackoverflow"
variable_two = 45
आप चर के एक समूह का उपयोग करके उन चर को एक वाक्य में निर्दिष्ट कर सकते हैं।
variable_3 = "I was searching for an answer in %s and found more than %d answers to my question"
ध्यान दें कि %s
स्ट्रिंग के लिए और %d
संख्यात्मक या दशमलव चर के लिए काम करता है ।
यदि आप प्रिंट variable_3
करते हैं तो यह इस तरह दिखेगा
print(variable_3 % (variable_one, variable_two))
मैं StackOverflow में एक उत्तर की खोज कर रहा था और अपने प्रश्न के 45 से अधिक उत्तर पाया।
वे प्रारूप विनिर्देशक हैं। उनका उपयोग तब किया जाता है जब आप अपने पायथन एक्सप्रेशंस के मूल्य को स्ट्रिंग्स में शामिल करना चाहते हैं, एक विशिष्ट प्रारूप के साथ।
देखें अजगर में डुबकी एक अपेक्षाकृत विस्तृत परिचय के लिए।
नवीनतम मानकों के अनुसार, यह है कि यह कैसे किया जाना चाहिए।
print("My name is {!s} and my number is{:d}".format("Agnel Vishal",100))
Python3.6 डॉक्स और सैंपल प्रोग्राम की जाँच करें
अगर आप% s या% d से बचना चाहते हैं तो ..
name = 'marcog'
number = 42
print ('my name is',name,'and my age is:', number)
आउटपुट:
my name is marcog and my name is 42
%s
और के उपयोग के बारे में पूछ रहा था %d
।
print
Python 3 में एक फंक्शन है, न कि स्टेटमेंट।
% s का उपयोग स्ट्रिंग के लिए स्थान रखने के लिए किया जाता है% d का उपयोग संख्या के लिए स्थान रखने के लिए किया जाता है
name = "Moses";
age = 23
print("My name is %s am CEO at MoTech Computers " %name)
print("Current am %d years old" %age)
print("So Am %s and am %d years old" %(name,age))
यह वीडियो उस टिप https://www.youtube.com/watch?v=4zN5YsuiqMA के बारे में गहराई से बताता है
जिसके बोल ...
python3.6 के साथ आता है f-strings
जो स्वरूपण में चीजों को बहुत आसान बनाता है!
अब यदि आपका अजगर संस्करण 3.6 से अधिक है, तो आप इन उपलब्ध तरीकों से अपने तारों को प्रारूपित कर सकते हैं:
name = "python"
print ("i code with %s" %name) # with help of older method
print ("i code with {0}".format(name)) # with help of format
print (f"i code with {name}") # with help of f-strings
%s
खोज इंजन कॉन्फ़िगरेशन के साथ कैसे उपयोग किया जाता है।%s
एड्रेस बार में दर्ज किए गए कीवर्ड को बदलने के लिए क्रोम का उपयोग करता है। अजगर%s
इसी तरह से उपयोग करता है। में ऑपरेटर में संग्रहीत पाठ स्ट्रिंग से बदल दिया जाएगा चर। राउंड ब्रेसेस पाइथन 3 में एक एरर मैसेज कोprint('description: %s' % descrip)
%s
descrip