الانتقال إلى المحتوى الرئيسي
الوحدة 4 · الدرس 4 من 416/36 في الدورة~10 min
دروس الوحدة (4/4)

نوع التحويلات

لغة بايثون ** مكتوبة بقوة **: فهي لا تضيف سلسلة إلى رقم إلا إذا قمت بذلك قل ذلك. للانتقال من نوع إلى آخر، يمكنك استخدام وظائف المنشئ: 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'

محمي_INLINE_26 والصدق

bool(x) يُرجع False فقط لقيم Python الخطأ:

  • محمي_INLINE_29، محمي_INLINE_30
  • أرقام صفرية: 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

التقييم المنطقي (الصدق)

في بايثون، كل كائن له قيمة حقيقة ضمنية. يمكنك التحقق من القيمة المنطقية لأي كائن باستخدام الدالة bool(...). يتم تقييم المجموعات الفارغة (على سبيل المثال ""، []، {}، set()) والقيم الصفرية (0، 0.0) دائمًا إلى False. تم تقييم كافة الكائنات الأخرى إلى True.

جربه

تمرين#python.m4.l4.e1
المحاولات: 0جارٍ التحميل…

بالنظر إلى `a = '10'' و`b = '32'' (سلاسل)، قم بحساب `total` كمجموع عدد صحيح. تقييم "الإجمالي".

جارٍ تحميل المحرر…
إظهار التلميح

int(a) + int(b)، وإلا فإنك تقوم بتسلسل السلاسل.

الحل متاح بعد 3 من المحاولات

تمرين المراجعة

تمرين#python.m4.l4.e2
المحاولات: 0جارٍ التحميل…

بالنظر إلى القائمة `values ​​= ['', 'x', 0, None, 1, []]`، أنشئ `truthy` باستخدام العناصر الصادقة فقط باستخدام bool(). تقييم "الحقيقة".

جارٍ تحميل المحرر…
إظهار التلميح

قائمة الفهم باستخدام عامل التصفية bool(v) (أو فقط "if v").

الحل متاح بعد 3 من المحاولات

التحدي الإضافي

تمرين#python.m4.l4.e3
المحاولات: 0جارٍ التحميل…

بالنظر إلى قائمة السلاسل \`string_numbers = ["1"، "2"، "3"]\`، قم بتحويل كل عنصر إلى عدد صحيح باستخدام \`int()\` وجمعها معًا للحصول على القيمة \`6\`. قم بتخزين المبلغ في \`sum_val\` وقم بتقييمه.

جارٍ تحميل المحرر…
إظهار التلميح

الوصول إلى العناصر حسب الفهرس، على سبيل المثال. int(string_numbers[0])، وقم بجمعها.

الحل متاح بعد 3 من المحاولات