<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های َُAmir Hosein Hasani</title><link>https://virgool.ir/feed/@rwshn938</link><description></description><language>fa</language><pubDate>2026-11-11 23:40:56</pubDate><image><url>https://files.virgool.ir/upload/users/1365524/avatar/tBiHJ1.png</url><title>َُAmir Hosein Hasani</title><link>https://virgool.ir/@rwshn938</link></image><item><title>How python execute the programs?(پایتون چگونه برنامه ها را اجرا میکند)</title><link>https://virgool.ir/@rwshn938/how-python-execute-the-programsپایتون-چگونه-برنامه-ها-را-اجرا-میکند-yzb2cstirrex</link><description>به صورت خلاصه به نحوه اجرای برنامه ها توسط پایتون نگاهی خواهیم  انداخت.پایتون یک زبان خیلی سطح بالاست(هرچه سطح بالاتر باشد به زبان انسان نزدیک تر است) و این سطح را با نحوه اجرای هوشمندانه خود به دست آورده است.درون زبان های کامپایلری مانند c, c++, ....... کد نوشته شده مستقیم به کد ماشین تبدیل خواهد شد اما درون پایتون مرحله زیر را طی میکند: در واقع پایتون تنها یک زبان مفسری نیست بلکه کامپایلری و هم مفسری است.پایتون کد منبع را توسط Cpython(یکی از پیاده سازی های پایتون است) کامپایل و به بایت کد تبدیل میکند.بایت کد چیست؟بایت کد یک فایل با پسوند pyc است. رشته ایی از باینری است که توسط marshal(سریالایزر پایتون) سریالایز شده و به این حالت در آمده است.در واقع مجموعه ایی از ساختارها است که توسط ساختار داده استک  سازمان دهی شدن و توسط مفسر پایتون اجرا میشند.مفسر پایتون چیست؟مفسر پایتون درواقع خود یک برنامه است یک loop بزرگ  که درون بایت کد خط به خط حلقه میزند و ان ها را اجرا میکند. پس در واقع بایت کد، کد ماشین، ماشین مجازی ما است.نحوه اجرای ان چگونه است؟وقتی که خط به خط حلقه میزند متوجه میشود که باید چی کدی از C را اجرا کند.(چون Cpython است یعنی به زبان C نوشته شده است)پایتون به C ترجمه نمیشود بلکه میگوید که کدام دستور از C اجرا شود.پایتون یک زبان خیلی سطح بالاست و برای اینکه این قابلیت را داشته باشد لازم بود که به یک زبان میانی تر که هم برای ماشین و هم برای انسان قابل فهم باشد تبدیل شود (byte code) بعد ماشین مجازی پایتون یا مفسر ان که یک نوع stack machine است دستورات را متوجه شده و ان را اجرا میکند.</description><category>َُAmir Hosein Hasani</category><author>َُAmir Hosein Hasani</author><pubDate>Tue, 30 Nov 2021 12:21:28 +0330</pubDate></item></channel></rss>