איך ללמוד פיתון בדרך הקלה (ולא כמו שעשיתי)

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

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

איך נכשלתי בלימוד פייתון ... בפעם הראשונה

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

אז הרמתי עותק של קובץ ה- PDF של פייתון למד בדרך הקשה והתחלתי לנסות לעבוד עליו.

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

רציתי ללמוד כיצד לכתוב קוד פייתון, והצעד הראשון שלי היה לבלות חמש שעות במאבק עם שורת הפקודה? הורידו אותי המוטיבציה עוד לפני שהתחלתי.

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

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

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

איך נכשלתי בלימוד פייתון ... בפעם השנייה

כעבור כמה שנים ניסיתי שוב. עד אז עבדתי כעיתונאית והתעניינתי בעיתונות נתונים ובגרידה ברשת בפרט.

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

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

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

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

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

היה קשה גם להישאר מונע, כי עבדתי על דברים שלא נראים רלוונטיים.

רציתי ללמוד גירוד ברשת. אבל במקום זאת נאבקתי להבין הרצאות וידאו על מושג התכנות מונחה עצמים (OOP). מה כל זה קשור למטרות שלי? לא הייתי בטוח, וזה הקל על הפסקת העבודה. שוב.

למה נכשלתי

בדיעבד, לא קשה להבין מדוע נכשלתי. בפעם הראשונה, הטעויות הגדולות שלי היו:

  1. אין מטרה ברורה . מדוע למדתי פייתון? לא ממש ידעתי. זה מקלה באמת על הפסקת העבודה כאשר קשה יהיה - וזה תמיד יהיה, במוקדם או במאוחר.
  2. יותר מדי אתגר מקדימה . במוקדם או במאוחר, הייתי צריך להבין איך לקבל פיתון על המערכת שלי, אבל להגדיר זאת עם אפס ניסיון רלוונטי, לפני שכתבתי ככל print(‘Hello world!’)היה מתכון תסכול וכישלון.

כשאתה לומד משהו מאתגר, במיוחד כמתחיל לגמרי, אתה צריך זכיות מוקדמות כדי לעזור לך להאמין שאתה באמת יכול לעשות את זה.

החל מאתגר מתסכל שכלל לא כלל קידוד, הבטיח שלא זכיתי לזכיות מוקדמות המניעות ומאשרות.

בפעם השנייה, נמנעתי מהטעויות האלה, אבל במקום זאת הכנתי כמה חדשות:

  1. לא למדתי על ידי עשייה. צפייה בסרטונים והעברת חידונים גרמה לי להרגיש שאני יכולה לקודד, אבל לא ממש קידדתי. כאשר ניסיתי ( ולא הצלחתי ) לכתוב קוד, זה היה מתסכל עוד יותר מכיוון שחשבתי שכבר הבנתי אותו. ובגלל שהייתי צריך לעשות כל לחיצה בכל סרטון כדי לצפות מחדש בקטעים שונים וללמוד דברים מחדש.
  2. הייתה לי מטרה ברורה, אבל לא דרך ברורה לקראתה. ידעתי שאני רוצה לעשות עיתונאות נתונים וגרידה באינטרנט, אבל עברתי קורס גנרי מתחיל בפייתון. פירוש הדבר שלמדתי שיעורים שאולי היו קריטיים לפיתוח תוכנה, אך לא היו רלוונטיים לעיתונות נתונים. לעתים קרובות היה לי קשה לחבר את היסודות שלמדתי בכיתה עם מה שאני באמת רוצה לעשות עם הקוד.

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

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

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

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

הדבר נכון גם לגבי פייתון. אתה לא צריך לדעת הכל - או אפילו כל כך הרבה, בהכרח - כדי לחולל שינוי אמיתי בחיים שלך.

אבל זה לקח שלמדתי רק במקרה.

איך באמת למדתי (קצת) פייתון

עד שנת 2018 ויתרתי על לימוד פייתון. ניסיתי פעמיים ונכשלתי פעמיים! אבל אז התקבלתי לעבודה ב- Dataquest, חברה המלמדת מיומנויות מדעי נתונים - כולל תכנות פייתון - באופן מקוון.

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

אז, עם אימה מסוימת, יצרתי חשבון והתחלתי את מסלול הקורס Python for Data Science שלנו.

להפתעתי זה הרגיש כיף וקל. ולהפתעתי הגדולה יותר, לא לקח הרבה זמן עד שהרגשתי שאני יכול לבנות כמה פרויקטים לבד.

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

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

זה קרה מכיוון שבמקרה יותר מאשר בעיצוב נתקלתי בדרך ללמוד פיתון שנמנעה כמעט מכל הטעויות שעשיתי במאמצי הקודמים:

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

כיצד להקל על למידת פייתון

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

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

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

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

שלישית, הימנע מהאתגר הקדמי של הגדרת Python וספריותיה השונות במערכת המקומית שלך.

יש עכשיו הרבה פלטפורמות מקוונות שמאפשרות לך לכתוב ולהפעיל קוד בדפדפן אינטרנט, או שאתה יכול לכתוב ולהפעיל קוד במחברת ב- Google Colab או בפלטפורמה דומה. פשוט נסה להקל על עצמך להתחיל בעבודה. תוכל לדאוג לגבי ההתקנה המקומית שלך מאוחר יותר.

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

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

פרקו משימות גדולות לגושים קטנים יותר, והתמקדו במטרותיכם בבניית משהו כך שתקבלו את הפרס הפסיכולוגי שבניתם משהו כשתשלמו.

עקוב אחר ההנחיות הבאות ללא קשר לסיבה האישית שלך ללמוד פייתון ואין לי ספק שתוכל להגיע ליעדים שלך מבלי שתצטרך להיכשל ולהפסיק פעמיים בדרך!