আধুনিক পাইথনে আপনি ফাংশন এবং অনেকগুলি বৈকল্পিক আচার করতে পারেন। এই বিবেচনা
import pickle, time
def foobar(a,b):
print("%r %r"%(a,b))
আপনি এটি আচার করতে পারেন
p = pickle.dumps(foobar)
q = pickle.loads(p)
q(2,3)
আপনি ক্লোজার আচার করতে পারেন
import functools
foobar_closed = functools.partial(foobar,'locked')
p = pickle.dumps(foobar_closed)
q = pickle.loads(p)
q(2)
এমনকি যদি ক্লোজারটি স্থানীয় ভেরিয়েবল ব্যবহার করে
def closer():
z = time.time()
return functools.partial(foobar,z)
p = pickle.dumps(closer())
q = pickle.loads(p)
q(2)
তবে আপনি যদি এটি কোনও অভ্যন্তরীণ ফাংশন ব্যবহার করে বন্ধ করেন তবে এটি ব্যর্থ হবে
def builder():
z = 'internal'
def mypartial(b):
return foobar(z,b)
return mypartial
p = pickle.dumps(builder())
q = pickle.loads(p)
q(2)
ত্রুটি সহ
পিকিং.পিকলিংএরআরআর: 0x7f3b6c885a50> <ফাংশন মাইপারটিয়াল আচার করতে পারছেন না: এটি __ প্রধান __ হিসাবে পাওয়া যায় নি my
পাইথন 2.7 এবং 3.6 দিয়ে পরীক্ষিত ested