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

4 سال پیش
تبدیل نوع در برنامه نویسی پایتون

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

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، با نحوه تبدیل نوع در برنامه نویسی پایتون (Type Conversion) و کاربردهای تبدیل نوع آشنا خواهید شد.

پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون و جنگو

 

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

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

  1. تبدیل نوع ضمنی
  2. تبدیل نوع صریح

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

در تبدیل نوع ضمنی پایتون به طور خودکار یک نوع داده را به نوع داده دیگر تبدیل می کند. این فرآیند نیازی به دخالت کاربر ندارد.

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

 

مثال ۱: تبدیل عدد صحیح به ممیز شناور

num_int = 123
num_flo = 1.23

num_new = num_int + num_flo

print("datatype of num_int:",type(num_int))
print("datatype of num_flo:",type(num_flo))

print("Value of num_new:",num_new)
print("datatype of num_new:",type(num_new))

 

خروجی کد به شکل زیر می باشد:

datatype of num_int: <class 'int'>
datatype of num_flo: <class 'float'>

Value of num_new: 124.23
datatype of num_new: <class 'float'>

 

در مثال بالا موارد زیر را مشاهده می کنیم؛

  • ما دو متغیر num_int و num_flo اضافه می کنیم ، مقدار را در num_new ذخیره می کنیم.
  • به ترتیب نوع داده هر سه شی را بررسی خواهیم کرد.
  • در خروجی مشاهده می کنیم که نوع داده num_int یک عدد صحیح است در حالی که نوع داده num_flo ممیز شناور است.
  • همچنین، می توانیم ببینیم که num_new نوع داده ممیز شناور دارد زیرا پایتون همیشه انواع داده های کوچکتر را به انواع داده های بزرگتر تبدیل می کند تا از دست رفتن داده ها جلوگیری کند.

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

 

مثال ۲: افزودن نوع داده رشته ای و نوع داده صحیح

num_int = 123
num_str = "456"

print("Data type of num_int:",type(num_int))
print("Data type of num_str:",type(num_str))

print(num_int+num_str)

 

خروجی کد به شکل زیر می باشد:

Data type of num_int: <class 'int'> 
Data type of num_str: <class 'str'> 

Traceback (most recent call last): 
  File "python", line 7, in <module> 
TypeError: unsupported operand type(s) for +: 'int' and 'str'

 

در مثال بالا موارد زیر را مشاهده می کنیم؛

  • دو متغیر num_int و num_str اضافه می کنیم.
  • همانطور که از خروجی می بینیم ، TypeError را دریافت کردیم. پایتون در چنین شرایطی قادر به استفاده از تبدیل ضمنی نیست.
  • با این حال، پایتون برای این نوع موقعیت ها یک راه حل دارد که به عنوان تبدیل صریح شناخته می شود.

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

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

این نوع تبدیل typecasting نامیده می شود زیرا کاربر نوع داده شی ها را تغییر می دهد.

نحو :

<required_datatype>(expression)

 

با اختصاص تابع نوع داده مورد نیاز به عبارت، typecasting می تواند انجام شود.

 

مثال ۳: افزودن رشته و عدد صحیح با استفاده از تبدیل صریح در پایتون

num_int = 123
num_str = "456"

print("Data type of num_int:",type(num_int))
print("Data type of num_str before Type Casting:",type(num_str))

num_str = int(num_str)
print("Data type of num_str after Type Casting:",type(num_str))

num_sum = num_int + num_str

print("Sum of num_int and num_str:",num_sum)
print("Data type of the sum:",type(num_sum))

 

خروجی کد به شکل زیر می باشد:

Data type of num_int: <class 'int'>
Data type of num_str before Type Casting: <class 'str'>

Data type of num_str after Type Casting: <class 'int'>

Sum of num_int and num_str: 579
Data type of the sum: <class 'int'>

 

در مثال بالا موارد زیر را مشاهده می کنیم؛

  • متغیر num_str و num_int را اضافه می کنیم.
  • num_str، با استفاده از تابع num_str، از رشته (بالاتر) به نوع صحیح (پایین) با استفاده از تابع int () تبدیل کردیم.
  • پس از تبدیل num_str به مقدار عدد صحیح، پایتون قادر است این دو متغیر را اضافه کند.
  • مقدار num_sum و نوع داده را یک عدد صحیح بدست آوردیم.

نکات کلیدی برای یادآوری

تبدیل نوع، تبدیل شی از یک نوع داده به نوع داده دیگر است.
تبدیل نوع ضمنی به طور خودکار توسط مفسر پایتون انجام می شود.
پایتون با تبدیل نوع ضمنی از دست دادن داده ها جلوگیری می کند.
تبدیل نوع صریح، که typecasting نیز نامیده می شود، انواع داده اشیا با استفاده از توابع از پیش تعریف شده توسط کاربر تبدیل می شوند.
در Type Casting، هنگامی که شی را به نوع خاصی از داده ها اعمال می کنیم، ممکن است از دست رفتن داده ها رخ دهد.

منبع.

لیست جلسات قبل آموزش برنامه نویسی پایتون

  1. آموزش نصب و اجرای برنامه نویسی پایتون
  2. کلیدواژه ها و شناسه های برنامه نویسی پایتون
  3. دستورات، تورفتگی ها و کامنت ها در برنامه نویسی پایتون
  4. متغیرها، ثابت ها و لیترال ها در برنامه نویسی پایتون 
  5. انواع داده ها در برنامه نویسی پایتون

 

0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه