צב שלוח, מקרה שקוראים לפונקציה בלי לציין N

תגיות:

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

יצרת פונקציה בצורת func(self, N=something) ? אולי שכחת לרשום את ה- self בחתימה?

יצרתי, וגם העברתי את הusername.

באיזה שלב בקוד אתה מקבל את השגיאה? איך היא נראית?

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

לשם הבהרה, הפונקציה כן מקבלת כפרמטר את self אבל כשאני מנסה להציב אותו כערך ברירת מחדל (פנייה לתכונה מסויימת באובייקט), אני מקבל את השגיאה:
NameError: name ‘self’ is not defined

אתה לא יכול להציב את self כערך ברירת מחדל כל עוד self לא מוגדר

אבל הוא מוגדר, יצרתי אובייקט ושלחתי אותו למתודה, self כפרמטר יחיד כן עובד

שלח לי את הקוד בפרטי

לייק 1

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

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

3 לייקים

תודה.
ובנוגע לחיפוש string בתוכן ההודעות צריך להתחשב במקרי upper / lower case?

בשמחה.
בנוגע לחיפוש, אני אישית הייתי עושה הכל ב lower … בכל מקרה אין סיבה הרי שI ו i לא ימצאו בגלל אות גדולה.

לייק 1