دروس الوحدة (4/4)
نوع التحويلات
لغة بايثون ** مكتوبة بقوة **: فهي لا تضيف سلسلة إلى رقم إلا إذا قمت بذلك
قل ذلك. للانتقال من نوع إلى آخر، يمكنك استخدام وظائف المنشئ:
int()، float()، str()، bool()، list()، tuple()، set().
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 (يقتطع، لا
جولة).
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() مع سلاسل
يقبل التدوين العشري والعلمي.
float("3.14") # 3.14
float("1e3") # 1000.0
float("inf") # inf
float("nan") # nanstr(): التحويل "الودي".
str(x) يتصل داخليًا بـ x.__str__() للحصول على التمثيل "البشري".
يوجد أيضًا repr(x) لتمثيل "مصحح الأخطاء"، وغالبًا ما يكون أكثر
صريح (مع علامات الاقتباس للسلاسل، وما إلى ذلك).
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()
كل شيء آخر هو الحقيقة.
bool(0) # False
bool("") # False
bool([]) # False
bool("0") # True ! (stringa non vuota)
bool([0]) # True ! (lista non vuota, anche se contiene 0)النمط: تحليل الإدخال الآمن
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.
جربه
بالنظر إلى `a = '10'' و`b = '32'' (سلاسل)، قم بحساب `total` كمجموع عدد صحيح. تقييم "الإجمالي".
إظهار التلميح
int(a) + int(b)، وإلا فإنك تقوم بتسلسل السلاسل.
الحل متاح بعد 3 من المحاولات
تمرين المراجعة
بالنظر إلى القائمة `values = ['', 'x', 0, None, 1, []]`، أنشئ `truthy` باستخدام العناصر الصادقة فقط باستخدام bool(). تقييم "الحقيقة".
إظهار التلميح
قائمة الفهم باستخدام عامل التصفية bool(v) (أو فقط "if v").
الحل متاح بعد 3 من المحاولات
التحدي الإضافي
بالنظر إلى قائمة السلاسل \`string_numbers = ["1"، "2"، "3"]\`، قم بتحويل كل عنصر إلى عدد صحيح باستخدام \`int()\` وجمعها معًا للحصول على القيمة \`6\`. قم بتخزين المبلغ في \`sum_val\` وقم بتقييمه.
إظهار التلميح
الوصول إلى العناصر حسب الفهرس، على سبيل المثال. int(string_numbers[0])، وقم بجمعها.
الحل متاح بعد 3 من المحاولات