मैं पाइथन कॉल करने योग्य के साथ खेल रहा हूं। असल में आप एक पायथन कक्षा को परिभाषित कर सकते हैं और __call__
विधि को इस वर्ग के कॉल करने योग्य उदाहरण को लागू करने के लिए लागू कर सकते हैं। उदाहरण के लिए,पायथन कॉलबेल के लिए argspec नहीं मिल सकता है?
class AwesomeFunction(object):
def __call__(self, a, b):
return a+b
मॉड्यूल निरीक्षण में एक फ़ंक्शन getargspec है, जो आपको फ़ंक्शन का तर्क विनिर्देश देता है। हालांकि, ऐसा लगता है कि मैं एक प्रतिदेय वस्तु पर उसका उपयोग नहीं कर सकते हैं:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/inspect.py", line 803, in getargspec
raise TypeError('arg is not a Python function')
TypeError: arg is not a Python function
मुझे लगता है कि यह काफी दुर्भाग्यपूर्ण है कि आप समारोह के रूप में किसी भी प्रतिदेय वस्तु का इलाज नहीं कर सकते हैं: दुर्भाग्य से
fn = AwesomeFunction()
import inspect
inspect.getargspec(fn)
, मैं एक लेखन त्रुटि मिला , जब तक कि मैं यहाँ कुछ गलत नहीं कर रहा हूँ?
मुझे कम इस्तेमाल किया है और समझा जादू तरीकों में से एक के बारे में याद करने के लिए धन्यवाद, '__call__' –