TGViewer
Python4Finance Python4Finance @python4finance · 8.84K subscribers
Post #1081 5.3K
آشنایی با تابع ()compile - مقدمه ای بر JiT
اگر از کاربران قدیمی پایتون باشید، یکی از مسائلی که همیشه به آن اشاره می شد کندی برنامه های پایتون به دلیل استفاده از مفسر بود. اگر چه استفاده از مفسر برای کارهای علم داده که عموما با آزمون و خطا به حل مسئله می پردازیم خیلی هم بد نبود و حتی سرعت توسعه نرم افزار را بالا می برد اما برای توسعه برنامه های تجاری راهکار بهینه ای نبود. خوشبختانه در نسخه های اخیر پایتون، JiT یا همان اجرای در لحظه (Just in Time) وارد ادبیات پایتون شده است.
یکی از توابع معرفی شده در این خصوص تابع ()compile است. این تابع به نحو قابل قبولی باعث بهبود عملکرد برنامه می شود، چرا که بایت‌کد که توسط ()compile تولید می‌شود، سریعتر از سورس برنامه اصلی نوشته شده به زبان پایتون اجرا می‌شود زیرا قبلاً به یک فرم قابل اجرا توسط مفسر تبدیل شده است.

یک مثال
#code by @python4finance
source_code = """
a=5
for i in range(a):
print(i)
if i==3:
print("*")
"""
compiled_code = compile(source_code, filename="<string>", mode="exec")
exec(compiled_code)


#پایتون_پیشرفته
#JiT
#compile

پایتون برای مالی
🆔 t.me/python4finance
🆔 ble.ir/python4finance
  • ❤ 30
More from @python4finance
  1. Oct 12, 2026بارگذاری ماژول فقط هنگام استفاده با Lazy Imports یکی از مسائلی که ما در پروژه های بزرگ با…
  2. Oct 12, 2026بررسی ویژگی های جدید پایتون 3.15 چند روز پیش یعنی 17 مهر (9 اکتبر) نسخه 3.15 پایتون منتشر…
  3. Oct 7, 2026اسلایدهای درس اقتصاد بخش عمومی در عصر اقتصاد دیجیتال و هوش مصنوعی Public Economics in the…
  4. Jul 24, 2026دانلود کتاب «AI In Finance» هوش مصنوعی دیگر فقط یک فناوری جذاب نیست بلکه امروز به یکی از م…
  5. Jul 18, 2026افزونه Ruff ، یک افزونه عالی و فوق العاده سریع برای linter و code formatter در پایتون در V…
  6. Jul 17, 2026کدام چت‌بات هوش‌مصنوعی (LLM) را انتخاب کنیم؟ یکی از سوالاتی که خیلی از عزیزان مطرح می کنند…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →