केवल फोन चयनित समारोह, नहीं उन दोनों:
random.choice([a,b])()
नीचे एक प्रदर्शन है:
>>> import random
>>> def a():
... print "a"
...
>>> def b():
... print "b"
...
>>> random.choice([a,b])()
a
>>> random.choice([a,b])()
b
>>>
आपके पुराने कोड कहा जाता दोनों कार्यों जब सूची [a(),b()]
बनाया गया था , जिससे पाइथन a
और b
दोनों प्रिंट कर सकता है। इसके बाद, [None, None]
से चुनने के लिए random.choice
को बताया गया, जो कुछ भी नहीं करता है। आप नीचे दिए गए प्रदर्शन से देख सकते हैं:
>>> [a(),b()]
a
b
[None, None]
>>>
नए कोड तथापि random.choice
का उपयोग करता है बेतरतीब ढंग से सूची [a,b]
से एक समारोह ऑब्जेक्ट का चयन करने:
>>> random.choice([a,b])
<function b at 0x01AFD970>
>>> random.choice([a,b])
<function a at 0x01AFD930>
>>>
यह तो केवल यह है कि समारोह कहता है।
कार्य डिफ़ॉल्ट रूप से None
लौट आते हैं। चूंकि a
और b
में वापसी-बयान की कमी है, इसलिए वे प्रत्येक None
लौटते हैं।
जानता हूँ कि मैं कैसे याद किया कि, अदभुत रूप से काम करता है, धन्यवाद मत करो! – px06
वाह !! पाइथन बहुत बढ़िया है !!! –