آموزش پایتون

آشنایی با مفهوم [ Type Casting ] در پایتون

مفهوم [ Type Casting ] در پایتون چیست؟

آشنایی با مفهوم [ Type Casting ] در پایتون

در جلسات قبل با انواع دیتا تایپ در پایتون آشنا شدیم . و فهمیدیم هر نوع دیتا تایپ جنس خاصی از مقادیر را ذخیره میکند. در برنامه نویسی گاهی لازم است نوعی از دیتا تایپ را به نوع دیگر تبدیل کرد تا بتوان از آن در برنامه استفاده کرد. به این تغییر نوع دیتا تایپ در اصطلاح Casting می گویند. در ادامه جهت آشنایی با مفهوم [ Type Casting ] در پایتون با گیسوم طرح همراه باشید

در واقع زمانی می‌خواهید یک نوع را برای یک متغیر مشخص کنید. این کار را می توان با Casting یا ریخته‌گری انجام داد. پایتون یک زبان برنامه‌نویسی شی گرا یا Object Oriented Programming (OOP) است، و به این ترتیب از کلاس‌ها برای تعریف انواع داده‌ها از جمله انواع اولیه آن استفاده می‌کند.

 

Casting در پایتون با استفاده از توابع سازنده یا Constructor Functions انجام می‌شود.

مفهوم Literal یا لفظ چیست؟

بطور کلی تعاریف زیادی در معرفی لیترال ها در منابع آموزشی آورده شده است . ولی ما قصد داریم به زبانی ساده آن راتعریف کنیم. در برنامه نویسی لیترال به قسمتی از کد برنامه گفته می شود که ممکن است مقداری را به یک متغیر اختصاص دهد.

در واقع یک لیترال نشانه ای در کد است در زمان کامپایل برنامه به مقادیر مشخصی تفسیر می شوند. به عبارت ساده تر لیترال مقداری ست که در داخل یک متغیر ریخته می شود.

تابع سازنده ()int: این تابع یک عدد صحیح را از یک لیترال Integer یا یک لیترال Float (با گرد کردن اعشار آن به سمت عدد صحیح قبلی ) می سازد. همچنین می تواند یک عدد صحیح را از یک لیترال String که قابلیت تبدیل شدن به عدد را دارد بسازد.

تابع سازنده ()Float: این تابع می تواند یک عدد شناور اعشاری را از یک لیترال Integer یا یک لیترال Float و حتی یک لیترال String که قابلیت تبدیل به عدد صحیح یا شناور اعشاری دارد را بسازد.

تابع سازنده ()str: این تابع می تواند یک رشته از انواع مختلف لیترال های Integer , Float و String بسازد. در واقع این تابع می تواند تمام دیتا تایپ ها را به نوع رشته ای تبدیل کند.

مثال کستینگ Integer:
خروجی کد بالا:
 

همانطور که می بینید دیتا تایپ متغیر x که حاوی یک لیترال Integer با تابع سازنده از نوع int به مقداری از نوع Integer تبدیل شده است.

همچنین دیتا تایپ متغیر y که حاوی لیترالی از نوع Float  است. با این تابع به مقداری از نوع Integer تبدیل شده. و خروجی تابع از یک عدد اعشاری به عدد صحیح تغییر پیدا می کند.

و در آخر، دیتا تایپ متغیر z که حاوی لیترالی از نوع String است. و از آنجایی که این لیترال قابلیت تبدیل شدن به عدد صحیح یا اعشاری را دارد. با استفاده از این تابع به مقداری عددی تبدیل می شود.

مثال کستینگ Float:
نتیجه کد بالا :
 

در مثال بالا هم به ترتیب برای متغیر x که حاوی لیترالی از جنس Integer است به مقداری از نوع Float یا اعشاری شناور تبدیل شده و برای متغیر y که حاوی لیترالی از نوع Float است به مقداری از نوع Float  تبدیل شده است ( در این حالت اساسا تغییری در نوع دیتا تایپ داده نمی شود چون هر دوی لیترال و نتیجه خروجی تابع از نوع اعشاری شناور خواهد بود ) .

برای متغیر z هم که حاولی لیترالی از نوع String یا رشته ای است و چون این لیترال قابلیت تبدیل شدن به یک مقدار عددی را دارد ،تغییر نوع داده اتفاق می افتد و دیتا تایپ از نوع str به نوع اعشاری تبدیل می شود.

و در نهایت متغیر w که حاوی لیترالی رشته ای با مقدار داخلی که قابلیت تبدیل به انواع عددی را دارد با استفاده از این تابغ به نوع Float یا اعشاری شناور تبدیل می شود.

مثال کستینگ String:
نتیجه کد بالا :
 

همانطور که قبلا گفته شد این تابع تمام لیترال ها را با نوع داده str تبدیل می کند . در واقع این تابع مقدار هر لیترال را به همان خالت بصورت رشته ای تبدیل می کند.

 

 

 

 

 

 

برچسب ها
نمایش بیشتر

نوشته های مشابه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سه × 5 =

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

همچنین ببینید

بستن
دکمه بازگشت به بالا
بستن
بستن