שילוב פייתון וGIT

helloworld5

New member
שילוב פייתון וGIT

אהלן
למדתי פייתון דרך
https://www.youtube.com/playlist?list=PL6gx4Cwl9DGAcbMi1sH6oAMk4JHw91mC_
עכשיו רציתי לשלב עם זה GIT
1- אשמח להסבר כיצד בידיוק GIT עוזר לי בפרוייקט שאני מכין רק בפייתון
אשמח לדוגמא וכו'
2-
https://www.youtube.com/playlist?list=PL6gx4Cwl9DGAKWClAD_iKpNC0bGHxGhcx
האם זהו מקור טוב ללמוד GIT (אני מעוניין כרגע בווינדוס ולא בלינוקס)
אשמח להסבר לתחום הזה וכיצד הוא עוזר

רב תודות
 

BravoMan

Active member
אני לא חושב שאתה מבין מה זה

GIT בכלל.
&nbsp
אחרת לא היית שואל את השאלות ששאלת.
&nbsp
התשובה הפשוטה היא, שהשימוש ב-GIT על פרויקט כתוב ב-Python אינו שונה בכלום משימוש בו על פרויקט בכל שפה אחרת.
&nbsp
GIT הוא מערכת ניהול קוד.
הוא מאפשר לך לשמור, בצורה מאוד חסכונית ונוחה לגישה, כל גרסה וגרסה של הקוד שלך.
לתעד את השינויים שעשית, לראות מה השינויים בין גרסאות שונות, ואם כתבת קוד והוא עשה יותר רע מטוב, לחזור בצורה מהירה נוחה וקצרה לגרסה הקודמת.
&nbsp
כל זה כמובן אם אתה עובד לבד. לעבודה בקבוצות יש יתרונות נוספים.
&nbsp
כדאי שתקרא קצת יותר על המושג Source Version Control כדי להבין במה מדובר.
אחרי זה תתחיל ללמוד GIT.
 

helloworld5

New member
תודה על תגובתך

הבנתי
אני קולט הרבה יותר טוב בסירטוני ווידאו מאשר בקריאה
האם תוכל בבקשה(בזמנך הפנוי) לאמר לי אם הלינק שהבאתי לעייל מיוטוב יסביר לי טוב על העבודה עם GIT?לפחות את הבסיס הטוב?
במידה ולאת אשמח לקבל ממך קישור לסדרת VIDEO המסבירה בזאת
רב תודות
 

BravoMan

Active member
אם אתה אומר שאתה לומד יותר טוב

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

helloworld5

New member
אמ....

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

BravoMan

Active member
כרצונך...

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

helloworld5

New member
סבבה, שאלה אחרונה בפייתון

ברשותך...
עכשיו ראיתי את המדריך הבא
https://www.youtube.com/watch?v=XjNm9bazxn8&index=25&list=PL6gx4Cwl9DGAcbMi1sH6oAMk4JHw91mC_
(מחולק ל 3 ) שמסביר איך לפענח מעמוד HTML לדוגמא את כל הלינקים שלו
עכשיו הוא משתמש ב מודל מסוייםbeutifulSoup מ bs4
השאלה האם ככה עובדים בשפה? אם אני רוצה להעתיק מהאתר סרטים לדוגמא את כל הלינקים בעמוד שלו, איך הייתי מגיע למודל הזה שהוא משתמש בו?
מחפש בגוגל מודל לפייתון לפיענוח עמוד HTML וקורא תיעוד(ניסיתי ולא הצלחתי למצוא את המודל לבד)
מה הדרך שעובדים עם השפה הזאת? לחפש בגוגל לכל מטרה מודל? כי
תודה
 

BravoMan

Active member
זו אחת הבעיות כשלומדים

