TGViewer
Python4Finance Python4Finance @python4finance · 8.84K subscribers
Post #1082 6.43K
آشنایی با تابع ()compile - مقدمه ای بر JiT - بخش دوم
یکی دیگر از ویژگی های هیجان انگیز تابع ()compile ، امکان توزیع برنامه بدون در اختیار گذاشتن سورس کد برنامه در اختیار استفاده کننده نهایی است. در حالت عادی مجبور بودیم که کل سورس برنامه را در اختیار استفاده کننده نهایی قرار دهیم که این موضوع باعث ایجاد نگرانی در دسترسی به کدها را داشت. به کمک تابع ()compile و ماژول marshal به راحتی می توان برنامه های پایتون را کامپایل کرد که علاوه بر سرعت بالاتر اجرای برنامه، امنیت فایل ها هم تا حدودی حفظ شود.

یک مثال

#code by @python4finance

import marshal

source_code = """
a=5
for i in range(a):
print(i)
if i==3:
print("*")
"""
compiled_code = compile(source_code, '<string>', 'exec')

with open('compiled_code.pyc', 'wb') as file:
marshal.dump(compiled_code, file)


برای خواندن فایل کامپایل شده هم به صورت زیر عمل می کنیم:
import marshal

with open('compiled_code.pyc', 'rb') as file:
compiled_code = marshal.load(file)

exec(compiled_code)



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

پایتون برای مالی
🆔 t.me/python4finance
🆔 ble.ir/python4finance
  • ❤ 27
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 →