Type annotations

תגיות:

בתוך הפונקציה
def gematria_to_letters(lets: List[Union[str, int]]) -> List[Letters]:
הגדרה
letters: List[Letters] = []
זו הקריאה (דילגתי על התנאי שמביא אליה, הוא קצת חושף דברים…)

letters.append(get_letter(**letter**))

מקווה שהבנתי למה התכוונת שאשים

נפלא.
אז למעשה יש לנו פונקציה שמוגדרת כך:

def get_letter(**value: int**, is_end: bool=False) -> str:

וקריאה לפונקציה שנראית כך:

letters: List[Union[str, int]]
letters.append(get_letter(**letter**))

עד כאן אנחנו מסכימים?

כן, רק מדגישה שבתנאי לפני הappend אני מתנה שletter חייב להיות int עם isinstance

לייק 1

הדגשה טובה :slight_smile: באמת פספסתי.

עשיתי כמה ניסויים אצלי ונראה ש־isinstance כן מסייע ל־mypy להבין שזה חייב להיות מסוג מסוים.
יש מצב שאת מתנה על letters במקום על letter?

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

שלחתי לך בפרטי, תודה תודה תודה, אני כבר מתחרפנת פה חחח

עדכון כדי לסגור לבאי האשכול העתידיים:
היו כמה קריאות שונות ל־get_letters. בשתיים מהן היו התניה על isinstance, באחת לא.
המסקנה מהדיון – להתייחס בכובד ראש לשורות שכתובות ב־mypy.

3 לייקים