.py və .pyc faylları arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
.py — insan tərəfindən yazılmış və interpretator tərəfindən oxuna bilən Python mənbə kodudur. .pyc — .py faylından interpretator tərəfindən tərtib edilmiş bayt kodudur və sonrakı işə salmaları sürətləndirmək üçün istifadə olunur.
Python interpretatoru, modul ilk dəfə idxal olunduqda .py fayllarını avtomatik olaraq .pyc-yə tərtib edir və onları saxlayır, beləliklə növbəti işə salışlarda yenidən tərtib etməyə ehtiyac qalmır. .pyc faylları __pycache__ qovluğunda və ya köhnə versiyalarda müvafiq .py faylının yanında saxlanılır.
# `.py` faylının nümunə məzmunu
def greet(name):
print(f"Salam, {name}!")
# `.pyc` faylından bayt kodu (birbaşa oxuna bilməz)
# c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00s\x0e\x00\x00\x00d\x00\x00GHd\x01\x00k\x02\x00\x83\x01\x00\x00d\x02\x00R\x00\xfa\x0bgreet.py\x05\x00\x00\x00s\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00C\x00\x00\x00s\x05\x00\x00\x00\x83\x00\x00\x00\x00Sq\x00\x00\x00s\x0c\x00\x00\x00\\x01\x00\x00\x00\x00\x01\x00\x00\x00r\x02\x00\x00\x00r\x02\x00\x00\x00\xfa\x0b<frozen greet>\x01\x00\x00\x00s\x08\x00\x00\x00\xe9\x00\x00\x00\x00r\x03\x00\x00\x00r\x04\x00\x00\x00r\x0b\x00\x00\x00r\x04\x00\x00\x00N\x86\x04\x00\x00\x00GHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHG\x0c\x12\x00\x00\x00s\x00\x00\x00\x00
Xülasə:
| Fayl | Təsviri | Məqsəd | Oxunaqlıq |
|---|---|---|---|
.py |
Mənbə kodu | İnkişaf, loqikanın yazılması | Yüksək (insan tərəfindən) |
.pyc |
Tərtib olunmuş bayt kodu | İşə salmanı sürətləndirmək | Aşağı (maşın tərəfindən) |
.pyc fayllarının mövcudluğu kodun icrasına təsir etmir, çünki interpretator onları yalnız modulların yüklənməsini optimallaşdırmaq üçün istifadə edir. Əgər .py faylı dəyişdirilərsə, .pyc faylı avtomatik olaraq yenidən yaradılır.