לימוד פייתון - מקורות

אהלן!

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

יש המון מקורות מומלצים. הנה כמה מהבולטים:

Codecademy
כולל הרבה תרגול. באופן כללי מומלץ.

ו…הופה! יש לנו הפתעה בשבילכם!
ינון פרק, מתכנת ומדריך ששמו הולך לפניו, בנה קורס פייתון מקוון, כולל הרצאות מוקלטות והסברים מפורטים. הקורס המקוון הוא קורס בתשלום, אבל באופן בלעדי ומיוחד למשתתפי “הכיתה02” הקורס יפתח ללא תשלום באצמעות קופון שימסר בדואל:
https://www.tocode.co.il/bundles/python
ינון הוא גם מומחה לכל מה שקשור ב-web development ותוכלו ללמוד דרך האתר גם על טכנולוגיות web כמו html, css ו-JS.
תודה רבה ינון!!!

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

והנה מספר מקורות האחרים (רשימה חלקית):

Intro To Python
ממוקד.

Learn X in Y minutes
סופר ממוקד.
http://learnxinyminutes.com/docs/python3/

Python Koans
לבעלי ידע טוב בתכנות בלבד. למי שרוצה לשפר את הסינטקס שלו בפייתון דרך בעיות/תיקון טסטים.
https://bitbucket.org/gregmalcolm/python_koans

Python Challenge
האם תצליחו לפתור את החידות ולעלות לשלב הבא? (תמיד אפשר לרמות…)

ה-tutorial הרשמי של פייתון
אפשר להתחיל מכאן:

Pycharm Educational Edition

תוכנת מדף. מומלץ להתקין לצד ה-pycharm הרגיל שלכם, בלי קשר אליו.

How to Think Like a Computer Scientist
ספר ממוחשב ארוך וכבד, אבל מתאים גם למתחילים.
http://interactivepython.org/courselib/static/thinkcspy/index.html

לצלול לתוך פייתון 3
לאוהבים לקרוא. ולתרגל.
http://www.diveinto.org/python3/

Learn Python The Hard Way
קשה באימונים, קל בקרב.
http://learnpythonthehardway.org/book/

הרצאות וידאו של coursera/google
לשלושתם יש גם הרצאות וידאו וגם הסברים ותרגילים כתובים. של גוגל פשוטים ונוחים:

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

למדתם? באו להוכיח
קדימה. יורים עליכם.

https://code.google.com/codejam (שאלו אותי על תרגילים ספציפיים, אשמח לעשות לכם code review).

בקיצור לא חסרים חומרים. יש עוד הרבה.


אם אתם רוצים לעשות לכם רשימת נושאים שאתם צריכים להכיר, אז הנה:

להכיר מצוין (בעל פה מתוך שינה באמצע הלילה):

  • שימוש במשתנים ולולאות
  • עבודה עם מחרוזות כולל string formatting.
  • כתיבת פונקציות כולל פרמטרים אופציונאליים
  • מבני נתונים פשוטים: רשימות, מילונים
    ##להכיר באופן די טוב:
  • שימוש בסיסי ב-import לעבודה עם הספריה הסטנדרטית, לדוגמא המודולים random או glob.
  • כתיבת מחלקות פשוטות: כתיבת מתודות כולל קונסטרקטור.
    ##בהמשך:
  • שימוש ב-pip להתקנת חבילות (לדוגמת החבילות requests, pillow או wikipedia).
  • בניית מודולים
  • ירושה

מי שאוהב לקרוא מוזמן כבר לקרוא את הקונבנציות לכתיבת קוד פייתון, ה-pep8:

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


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

שאלות? כתבו כאן.

בהצלחה!

אודי

2 לייקים

woot woot

שאלה קטנה לגבי django - לא הצלחתי להבין את עניין ה TIME_ZONE. אפשר הסבר קצר?

תודה

לגבי ה-TIME_ZONE:
אני מעריך שאת מתכוונת להגדרה ב-settings של django.
לאתרים המיועדים למשתמשים ישראליים מומלץ להשתמש ב:

TIME_ZONE = 'Asia/Jerusalem'

אני אסביר איך זה עובד דרך דוגמא. אם למשל יש לך מודל עם השדות:

class Post(models.Model): 
    created_at = models.DateTimeField(auto_now_add=True)
    title = models.CharField(max_length=200)
    # ...

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

בהמשך שתציגי את הרשומה למשתמשים באתר, כנראה תשתמשי ב-template הבא:

created at: {{ object.created_at }}

הערך של settings.TIME_ZONE יקבע לפי איזה אזור זמן השעה שלך תוצג - בלי קשר להיכן נמצא השרת (או שרת בסיס הנתונים) או המשתמש.

(הערה: מאחורי הקלעים הערך עושה עוד דברים, אבל זה השימוש החשוב הראשון מבחינתנו.)

אודי

לייק 1