2012-01-17 33 views
15

में kwargs के माध्यम से लूप मैं चीजों को पाइथन तरीके लिखने की कोशिश कर रहा हूं लेकिन यह सुनिश्चित नहीं करता कि इसे सही कैसे प्राप्त किया जाए। नीचे दिए गए कोड में, मैं obj.subject को पढ़ना चाहता हूं और इसे विभिन्न विषय में रखना चाहता हूं, obj.body को भी पढ़ूं और इसे शरीर में रखें। सबसे पहले मैं kwargs चर को पढ़ना चाहता हूं और प्रतिस्थापित करने के लिए स्ट्रिंग के भीतर खोजशब्दों की खोज करना चाहता हूं, यदि कोई मौजूद नहीं है तो आगे बढ़ें।पाइथन

क्या कोई मेरी मदद कर सकता है?

for key in kwargs: 
     subject = str(obj.subject).replace('[%s]' % upper(key), kwargs[key]) 


    for key in kwargs: 
     body = str(obj.body ).replace('[%s]' % upper(key), kwargs[key]) 

    return (subject, body, obj.is_html) 
+2

क्या आप उदाहरण इनपुट ('obj.subject' और' obj.body' के साथ-साथ 'kwargs') और वांछित आउटपुट दिखा सकते हैं? यह बताना मुश्किल है कि आप इसके बिना क्या पूछ रहे हैं। – dcrosta

उत्तर

17

मुझे लगता है कि आप कुछ इस तरह की तलाश में हैं: 3.

अजगर 3 में यह लगभग एक ही है अजगर करने के लिए उन के उन्नयन के लिए

subject = obj.subject 
body = obj.body 
for key, value in kwargs.iteritems(): 
    subject = subject.replace('[%s]' % key.toupper(), value) 
    body = body.replace('[%s]' % key.toupper(), value) 

return (subject, body, obj.is_html) 
18

बस एक क्विक नोट:

subject = obj.subject 
body = obj.body 
for key, value in kwargs.items(): 
    subject = subject.replace('[{0}]'.format(key.toupper()), value) 
    body = body.replace('[{0}]'.format(key.toupper()), value) 

return (subject, body, obj.is_html) 

ध्यान दें कि iteritems()items()के रूप में 210 में अब iteritems विधि नहीं है।

+0

पाइथन और सीखने के लिए नया v3 ... यह नोट बहुत उपयोगी था। – Beege