• ارسال کننده: سمیه مظفری
  • تاریخ انتشار: ۱۳۹۸ / ۰۲ / ۰۷

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

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

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

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

در تبدیل نوع ضمنی، خود پایتون به طور خودکار یک نوع داده را به نوع داده دیگر تبدیل می کند و نیازی به دخالت کاربر نیست. پایتون در تبدیل نوع ضمنی برای جلوگیری از، از دست رفتن اطلاعات، نوع داده کوچک تر را به نوع داده بزرگ تر تبدیل می کند. به مثال زیر توجه کنید. در این برنامه قرار است یک عدد صحیح (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)

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

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

به این مطلب رای دهید



 

به اشتراک بگذارید :       فیس بوک کلوب

 

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

 

در یاد بگیر دات کام مشترک شوید و آخرین مطالب و مقالات را در ایمیل خود دریافت نمایید
برای عضویت، ایمیل خود را وارد کرده و بروی اشتراک کلیک کنید

نظر شما چیست؟

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

*

code



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

بسته های تبلیغاتی ارزان قیمت

 
بستن تبلیغات

Useful Websites Directory

طراحی سایت
تور کوش آداسی
وقت سفارت انگلیس
ویزای تحصیلی کانادا
چاقی صورت



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