2010-03-12 13 views
7

मैं पायथन में आत्मनिरीक्षण का अध्ययन कर रहा था, और जैसा कि मैं मूल उदाहरणों के माध्यम से प्राप्त कर रहा था, मुझे पता चला कि callable अंतर्निहित फ़ंक्शन अब पायथन 3.1 में उपलब्ध नहीं है।पायथन 3.x में "कॉल करने योग्य" विधियों की जांच करने का नया तरीका क्या है?

मैं कैसे जांच सकता हूं कि कोई विधि अब कॉल करने योग्य है या नहीं?

धन्यवाद

+0

आपके उत्तरों के लिए धन्यवाद –

उत्तर

2
isinstance(f, collections.Callable) 
+1

जो कुछ भी कहा जा सकता है वह संग्रह का एक उदाहरण नहीं है। कॉल करने योग्य। – jbg

+1

@ जैस्पर ब्रायंट-ग्रीन क्या आपके पास एक उदाहरण है? एकमात्र चीज जिसे मैं पा सकता हूं जिसके लिए यह काम नहीं करता है वह पाइथन 2 पुरानी शैली की कक्षाएं है (वर्ग स्वयं वस्तुओं, यानी इसके उदाहरण नहीं हैं), जो कि पायथन 3 में मौजूद नहीं है। –

17

प्रतिदेय() Py2.x से निर्मित समारोह python3.2 में पुनर्जीवित किया गया।

+0

क्या आप उपयोग कर सकते हैं? –

+0

मैं कर सकता था: 'अगर कॉल करने योग्य (एफ): प्रिंट (' एफ कॉल करने योग्य ') ';) –

संबंधित मुद्दे