דילוג לתוכן המרכזי
מודול 4 · שיעור 4 מתוך 416/36 בקורס~10 min
שיעורי מודול (4/4)

הקלד המרות

Python הוא מוקלד חזק: הוא אף פעם לא מוסיף מחרוזת למספר אלא אם כן לומר זאת. כדי לעבור מסוג אחד לאחר אתה משתמש בפונקציות הבנאי: int(), float(), str(), bool(), list(), tuple(), set().

Python
int("42")        # 42
float("3.14")    # 3.14
str(42)          # '42'
list("abc")      # ['a', 'b', 'c']
tuple([1, 2])    # (1, 2)
set([1, 1, 2])   # {1, 2}

int() עם מחרוזות

int("42") עבודות; int("42.5") מעלה את ValueError. עבור מחרוזות עשרוניות, תעבור קודם על float: int(float("42.5")) → 42 (חתוך, לא סיבוב).

Python
int("42")         # 42
int("  42  ")     # 42        (strip automatico degli spazi)
int("42.5")       # ValueError
int(float("42.5"))  # 42
int("ff", 16)     # 255       (base esplicita)

float() עם מחרוזות

מקבל סימון עשרוני ומדעי.

Python
float("3.14")      # 3.14
float("1e3")       # 1000.0
float("inf")       # inf
float("nan")       # nan

str(): ההמרה ה"ידידותית".

str(x) מתקשר באופן פנימי לx.__str__() כדי לקבל את הייצוג ה"אנושי". יש גם repr(x) לייצוג "מאתר הבאגים", לרוב יותר מפורש (עם מרכאות למחרוזות וכו').

Python
str(3.14)       # '3.14'
str([1, 2])     # '[1, 2]'
str(True)       # 'True'

bool() ואמיתות

bool(x) מחזיר את False רק עבור ערכי שקר של Python:

  • False, None
  • אפס מספרים: 0, 0.0
  • מיכלים ריקים: "", [], (), {}, set()

כל השאר אמת.

Python
bool(0)       # False
bool("")      # False
bool([])      # False
bool("0")     # True  !  (stringa non vuota)
bool([0])     # True  !  (lista non vuota, anche se contiene 0)

דפוס: ניתוח קלט בטוח

Python
testo = input("età: ")
try:
    eta = int(testo)
except ValueError:
    print(f"non è un numero: {testo!r}")
    eta = None

הערכה בוליאנית (אמת)

ב-Python, לכל אובייקט יש ערך אמת מרומז. אתה יכול לבדוק את הערך הבוליאני של כל אובייקט באמצעות הפונקציה bool(...). אוספים ריקים (למשל "", [], {}, set()) ואפס ערכים (0, 0.0 להעריך תמיד) False. כל שאר האובייקטים מוערכים ל-True.

נסה את זה

פעילות גופנית#python.m4.l4.e1
ניסיונות: 0טוען...

בהינתן `a = '10'` ו-`b = '32'` (מחרוזות), חשב את 'סך הכל' כסכום השלם שלהם. הערך 'סך הכל'.

טוען עורך...
הצג רמז

int(a) + int(b), אחרת אתה משרשר את המחרוזות.

הפתרון זמין לאחר 3 ניסיונות

סקירת התרגיל

פעילות גופנית#python.m4.l4.e2
ניסיונות: 0טוען...

בהינתן הרשימה `values ​​= ['', 'x', 0, None, 1, []]`, בנה `trthy` רק עם רכיבי האמת באמצעות bool(). העריכו את 'אמת'.

טוען עורך...
הצג רמז

הבנת רשימה עם filter bool(v) (או רק 'if v').

הפתרון זמין לאחר 3 ניסיונות

אתגר נוסף

פעילות גופנית#python.m4.l4.e3
ניסיונות: 0טוען...

בהינתן רשימת המחרוזות \`string_numbers = ["1", "2", "3"]\`, המר כל אלמנט למספר שלם באמצעות \`int()\` וסכם אותם יחד כדי לקבל את הערך \`6\`. אחסן את הסכום ב-\`sum_val\` והעריך אותו.

טוען עורך...
הצג רמז

גישה לאלמנטים לפי אינדקס, למשל. int(string_numbers[0]), וסכם אותם.

הפתרון זמין לאחר 3 ניסיונות