מוזמנים להצטרף אלי לסשן שאלות, תשובות ותכנות.
למטה סקר על זמן הקיום של הסשן שיסגר ב־00:00 שבין שבת לראשון.
אשמח אם תוכלו להעלות פה כמה שיותר שאלות לקראת הסשן. אקבל שאלות חדשות עד חצות שלפני הסשן עצמו.
שאלות טובות הן שאלות ממוקדות שעיקרן הן לתת לכם חכה, ולא דג. לדוגמה: “מתי אני בוחר לתפוס שגיאה ומתי עדיף שלא?” היא שאלה מעולה. “האם בתרגיל 144 צריך לתפוס ValueError?” היא לא שאלה טובה.
בעתיד האשכול יעודכן עם הזמנה לאירוע.
ראשון
שלישי
רביעי
חמישי
0מצביעים
3 לייקים
yosefco3
נשמח לעזרה עם
mypy …
אם אפשר לעשות איזשהו walkthrough על פרויקט קטן זה יהיה נהדר.
תודה !!!
5 לייקים
eyalmerav
תוכנה (אפשר גם משהו קטן) מ א’ ועד ת’
זאת אומרת
מהשורה הראשונה של הקוד
עד שאני יכול להוריד אותה למחשב או להוריד כאפליקציה לטלפון ולהפעיל אותה…
נניח אפליקציית מחשבון פשוט לנייד או למחשב
eyalmerav
ספוילר : ככהנ שאלה לא טובה:
כיצד משתמשים בעכבר בפייתון?
נניח בונים משחק איקס עיגול
והמשתמש מסמן את הריבוע שהוא מעוניין לשים בו עיגול עם העכבר
תודה רבה מראש
car.chopin
נימוסים בתחום הקבצים, מחלקות, תיקיות וכו’ - חסרה לי אינטואיציה לגבי עד כמה לחלק את הקוד.
בדוגמה שניתנה ביום 2 של שבוע 9 לגבי מערכת התרגילים, הוסבר שהקוד מחולק לקבצים של מערכת ניהול נוטיפיקציות, מערכת ניהול משתמשים, ובודק אוטומטי. על פניו נשמע שזו חלקה למשימות על, כלומר שהקבצים הללו מכילים קטעי קוד די ארוכים. האם אכן כך או שבפועל כל משימת על כזו היא בכלל חבילה שבתוכה קבצים שונים? האם יש אורך שנחשב “לא מנומס” לקובץ או מאידך כמות קבצים תחת חבילה שנחשבת לא מנומסת?
2 לייקים
gonny
דוגמאות לשימוש ב-mypy, במיוחד בנוגע לimportים. אם אפשר, mypy דרך pycharm ולא דרך cmd.
נגיד אם היה לך תרגיל עם מוזיקה פשוטה, נגיד משהו כמו יונתן הקטן, שהיית צריך לתקן את המוזיקה שם שמזייפת. לא יודע למה חשבתי ספציפית על תרגיל כזה.
לייק 1
mbrodsky
האם יש קווים מנחים לשימוש ב Type Annotations? האם צריך לשאוף לרמיזה על כל משתנה חדש שמופיע? או שאולי זה דווקא מעמיס וכדאי להגביל את זה רק להגדרה של פונקציות או למשתנים שייתכן ולא ברור מה הם אמורים לקבל?
לייק 1
Yam
יש רוב משמעותי מאוד ליום שלישי, ולכן נשאיר את המפגשים בימי שלישי בינתיים.
מוזמנים להמשיך לשאול שאלות, האשכול עודכן עם הזימון.
Rach
אם אפשר להראות אותך מדבג משהו, אפילו פשוט - כמו נגיד התרגיל הראשון ביום הראשון של הדיבוג.
aviadamar
דוגמא להליך דיבאגינג
ori81510
שאלה שעלתה לי בעקבות הדוגמה הבאה ביום 4:
old_len = len
len = lambda x: 0
print(len("Hello"))
print(old_len("Hello")) # not part of the original example
אם משנים את len כך שיצביע על פונקציה אחרת, ו old_len מצביע לאן ש len מצביע, למה בעצם old_len אכן מצליח לשמור את פונקציית len המקורית ושורה 4 אכן מדפיסה 5 כמצופה? כלומר למה הפונקציה old_len לא מתנהגת בדיוק כמו הפונקציה len החדשה?
(כנראה נוצר אצלי בלבול כלשהו בין פונקציות כערכים לבין מצביעים לפונקציות, וקצת חיפוש בגוגל יסדר את זה, אבל יש לי הרגשה שתשובה על השאלה תוכל לעשות סדר בראש לעוד אנשים)
Almog
אני לא בטוחה שאני צודקת אבל אני חושבת שזה קשור לתזמון/מיקום שבו הפונקציות מוגדרות, ונראה לי שההרצה הזאת מאששת את זה: @ori81510 מקווה שההערות מובנות
old_len = len
len = lambda x: 0
print(len("Hello"))
print("Should be 5:", old_len("Hello")) # old_len was defined when len was built-in function
old_len = len
print("Should be 0:", old_len("Hello")) # old_len was defined when len is our new function
Output:
0
Should be 5: 5
Should be 0: 0
לייק 1
ori81510
זה ברור לי למה הקוד שכתבת מתנהג כמו שהוא מתנהג אבל עדיין לא כלכך ענה לי על השאלה האמת. אולי אני מסתבך בגלל שאני רגיל לפויינטרים משפות כמו C/CPP. בכל מקרה המון תודה
לייק 1
gonny
אם אני לא טועה זה מכיוון ש len הראשון הוא פונקציה built-in וה len השני זה שם משתנה שאנחנו הגדרנו (בגלל זה תראה שהשגיאה שIDE מעיר זה: Shadows built-in name ‘len’).
אז הold_len תמיד מצביע על הפונקציה של פייתון.
לייק 1
ofirko
איך מתגברים על שגיאה של mypy שפייתון לא מוצא מודול שאנחנו מייבאים(מקובץ אחר)
error: Cannot find implementation or library stub for module named ‘XXXX’
ניסיתי לחפש ולא מצאתי פיתרון… תודה