मैं अभी एक फ़ंक्शन लिखने की कोशिश कर रहा हूं, और इसका उद्देश्य किसी ऑब्जेक्ट के __dict__
से गुजरना है और आइटम को फ़ंक्शन नहीं होने पर किसी आइटम को एक शब्दकोश में जोड़ना है।यदि कोई फ़ंक्शन नहीं है तो सूची में आइटम जोड़ना
def dict_into_list(self):
result = {}
for each_key,each_item in self.__dict__.items():
if inspect.isfunction(each_key):
continue
else:
result[each_key] = each_item
return result
अगर मैं गलत नहीं हूँ, inspect.isfunction कार्यों के रूप में lambdas पहचान करने के लिए और साथ ही, सही माना जाता है: यहाँ मेरी कोड है? हालांकि, अगर मैं
c = some_object(3)
c.whatever = lambda x : x*3
तो मेरे फ़ंक्शन में अभी भी लैम्ब्डा शामिल है। क्या कोई यह समझा सकता है कि यह क्यों है?
उदाहरण के लिए, अगर मैं इस तरह एक वर्ग है:
class WhateverObject:
def __init__(self,value):
self._value = value
def blahblah(self):
print('hello')
a = WhateverObject(5)
तो अगर मैं print(a.__dict__)
कहते हैं, इसे वापस {_value:5}
क्या आप समस्या का प्रदर्शन करने वाले स्वयं निहित उदाहरण दिखा सकते हैं? – BrenBarn
@ टायलर फ़ंक्शन का मतलब है, आप क्या उम्मीद करते हैं? जो आपके मामले में काम नहीं कर रहे हैं? – Nilesh