"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > बटन का \"कमांड\" पैरामीटर फ़ंक्शन कब निष्पादित किया जाता है?

बटन का \"कमांड\" पैरामीटर फ़ंक्शन कब निष्पादित किया जाता है?

2024-11-09 को प्रकाशित
ब्राउज़ करें:402

When is the Button\'s \

बटन का "कमांड" पैरामीटर घोषणा पर निष्पादन: रहस्य को उजागर करना

पायथन टिंकर में, बटन विजेट के लिए "कमांड" पैरामीटर का उद्देश्य एक फ़ंक्शन निर्दिष्ट करना है बटन दबाए जाने पर निष्पादित किया जाएगा। हालाँकि, शुरुआती लोगों के बीच एक आम ग़लतफ़हमी यह है कि "कमांड" से जुड़ा फ़ंक्शन बटन घोषणा के समय भी निष्पादित होता है।

इस व्यवहार को समझने के लिए, हमें यह जानने की ज़रूरत है कि पायथन फ़ंक्शन मापदंडों को कैसे संभालता है। जब आप किसी फ़ंक्शन को पैरामीटर के रूप में पास करते हैं, तो दो संभावनाएं होती हैं:

  • फ़ंक्शन ऑब्जेक्ट को पास करना: यह केवल फ़ंक्शन नाम को संदर्भित करके प्राप्त किया जाता है, जैसे कि कमांड = हैलो।
  • फ़ंक्शन का रिटर्न मान पास करना: यह फ़ंक्शन कॉल को कोष्ठक में संलग्न करके किया जाता है, जैसे कमांड = हैलो()।

में आपके द्वारा प्रदान किया गया उदाहरण कोड, हैलो() को बटन विजेट के पैरामीटर के रूप में पास किया जाता है, जिसका अर्थ है कि फ़ंक्शन तुरंत निष्पादित होता है, और इसका रिटर्न मान "कमांड" को पास कर दिया जाता है। चूंकि हैलो () कुछ भी नहीं लौटाता है, यह कुछ भी नहीं लौटाता है, जिसे तब बटन के "कमांड" पैरामीटर को सौंपा जाता है, प्रभावी रूप से कुछ भी नहीं करता है।

इस समस्या को हल करने के लिए और बटन क्लिक होने पर ही फ़ंक्शन निष्पादित करें, आपको फ़ंक्शन ऑब्जेक्ट को इस तरह से पास करना चाहिए:

hi = Button(frame, text="Hello", command=Hello)

इस तरह, जब बटन दबाया जाता है, हैलो() फ़ंक्शन कॉल किया जाएगा और अपने इच्छित कोड को निष्पादित करेगा। नीचे:

हाय = बटन(फ्रेम, टेक्स्ट='हैलो', कमांड=लैम्ब्डा: गुडनाइट('मून'))
hi = Button(frame, text="Hello", command=lambda: Goodnight("Moon"))
विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729295717 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3