صية "Casting" في بايثون، والتي تُعرف أيضًا باسم "تحويل الأنواع" أو "التحويل القسري"، هي عملية تحويل قيمة من نوع بيانات إلى نوع بيانات آخر. على سبيل المثال، يمكنك تحويل سلسلة نصية (string) إلى عدد صحيح (integer) أو عدد عشري (float)، أو العكس.
لماذا نستخدم Casting؟
في كثير من الأحيان، تحتاج إلى التعامل مع البيانات بأنواع مختلفة. على سبيل المثال، قد تقرأ بيانات من ملف على هيئة سلاسل نصية، ولكنك تحتاج إلى إجراء عمليات حسابية عليها، وبالتالي تحتاج إلى تحويلها إلى أعداد.
طرق Casting في بايثون:
تستخدم بايثون دوال مدمجة (built-in functions) لإجراء عمليات التحويل بين الأنواع المختلفة. أهم هذه الدوال:
int()
: لتحويل قيمة إلى عدد صحيح.float()
: لتحويل قيمة إلى عدد عشري.str()
: لتحويل قيمة إلى سلسلة نصية.
أمثلة:
# تحويل سلسلة نصية إلى عدد صحيحx = "10"y = int(x)print(type(x)) # Output: <class 'str'>print(type(y)) # Output: <class 'int'>print(y) # Output: 10
# تحويل عدد صحيح إلى عدد عشريa = 5b = float(a)print(type(a)) # Output: <class 'int'>print(type(b)) # Output: <class 'float'>print(b) # Output: 5.0
# تحويل عدد عشري إلى سلسلة نصيةc = 3.14d = str(c)print(type(c)) # Output: <class 'float'>print(type(d)) # Output: <class 'str'>print(d) # Output: 3.14
# مثال على تحويل سلسلة نصية كسرية إلى عدد عشريe = "3.14159"f = float(e)print(type(f)) # Output: <class 'float'>print(f) # Output: 3.14159
# محاولة تحويل سلسلة نصية غير رقمية إلى عدد صحيح سيؤدي إلى خطأg = "hello"# h = int(g) # سيؤدي هذا السطر إلى خطأ ValueError
ملاحظات مهمة:
- عند محاولة تحويل سلسلة نصية لا تمثل رقمًا صحيحًا إلى عدد صحيح باستخدام
int()
، سيحدث خطأValueError
. - يمكن أيضًا استخدام
int()
مع وسيط ثاني لتحديد نظام العد (base) للرقم في السلسلة النصية، على سبيل المثالint("1010", 2)
لتحويل العدد الثنائي "1010" إلى العدد العشري 10. - التحويل بين الأنواع يجب أن يكون منطقيًا. لا يمكنك تحويل أي نوع بيانات إلى أي نوع آخر بشكل عشوائي.
الخلاصة:
خاصية Casting في بايثون قوية وضرورية للتعامل مع البيانات بأنواع مختلفة وإجراء العمليات المطلوبة عليها بشكل صحيح. فهم كيفية استخدام الدوال int()
، float()
، و str()
يُمكّنك من كتابة برامج أكثر فعالية