def make_bold(fn):
return lambda : "<b>" + fn() + "</b>"
def make_italic(fn):
return lambda : "<i>" + fn() + "</i>"
@make_bold
@make_italic
def hello():
return "hello world"
helloHTML = hello()
আউটপুট: "<b><i>hello world</i></b>"
আমি সজ্জিতদের সম্পর্কে মোটামুটিভাবে বুঝতে পারি এবং এটি বেশিরভাগ উদাহরণে এটির সাথে কীভাবে কাজ করে।
এই উদাহরণে এটির 2 টি রয়েছে। আউটপুট থেকে, মনে হয় এটি @make_italic
প্রথমে কার্যকর করে, তারপরে @make_bold
।
এর অর্থ কি এই যে সজ্জিত ফাংশনগুলির জন্য, এটি প্রথমে প্রথমে ফাংশনটি পরিচালনা করবে তারপরে অন্যান্য সাজসজ্জার ক্ষেত্রে শীর্ষের দিকে চলে যাবে? বিপরীতে পরিবর্তে @make_italic
প্রথম মত @make_bold
।
সুতরাং এর অর্থ এটি বেশিরভাগ প্রোগ্রামিং ল্যাং-এ টপ-ডাউন পদ্ধতির আদর্শ থেকে আলাদা? শুধু এই সাজসজ্জার ক্ষেত্রে? নাকি আমি ভুল করছি?