पायथन टिंकर में, बटन विजेट के लिए "कमांड" पैरामीटर का उद्देश्य एक फ़ंक्शन निर्दिष्ट करना है बटन दबाए जाने पर निष्पादित किया जाएगा। हालाँकि, शुरुआती लोगों के बीच एक आम ग़लतफ़हमी यह है कि "कमांड" से जुड़ा फ़ंक्शन बटन घोषणा के समय भी निष्पादित होता है।
इस व्यवहार को समझने के लिए, हमें यह जानने की ज़रूरत है कि पायथन फ़ंक्शन मापदंडों को कैसे संभालता है। जब आप किसी फ़ंक्शन को पैरामीटर के रूप में पास करते हैं, तो दो संभावनाएं होती हैं:
में आपके द्वारा प्रदान किया गया उदाहरण कोड, हैलो() को बटन विजेट के पैरामीटर के रूप में पास किया जाता है, जिसका अर्थ है कि फ़ंक्शन तुरंत निष्पादित होता है, और इसका रिटर्न मान "कमांड" को पास कर दिया जाता है। चूंकि हैलो () कुछ भी नहीं लौटाता है, यह कुछ भी नहीं लौटाता है, जिसे तब बटन के "कमांड" पैरामीटर को सौंपा जाता है, प्रभावी रूप से कुछ भी नहीं करता है।
इस समस्या को हल करने के लिए और बटन क्लिक होने पर ही फ़ंक्शन निष्पादित करें, आपको फ़ंक्शन ऑब्जेक्ट को इस तरह से पास करना चाहिए:
hi = Button(frame, text="Hello", command=Hello)
इस तरह, जब बटन दबाया जाता है, हैलो() फ़ंक्शन कॉल किया जाएगा और अपने इच्छित कोड को निष्पादित करेगा। नीचे:
हाय = बटन(फ्रेम, टेक्स्ट='हैलो', कमांड=लैम्ब्डा: गुडनाइट('मून'))hi = Button(frame, text="Hello", command=lambda: Goodnight("Moon"))
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3