בצורה אקראית כזו.
מדריכים כאלה מניחים שאתה מבין מה היא שפת תיכנות, ומבין את הבסיסי שמאחורי פיתוח תוכנה, ורק מנסים ללמד אותך כלי תכנות ספציפי.
&nbsp
זו הסיבה, שבד"כ כשמישהו אומר שהוא רוצה לעבוד ברצינות ב-"הייטק" (כשהכוונה בד"כ בפיתוח תוכנה ולא 1001 תחומים אחרים תחת הכותרת הזו) ממליצים לו לעשות תואר במדמ"ח.
&nbsp
בכל אופן, התשובה לשאלתך היא: ככה עובדים בכלל.
&nbsp
כל שפת תכנות מורכבת בגדול מ-2 דברים:
1. הסינטקס הבסיסי של השפה, שמאפשר לך לעשות כל פעולה, כאשר פעולות פשוטות דורשות מעט כתיבה, ופעולות מורכבות הרבה כתיבה.
2. ספרייה סטנדרטית שמכילה קוד מוכן (בצורה של פונקציות ו\או מחלקות), עבור מטלות נפוצות. קוד שנכתב ע"י יוצרי השפה (בד"כ) ונבדק הרבה.
&nbsp
כך למשל, אם תרצה Hash Map, במקום לממש בעצמך, הרבה שפות, כולל Python יתנו לך אחד מוכן בספרייה הסטנדרטית.
&nbsp
בנוסף, עבור כל שפה פופולרית תמיד יש מגוון ספריות צד שלישי.
חלקן בחינם, חלקן בתשלום, חלקן קוד פתוח, חלקן סגורות.
&nbsp
ספריות הן אוסף קוד והן עושות דברים שונים ומשונים כי בסופו של יום - הרעיון בתכנות הוא לא להמציא כל פעם את הגלגל מחדש, אלא להשתמש כמה שיותר במה שכבר קיים ונבדק, וידוע שעובד היטב.
&nbsp
עד כה השתמשתי במונח "ספריות" כי זה המונח הכללי ביותר.
ב-Python הקוד בד"כ מסודר ב-"מודולים", כשכול "מודול" כולל פונקציות ומחלקות שאחראיות כולן על אותו דבר מסוים שמשותף להן.
&nbsp
ניתוח עמוד HTML הוא משימה מורכבת.
כשמתכנת ניגש למשימה, הדבר הראשון שעליו לעשות הוא להבין מה נדרש ממנו.
לאחר מכן, עליו לחלק את המשימה לשלבים.
ולבסוף, להחליט כיצד לבצע כל שלב.
&nbsp
כשהמתכנת חושב כיצד לבצע שלב מסוים במשימה, האפשרויות שעומדות בפניו מתחלקות בד"כ לשתי קבוצות עיקריות:
1. לכתוב את הקוד בעצמו בצורה כזו או אחרת.
לפעמים יש אילוצים וזו האופציה היחידה.
&nbsp
2. למצוא קוד שמישהו אחר כתב ולהשתמש בו.
&nbsp
עמוד HTML הוא בעצם אוסף של תווים - קובץ טקסט. אם ממש היית רוצה, יכולת להשתמש בבסיס של השפה ולכתוב קוד שעובר על כל התווים ומוצא את הרצפים שאתה צריך - הקישורים.
&nbsp
אם בשיעור היו רוצים לתרגל עבודה עם מחרוזות ב-Python או עבודה עם ביטויים רגולריים, ייתכן מאוד שזה מה שהיו מראים לך.
&nbsp
במקום זה, בחרו ללמד אותך איך משתמשים בקוד של אחרים.
לפתרון אמתי, לרוב זה רעיון טוב - מישהו כבר בנה ספרייה, מאוד נוחה, וחזקה, שיודעת להתמודד עם כל הסיבוך הכרוך בניתוח HTML ונותנת לך כמשתמש כל מיני יכולות.
&nbsp
זה חוסך לך המון עבודה, וגם משאיר לך פחות מקום ליצור באגים, או להיתקל בקלט לא צפוי.
&nbsp
ועכשיו לשאלה האמתית:
איך אתה כמתכנת יודע אם לבחור באופציה 1 או 2?
והתשובה היא: תלוי בנסיבות!
הידע האמתי של מתכנת הוא איך לפתור את הבעיות ולבצע את המשימות שמעמידים לפניו.
&nbsp
אם אתה בתור מתכנת כבר מכיר כלי מתאים למשימה, אתה יכול להתחיל לבצע אותה.
אם אתה לא מכיר כלי כזה, עליך לחפש ולמצוא אותו בכל מקור שזמין לך.
היום, זה בד"כ גוגל, שמוביל למקורות אחרים כמו Stack Overflow.
&nbsp
ל-Python ספציפית יש מאגר מודולים https://pypi.python.org/pypi
אבל, אין טעם לנסות לקרוא את התוכן שלו ולשנן. מספיק לזכור שהוא שם, וכשתצטרך איזה מודול שיעשה משהו, יש סיכוי טוב שתמצא אותו שם.
&nbsp
כמובן, יש גם מקורות אחרים למצוא מודולים, כמו GitHub.
&nbsp
שים לב, שמה שכתבתי הוא נכון וזהה עבור כל שפת תכנות - Python לא ייחודית כאן.
&nbsp
ההודעה יצא קצת ארוכה, אבל אני מקווה שהצלחתי להעביר את הפואנטה.
 

helloworld5

New member
החכמת אותי מאוד...אבל....

לדוגמא אני רוצה לדעת לעבור עם requests
חיפשתי באתר שנתת
https://pypi.python.org/pypi
והגעתי ל
https://pypi.python.org/pypi/requests/2.7.0
אני לא כ"כ מבין שם איך זה עובד
איפה אני רואה את הפונקציות ואיך עובדים איתם?
לדוגמא בCPP באתר שלהם יש לספריות שם רשימה של כל הפונקציות עם הסבר מה הם עושים ודוגמאות קוד
כאן אני כנראה לא מצליח להבין איך זה עובד
תודה
 

BravoMan

Active member
אתה חייב לקרוא ולא לדלג!

האתר שנתתי לך, רק מארח את המודולים, הוא לא אחראי לתיעוד שלהם.
אם היית קורא את העמוד שקישרת אליו בתשומת לב, היית מגיע לקישור לאתר של הפרויקט:
http://docs.python-requests.org/en/latest
&nbsp
אם תקרא את העמוד הראשי באתר של הפרויקט תגיע לשורה שכתוב בה "User guide" ושם יש את המדריך המלא איך משתמשים.
 

nonickname4

New member
אז..

כל פעם שאני צריך פעולה כמו קריאת html וכו
לחפש בגוגל את הפעולה ודרךhttps://pypi.python.org/pypi
להיכנס למדריך של הספריה כי רוב הסיכויים שהיא כבר קיימת?
לכל ספריה יש הסבר (קישור להסבר )
תודה
 

BravoMan

Active member
בגדול, כן.

אבל אל תהיה רובוט, תפעיל את הראש.
&nbsp
לא תמיד יש תיעוד לספרייה (אולי יש דוגמאות קוד במקום, ואולי אין כלום וצריך לחפור בקוד ולהבין לבד), לא תמיד יש רק ספרייה אחת לנושא, למעשה לרוב יש יותר, חלקן טובות יותר, חלקן טובות פחות, חלקן נותנות יותר אפשרויות אבל גם תופסות יותר מקום, חלקן נותנות פחות אפשרויות אבל פשוטות יותר לשימוש וכו'.
&nbsp
בקיצור: לקרוא, ללמוד, לחשוב, להתייעץ.
&nbsp
בהצלחה!
 
למעלה