שאלה על שערים לוגיים ואופרטורי השוואה

במקרה שבו יש גם or וגם and בביטוי לפי מה פייתון מחליט עם איזה חלק בביטוי להתחיל, למשל עבור:
True or False and True , אם מתחילים לפתור מ-and התוצאה תהיה True ואם מתחילים מ-or התוצאה תהיה False.

בנושא של טיפוסים, בהשוואה שבה 2==2.0 => True ו- 2==‘2’ => False, מה פייתון בודק כאשר מבצעים את אופרטור ההשוואה? כי מבחינת הטיפוסים כולם שונים, ואם יש זהות זה אומר שהייצוג של שני הביטויים במחשב/זיכרון הוא זהה?

תודה
אלעד.

בנוגע לקדימות אופרטורים (מה פייתון מעדיף) –

  1. במקרה שנתת, לא משתנה מה הקידומת התוצאה תהיה True.
  2. ההעדפות של פייתון מפורטת בתיעוד הרשמי שלהם, כאן.
  3. אם יש ספק – עדיף פשוט להוסיף סוגריים.

בנוגע לשאלת ההשוואה שבאה אחריה: 2 == 2.0 כי באמת מבחינת ערך מספרי מדובר באותו ערך. זה לא שמור באותה צורה בזיכרון המחשב, אבל לפייתון מוגדר שכשהוא רואה float ו־int ששווים אחד לשני מבחינת ערך מספרי, הוא צריך להחזיר True. זו הגדרה ספציפית שהוכתבה לפייתון בשביל שדברים יסתדרו מבחינה הגיונית :slight_smile:

2 לייקים

אוקי , תודה :slight_smile:

לייק 1