פייתון – הבדלי גרסאות

נוספו 293 בתים ,  לפני 5 שנים
(←‏המימוש: מהדר ומפרש: עוד על קבצים)
תכניות פייתון נכתבות בקבצי טקסט, שעל-פי קונוונציה נשמרים במערכת ההפעלה בסיומת py. תכניות פייתון עשויות לכלול קבצים רבים.
 
על מנת להריץ קוד פייתון יש לבחור מימוש - מהדר או מפרש - שיתרגם את הטקסט של התוכנית לפקודות שיתבצעו במעבד. לפייתון קיים "מימוש-ייחוס" כלומר מערכת שהיא זו שמגדירה את ההתנהגות של קוד שנכתב בשפה - בשם CPython. מימוש-הייחוס מהדרפועל קודבשני פייתוןשלבים לשפתנפרדים: בינייםשלב ([[Bytecode]]).ההידור בעתושלב הרצה, סביבת זמן הריצה (המפרש) מריצה את קוד הביניים הזהההרצה. לעתים קרובות שני השלבים מתבצעים בתגובה לפקודה בודדת של המשתמש (כגון לחיצה כפולה על אייקון של קובץ שנכתב בשפה), אך תוצאת השלב הראשון נשמרת בקובץ נפרד כך שבהיעדר שינוי לקובץ הטקסט (קובץ py.) אין צורך לחזור על פעולת ההידור.
 
1. בשלב הראשון, קוד פייתון מהודר לשפת ביניים נמוכה, מבוססת מחסנית ([[Bytecode]]). תוצאת ההידור הזה נשמרת בקבצים עם הסיומת pyc.
כמו בכל שפת ביניים, יש להתקין מפרש פייתון על המכונה המבצעת, שמסוגל להריץ את קוד הביניים הנתון; מפרשים הם סטנדרט המובנה ברוב ההפצות של [[לינוקס]], אך עבור מערכות הפעלה אחרות (כגון [[חלונות]]) יש לבצע התקנה עצמאית.
2. בעת הרצה, סביבת זמן הריצה (המפרש) מריצה את קוד הביניים
 
לעתים קרובות שני השלבים מתבצעים בתגובה לפקודה בודדת של המשתמש (כגון לחיצה כפולה על אייקון של קובץ שנכתב בשפה), אך תוצאת השלב הראשון נשמרת בקובץ נפרד כך שבהיעדר שינוי לקובץ הטקסט (קובץ py.) אין צורך לחזור על פעולת ההידור. כמו בכלעבור כל שפת ביניים, יש להתקין מפרש פייתון על המכונה המבצעת, שמסוגל להריץ את קוד הביניים הנתון; מפרשים הם סטנדרט המובנה ברוב ההפצות של [[לינוקס]], אך עבור מערכות הפעלה אחרות (כגון [[חלונות]]) יש לבצע התקנה עצמאית.
CPython תומך במצב פיתוח אינטראקטיבי, המאפשר לכתוב שורות קוד בודדות אשר יורצו מיידית. מצב זה מאפשר לראות במהירות מה יהיו התוצאות של חלקים קטנים מהקוד, ולערוך ניסויים - או לשמש כמחשבון שולחני.
 
בנפרד מהתהליך המתואר לעיל, CPython תומך במצב פיתוח אינטראקטיבי, המאפשר לכתוב שורות קוד בודדות אשר יורצו מיידיתמידית. מצב זה מאפשר לראות במהירות מה יהיו התוצאות של חלקים קטנים מהקוד, ולערוךלערוך ניסויים -, או לשמש כמחשבון שולחני.
ישנם מימושים נוספים לשפה, בהם כאלה המשתמשים במנגנון JIT, וקיימים גם קומפיילרים לשפה{{הערה|1=[http://www.nuitka.net/ www.nuitka.net]}} המהדרים קוד של השפה אל שפת מכונה, לעתים דרך שפת ביניים כגון ++C.
 
מלבד CPython ישנם מימושים נוספים לשפה, בהם כאלה המשתמשים במנגנון JIT, וקיימים גם קומפיילרים לשפה{{הערה|1=[http://www.nuitka.net/ www.nuitka.net]}} המהדרים קוד של השפה אל שפת מכונה, לעתים דרך שפת ביניים כגון ++C.
 
===סגנונות תכנות נתמכים===