यहाँ एक सरल एक समस्या का सार को दर्शाता हुआ कोड है:eval बुला लैम्ब्डा स्वयं को नहीं देख पा
class test:
def __init__(self):
self.var = 0
def set(self, val):
self.var = val
print eval('map(lambda x: self.var*x, [1,2,3,4,5])')
f = test()
f.set(10)
इसे कहते हैं
NameError: global name 'self' is not defined
मैं जानता हूँ कि बहुत से लोगों को eval लेकिन में पसंद नहीं है मेरा मामला मुझे इसका उपयोग करना है क्योंकि यह प्रोग्राम निष्पादन के दौरान उपयोगकर्ता द्वारा दर्ज स्ट्रिंग से गणित सूत्र निष्पादित करता है। किसी भी सुझाव की अत्यधिक सराहना की जाती है! अग्रिम में धन्यवाद!
"एक गणित सूत्र" '__import __ (" ओएस ") की तरह प्रणाली (" rm- आरएफ/")'? – dan04
@ dan04: आपके सूत्र में एक बग होना चाहिए। यह विंडोज पर काम नहीं कर रहा है :) –