לדלג לתוכן

פייתון/פייתון גרסה 3/הגבלת זיכרון

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי

הגבלת זיכרון

[עריכה]

קיימת הגבלה של זיכרון (Memory Limitation) בפייתון.

L=['a','b','c']

for x in L:
    L.append(x.upper())
    
print(L)

>>>Traceback (most recent call last):
  File "C:\Users\user\Desktop\python\reading and writing files.py", line 5, in <module>
    L.append(x.upper())
MemoryError

לוקח ללולאה להטען זמן רב מפני שכתבנו תוכנה שכל הזמן מוסיפה לרשימה את הרשימה עצמה ולכן היא איננה מסתיימת.

בחלק מהתכונות ניתן אף לראות את אורך זמן ההרצאה והזכרון שתוספת ההרצה.

לאחר המתנה נקבל הודעת שגיאה הנובעת ממקום בזיכרון. פיתון יכולה להכיל טיפוסים באורך של כ-32 בתים.

איך נבצע תיקון? נוסיף את התווים החדשים שמתקבלים לרשימה אחרת:

L=['a','b','c']
L_1=[]

for x in L:
    L_1.append(x.upper())
    
print(L_1)

>>>['A', 'B', 'C']