Menu

הערות ב-Python: הערות בשורה אחת, בכמה שורות ו-Docstrings

איך כותבים הערות ב-Python: הערה בשורה אחת עם #, בלוקים של כמה שורות, ו-docstrings לתיעוד פונקציות ומודולים.

בדף הזה יש עורכים שאפשר להריץ - לערוך, להריץ ולראות את הפלט מיד.

הערות נועדו לבני אדם

Python מתעלמת מהערות. זה כל הטריק. כל מה שמסמנים כהערה בלתי נראה למפרש: הוא שם רק בשביל מי שקורא את הקוד, ובדרך כלל זה אתם בעוד חצי שנה, תוהים מה חשבתם אז.

עם זאת, הערה שרק חוזרת על מה שהקוד עושה באופן ברור לא שווה את הכתיבה. ההערות הטובות ביותר מסבירות למה: אילוץ, מעקף, החלטה שלא ברורה מהקוד עצמו. הקוד כבר אומר לכם מה קורה.

הערות בשורה אחת עם #

הצורה הבסיסית היא # ואחריו ההערה שלכם:

אפשר גם להוסיף הערה קצרה בסוף שורה. לפי המוסכמה, השאירו לפחות שני רווחים לפני ה-#:

Python קוראת # בכל מקום מחוץ למחרוזת ומתייחסת לשאר השורה כהערה. החלק של "מחוץ למחרוזת" חשוב: # בתוך מירכאות הוא סתם תו.

ה-#section-2 שבתוך המחרוזת הוא חלק מה-URL. Python עוברת למצב "הערה" רק ב-# שאחרי סגירת המחרוזת.

הפיכת כמה שורות להערה

ל-Python אין הערת בלוק מסוג /* */. כדי לדלג על כמה שורות, שימו # בתחילת כל אחת:

כמעט אף פעם לא מקלידים את ה-# האלה ידנית. בכל עורך סביר יש קיצור "הפעלה/כיבוי של הערת שורה" שמוסיף או מסיר # בכל שורה מסומנת:

  • VS Code: Cmd + / (macOS) או Ctrl + / (Windows/Linux)
  • PyCharm: Cmd + / או Ctrl + /
  • Vim: תלוי בתוספים שלכם. vim-commentary מקצה את gcc לשורה בודדת ואת gc לבחירה.

למדו פעם אחת את הקיצור בעורך שלכם, ו"להפוך את הבלוק הזה להערה כדי לנסות משהו" הופך לפעולה של לחיצה אחת.

הטריק של מחרוזת במירכאות משולשות (ולמה זו לא הערה אמיתית)

לפעמים תראו קוד כזה:

טכנית זה ביטוי מחרוזת שנזרק. Python מפענחת אותו, מעריכה אותו וזורקת את התוצאה. הוא מתנהג כמו הערה, אבל הוא לא הערה. מבחינת סגנון, זה רעיון טוב רק במקום אחד מסוים: כ-docstring.

Docstrings: המקום היחיד שבו מירכאות משולשות שייכות

docstring היא מחרוזת במירכאות משולשות שמוצבת כפקודה הראשונה ממש בפונקציה, במחלקה או במודול. Python מזהה אותה כתיעוד ומנגישה אותה בזמן ריצה דרך הפונקציה help() וה-attribute __doc__:

שני דברים הופכים docstrings לנחמדות:

  1. כלים כמו סביבות פיתוח, help() ומחוללי תיעוד קוראים אותן אוטומטית. הערה מעל הפונקציה לא מקבלת שום דבר כזה.
  2. הן מתארות את הפונקציה במקום הקריאה: כשמישהו מרחף מעל discount(...) בעורך, ה-docstring קופצת כ-tooltip.

יש מוסכמה (PEP 257) למה שנכנס ל-docstring: סיכום בשורה אחת בשורה הראשונה, שורה ריקה, ואחר כך תיאור ארוך יותר אם צריך. אל תילחצו מהפורמט המדויק ביום הראשון: שורה אחת פשוטה עדיפה בהרבה על היעדר docstring.

מה הערות טובות באמת אומרות

כמה הנחיות שחוסכות הרבה עוגמת נפש בהמשך:

  • העדיפו לתאר למה ולא מה. # Loop over the users הוא רעש. # Retry on 503 - Redis sometimes dies mid-deploy הוא זהב.
  • עדכנו הערות כשמשנים את הקוד. הערה שגויה גרועה יותר מהיעדר הערה. הערות מיושנות מטעות באופן פעיל את הקוראים הבאים.
  • אל תהפכו קוד להערה ותשאירו אותו שם. אם אתם לא צריכים אותו, מחקו אותו. מערכת ניהול הגרסאות זוכרת. קובץ מפוזר בבלוקים שהפכו להערות מאבד אמינות מהר.
  • דלגו על המובן מאליו. x = x + 1 # increment x לא מוסיף כלום.

השורה התחתונה

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

עכשיו יש לכם כל מה שצריך כדי לקרוא ולכתוב קובץ Python. בפרק הבא השפה מתחילה באמת לעשות דברים: משתנים, טיפוסי נתונים והערכים ש-Python יכולה להחזיק.

שאלות נפוצות

איך כותבים הערה ב-Python?

שימו # בתחילת שורה (או בכל מקום בה), וכל מה שבא אחרי ה-# באותה שורה הוא הערה. Python מתעלמת לגמרי מהערות כשהיא מריצה את הקוד.

איך הופכים כמה שורות להערה ב-Python?

ל-Python אין תחביר ייעודי להערה של כמה שורות. שימו # בתחילת כל שורה שרוצים לדלג עליה. ברוב העורכים יש קיצור מקלדת שמוסיף או מסיר # בכל השורות המסומנות בבת אחת, למשל Cmd/Ctrl + / ב-VS Code.

האם מחרוזות במירכאות משולשות הן הערות ב-Python?

לא בדיוק. מחרוזת במירכאות משולשות שלא מושמת לשום דבר מתנהגת כמו הערה בזמן ריצה, אבל Python עדיין מפענחת אותה כמחרוזת. הדפוס הזה משמש בעיקר ל-docstrings, תיעוד של פונקציות, מחלקות ומודולים, ולא להערות כלליות.

איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל