में पिछली परिभाषित कक्षा को संपादित करने का अच्छा तरीका मैं आईपीथॉन में पिछली परिभाषित कक्षा के सदस्यों को फिर से परिभाषित करना चाहता हूं, तो मैं इसका पालन करने का एक अच्छा तरीका सोच रहा हूं। कहें: मैंने नीचे एक वर्ग परिचय परिभाषित किया है, और बाद में मैं फ़ंक्शन परिभाषा _print_api के भाग को फिर से परिभाषित करना चाहता हूं। इसे पुनः टाइप किए बिना ऐसा करने का कोई भी तरीका।ipython
class intro(object):
def _print_api(self,obj):
def _print(key):
if key.startswith('_'):
return ''
value = getattr(obj,key)
if not hasattr(value,im_func):
doc = type(valuee).__name__
else:
if value.__doc__ is None:
doc = 'no docstring'
else:
doc = value.__doc__
return ' %s :%s' %(key,doc)
res = [_print(element) for element in dir(obj)]
return '\n'.join([element for element in res if element != ''])
def __get__(self,instance,klass):
if instance is not None:
return self._print(instance)
else:
return self._print_api(klass)
अद्यतन कोड प्राप्त करने के लिए, आपको वास्तव में 'रीलोड (मॉड्यूलनाम)' फ़ंक्शन का उपयोग करना होगा - चल रहा 'आयात' फिर से कोई प्रभाव नहीं पड़ेगा (मुझे विश्वास है कि इसका कारण यह है कि यदि कोई बड़ा प्रोग्राम एक ही चीज़ आयात करता है कई संभावित स्थानों में यह एक बड़ा प्रदर्शन जुर्माना नहीं लेता है)। –