02 April, 2020

فرایند تبدیل اسکریپت‌های پایتون به بایت‌کد


پس از اینکه کدهای پایتون را در فایلی نوشتیم، مفسر پایتون را برای اجرای آن صدا می‌زنیم و فایل مذکور شامل اسکریپت‌های مد نظرمان را در اختیارش قرار می‌دهیم و مفسر پایتون هم پیش از اجرای برنامه باید چند تَسک مختلف را انجام دهد. در حقیقت، ابتدا به ساکن دستورات تبدیل به چیزی به نام Byte Code شده سپس وارد چیزی به نام Python Virtual Machine یا به اختصار PVM به معنی «ماشین مجازی پایتون» می‌شوند. تصویر زیر نشان‌دهندهٔ فرآیند اجرای کدهای یک برنامهٔ نوشته‌شده با زبان برنامه‌نویسی پایتون است:


کامپایل یا تبدیل سورس‌کد برنامه به بایت‌کد کاملاً در پشت صحنه و به دور از چشم دولوپر اتفاق می‌افتد و پس از تکمیل فرآیند کامپایل، بایت‌کدها در فایلی با همان نام اسکریپت اولیه و این بار با پسوند pyc. ذخیره می‌شوند که حرف آخرش نشان‌دهندهٔ صفت Compiled است (توجه داشته باشید که از نسخهٔ 3.2 پایتون به بعد این فایل‌ها درون پوشه‌ای با نام __pycache__ قرار می‌گیرند.) 

پس از کامپایل دستورات پایتون به بایت‌کد، این کدها برای اجرا به ماشین مجازی پایتون (PVM) فرستاده می‌شوند و توجه داشته باشیم که ماشین مجازی پایتون یک برنامهٔ مجزا که نیاز به نصب داشته باشد نیست بلکه بخشی از پکیج مفسر پایتون است. در حقیقت، پی‌وی‌ام یکسری الگوریتم است که روی تک‌تک دستورات بایت‌کد برنامه اِعمال می‌شوند و می‌توان گفت پی‌وی‌ام آخرین مرحله از اقداماتی است که مفسر پایتون روی سورس‌کد برنامه‌های پایتون انجام می‌دهد.

No comments :

Post a Comment