কোড অবজেক্ট হল CPython বাস্তবায়নের একটি নিম্ন-স্তরের বিশদ। প্রতিটি একটি এক্সিকিউটেবল কোডের একটি অংশ উপস্থাপন করে যা এখনও একটি ফাংশনে আবদ্ধ হয়নি। যদিও কোড অবজেক্টগুলি এক্সিকিউটেবল কোডের কিছু অংশকে প্রতিনিধিত্ব করে, তারা নিজেরাই সরাসরি কলযোগ্য নয়। একটি কোড অবজেক্ট এক্সিকিউট করতে, আপনাকে অবশ্যই exec কীওয়ার্ড ব্যবহার করতে হবে।
নীচের উদাহরণে আমরা দেখি যে কোডের একটি প্রদত্ত অংশের জন্য কীভাবে কোড অবজেক্ট তৈরি করা হয় এবং হ্যাট কোড অবজেক্টের সাথে যুক্ত বিভিন্ন বৈশিষ্ট্যগুলি কী কী।
উদাহরণ
code_str = """ print("Hello Code Objects") """ # Create the code object code_obj = compile(code_str, '<string>', 'exec') # get the code object print(code_obj) #Attributes of code object print(dir(code_obj)) # The filename print(code_obj.co_filename) # The first chunk of raw bytecode print(code_obj.co_code) #The variable Names print(code_obj.co_varnames)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
<code object <module> at 0x000001D80557EF50, file "<string>", line 2> ['__class__', '__delattr__', '__dir__', '__doc__', ……., '__subclasshook__', 'co_argcount', 'co_cellvars', 'co_code', 'co_consts', 'co_filename', 'co_firstlineno', …..,posonlyargcount', 'co_stacksize', 'co_varnames', 'replace'] <string> b'e\x00d\x00\x83\x01\x01\x00d\x01S\x00' ()