• ارسال کننده: سمیه مظفری
  • تاریخ انتشار: 2019 / 04 / 27

تبدیل نوع در پایتون

مقاله قبلی: انواع عملگرهای پایتون – قسمت دوم

قبل از این که بخواهید با مبحث تبدیل نوع در پایتون آشنا شوید لازم است که مقاله انواع داده های پایتون را مطالعه بفرمائید.

به فرآیند تبدیل مقداری از یک نوع داده (صحیح، اعشاری، رشته و غیره) به نوع داده دیگر، تبدیل نوع می گویند. پایتون به دو روش تبدیل نوع را انجام می دهد که این روش ها عبارتند از : روش ضمنی و روش صریح.

تبدیل نوع ضمنی

در تبدیل نوع ضمنی، خود پایتون به طور خودکار یک نوع داده را به نوع داده دیگر تبدیل می کند و نیازی به دخالت کاربر نیست. پایتون در تبدیل نوع ضمنی برای جلوگیری از، از دست رفتن اطلاعات، نوع داده کوچک تر را به نوع داده بزرگ تر تبدیل می کند. به مثال زیر توجه کنید. در این برنامه قرار است یک عدد صحیح (int) را با یک عدد اعشاری (float) جمع کنیم. با این که نوع این دو عدد یکی نیست ولی پایتون  به طور خودکار نوع داده کوچک تر (صحیح) را به نوع داده بزرگ تر float تبدیل می کند یعنی عدد 123 به عدد 123.0 تبدیل شده و سپس با عدد اعشاری 1.23 جمع می شود و عدد 124.23 تولید می شود که دارای نوع داده اعشاری (float) است.

     تبدیل نوع ضمنی در پایتون

خروجی برنامه بالا به صورت زیر است:

خروجی تبدیل نوع ضمنی در پایتون

حال بیایید رفتار پایتون را به هنگام جمع بستن یک عدد صحیح با یک رشته بررسی کنیم.

رفتار پایتون در جمع بستن یک عدد صحیح با یک رشته

خروجی برنامه بالا:

خروجی رفتار پایتون در جمع بستن یک عدد صحیح با یک رشته

در مثال بالا، ملاحظه می کنید که به هنگام جمع یک متغیر صحیح (num_int) با یک متغیر رشته ای (num_str)، پایتون قادر به تبدیل نوع ضمنی نیست و در خروجی خطای نوع (TypeError) ایجاد شده است. این خطا بیانگر آن است که در حالت عادی، عملگر + نمی تواند یک عدد صحیح را با یک رشته جمع ببندد. اما پایتون برای این مشکل هم راه حلی دارد که تبدیل نوع صریح نامیده می شود.

تبدیل نوع صریح

در تبدیل نوع صریح، این کاربر است که نوع داده یک شی را به نوع داده مورد نیاز خود تبدیل می کند. برای تبدیل نوع صریح بایستی از نام نوع داده به عنوان توابع استفاده کنید. درنتیجه تبدیل صریح با استفاده از توابع از پیش تعریف شده ای مثل int() و  float()و str() و غیره صورت می گیرد.

در مثال زیر، با استفاده از تابع int()، متغیر رشته ای num_str به طور صریح به نوع داده صحیح تبدیل می شود و آن گاه پایتون به راحتی می تواند متغیرهای num_int و num_str را با هم جمع کند.  در تبدیل نوع داده صریح که به آن Type Casting  نیز گفته می شود احتمال از دست رفتن بخشی از اطلاعات وجود دارد چرا که ما شیئی از نوع داده بزرگ تر (string) را مجبور می کنیم که به نوع داده کوچک تر (int) تبدیل شود.

تبدیل نوع صریح در پایتون

خروجی برنامه بالا:

خروجی تبدیل نوع صریح در پایتون

در جدول زیر تعدادی از توابع درون ساخته مورد نیاز برای تبدیل نوع صریح را ذکر نموده ایم.

توسط دو آرگومان  ورودی خود، یک عدد مختلط را تولید می کند complex(real [,imag])
X  را به یک عدد اعشاری تبدیل می کند float(x)
X را به یک عدد صحیح تبدیل می کند int(x [,base])
یک عدد را به یک رشته عددی در مبنای 8 تبدیل می کند

 

oct(x)
یک عدد را به یک رشته عددی در مبنای 16 تبدیل می کند

 

hex(x)
یک کاراکتر تنها را به معادل عددی آن (کد اسکی آن) تبدیل می کند.

 

ord(x)
یک عدد را به کاراکتر معادل آن تبدیل می کند chr(x)
شی  x  را به یک رشته تبدیل می کند. str(x)
  s را به یک تاپل تبدیل می کند tuple(s)
  s را به یک لیست تبدیل می کند list(s)
  s را به یک مجموعه تبدیل می کند set(s)
  s را به یک frozen set  تبدیل می کند frozenset(s)
 آرگومان ورودی خود را به صورت یک رشته نمایش می دهد. repr(x)

در این مقاله آموختید که چگونه پایتون به دو روش ضمنی و صریح تبدیل نوع را انجام می دهد. در مقالات بعدی آموزش زبان برنامه نویسی پایتون با ما همراه باشید.

مقاله بعدی: ساختار داده ای رشته در زبان برنامه نویسی پایتون

ترجمه: رقیه آقایاری

این محتوا اختصاصاً برای یاد بگیر دات کام تهیه شده است استفاده از آن با ذکر منبع همراه با لینک آن و نام نویسنده یا مترجم مجاز است
برچسب ها:



 

در یاد بگیر دات کام مشترک شوید و آخرین مطالب را در ایمیل خود دریافت نمایید

نظر شما چیست؟

پرسش های خود را در بخش پرسش و پاسخ مطرح کنید

محدودیت زمانی مجاز به پایان رسید. لطفا کد امنیتی را دوباره تکمیل کنید.




بستن تبلیغات

تبلیغات اینترنتی در یاد بگیر دات کام



صفحه ما را در فیس بوک دنبال کنید صفحه ما را در توییتر دنبال کنید صفحه ما را در  اینستاگرام دنبال کنید صفحه ما را در لینکداین دنبال کنید