संभव डुप्लिकेट:
The Python yield keyword explainedअजगर 2.7 में उपज क्या करती है?
ठीक है, मैं शायद सवाल बुरी तरह phrased है, लेकिन इस स्थिति मैं है।
मैं जो मैं समझने की कोशिश कर रहा हूँ अजगर 2.7 में कोड की इस पंक्ति है:
yield (padding_zeros + number_string).encode("ascii")
कोड की इस पंक्ति में, padding_zeros
'के परिवर्तनशील की एक श्रृंखला है 0 और number_string
एक नंबर है एक स्ट्रिंग के रूप में जो 0 के बीच कोई संख्या हो सकती है, 10000 कहें।
मुझे पूरा भरोसा है कि .encode("ascii")
केवल उपज के उत्पादन को एसीआई में परिवर्तित करता है।
मैं समुद्र में पूरी तरह से क्या हूं yield (padding_zeros + number_string)
करता है।
मुझे पता है कि यह जनरेटर शुरू करता है लेकिन मैंने ऑनलाइन खोज करने और वाक्यविन्यास पर पढ़ने में काफी समय बिताया है, लेकिन मैं अभी भी काम नहीं कर सकता कि जेनरेटर वास्तव में करता है। यह मदद नहीं करता है कि यह मेरी पहली बार पाइथन को देख रहा है (मेरा अंतिम उद्देश्य इस कोड को सी # में परिवर्तित करना है)।
तो, मूल रूप से, कृपया कोई मुझे बता सकता है कि कोड की यह पंक्ति क्या करती है? क्या यह सिर्फ दो तारों को एक साथ जोड़ता है या क्या यह कुछ और जटिल करता है?
आगे संदर्भ के लिए, इस ब्लॉक कि कोड की है कि रेखा दिखाई देता है में:
for current_length in range(4, max_length + 1):
for i in range(0, pow(10, current_length)):
number_string = str(i)
padding_zeros = "0" * (current_length - len(number_string))
yield (padding_zeros + number_string).encode("ascii")
(max_length
किया जा रहा है यह वास्तव में क्या लगता है - एक नंबर कुछ की अधिकतम लंबाई का संकेत)
किसी भी और सभी उत्तरों के लिए अग्रिम धन्यवाद (भले ही वे मुझे ऐसे फ्राइंग नोब न होने के बारे में बता रहे हों) :)
संपादित करें: उत्तर के लिए बहुत बहुत धन्यवाद - भले ही मैं केवल पी सबसे अच्छा जवाब के रूप में यह एक बहुत उपयोगी थे। और टिप्पणियों के लिए भी धन्यवाद - जैसा कि उनमें से कुछ ने इंगित किया है, What does the "yield" keyword do in Python? उपज, जेनरेटर और पुनरावृत्तियों के लिए एक बहुत अच्छी सामान्य मार्गदर्शिका है, भले ही मुझे इसे मेरी विशिष्ट स्थिति का उत्तर न मिले :)
इस अजगर 2 या अजगर 3 है:
इस कोशिश? –
हाय जॉर्ज, आपके प्रश्न का उत्तर यहां दिया गया है, मुझे लगता है: http://stackoverflow.com/questions/231767/the-python-yield-keyword-explained – MattH
यह उत्तर देखें: http://stackoverflow.com/questions/231767/द-पायथन-उपज-कीवर्ड-समझाया गया/231855 # 231855 –