تبدیل نوع داده در پایتون — آموزش گام به گام

عکس شاخص تبدیل نوع داده در پایتون

در این مقاله می‌خواهیم به بررسی تبدیل نوع داده در پایتون «Data type conversion in Python» بپردازیم. تبدیل نوع داده یکی از مفاهیم مهم در برنامه‌نویسی است که به ما امکان می‌دهد نوع داده‌ی یک متغیر را به نوع دیگری تغییر دهیم. این فرایند معمولاً زمانی انجام می‌شود که لازم باشد انواع داده‌های مختلف در عملیات محاسباتی، مقایسه‌ای یا دیگر پردازش‌های برنامه سازگار شوند. تبدیل نوع داده در پایتون می‌تواند به‌صورت خودکار (تبدیل ضمنی) یا به‌صورت دستی (تبدیل صریح) انجام شود. در ادامه، انواع روش‌های تبدیل نوع داده در پایتون را بررسی کرده و با مثال‌های عملی نحوه‌ی استفاده از آن‌ها را توضیح خواهیم داد.

مقدمه

فهم و استفاده‌ی درست از تبدیل نوع داده در پایتون هنگام نوشتن کدهای قابل‌اطمینان و کاربردی امری ضروری است. این موضوع به برنامه‌نویس کمک می‌کند تا بتواند از انواع داده‌ها به بهترین شکل ممکن در شرایط مختلف استفاده کند و از بروز خطاهای ناشی از ناسازگاری نوع داده جلوگیری نماید. زمانی که داده‌ها از نوع مناسب برای انجام عملیات موردنظر برخوردار باشند، برنامه‌ها با دقت و کارایی بیشتری اجرا می‌شوند. همچنین، آگاهی از روش‌های صحیح تبدیل نوع داده باعث بهبود خوانایی و نگهداری کد خواهد شد. در ادامه‌ی این مقاله، انواع تبدیل نوع داده در پایتون را بررسی کرده و با ارائه‌ی مثال‌های عملی، نحوه‌ی استفاده از آن‌ها را تشریح خواهیم کرد.

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

تبدیل نوع داده در پایتون به دو روش انجام می‌شود که در ادامه هر یک را مورد بررسی قرار می‌دهیم:

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

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

در این روش، پایتون به‌صورت خودکار نوع داده را بدون نیاز به دخالت برنامه‌نویس تغییر می‌دهد. این تبدیل معمولاً زمانی اتفاق می‌افتد که یک عملیات ریاضی یا منطقی بین دو نوع داده‌ی مختلف انجام شود و پایتون برای جلوگیری از ناسازگاری، نوع داده‌ی کوچک‌تر را به نوع بزرگ‌تر تبدیل کند.

# Python program to demonstrate 
# implicit type Casting 

# Python automatically converts 
# a to int 
a = 7
print(type(a)) 

# Python automatically converts 
# b to float 
b = 3.0
print(type(b)) 

# Python automatically converts 
# c to float as it is a float addition 
c = a + b 
print(c) 
print(type(c))

# Python automatically converts 
# d to float as it is a float multiplication
d = a * b
print(d)
print(type(d))

خروجی:

<class 'int'>
<class 'float'>
۱۰.۰
<class 'float'>
۲۱.۰
<class 'float'>

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

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

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

مثال‌هایی از تبدیل نوع داده در پایتون

تبدیل نوع داده با استفاده از توابع داده‌ای زیر انجام می‌شود:

  • ()Int: تابع ()Int پایتون، مقدار float یا string را به عنوان ورودی می‌گیرد و یک شیء از نوع int باز می‌گرداند.
  • ()float: تابع ()float پایتون، مقدار int یا string را به عنوان ورودی می‌گیرد و یک شیء از نوع float باز می‌گرداند.
  • ()str: تابع ()str پایتون، مقدار float یا int را به عنوان ورودی می‌گیرد و یک شیء از نوع string باز می‌گرداند.

تبدیل Int به Float در پایتون

از تابع ()float برای تبدیل عدد صحیح «int» به عدد اعشاری «float» در پایتون استفاده می‌کنیم. این تابع مقدار عدد صحیح را گرفته و آن را به یک مقدار اعشاری معادل تبدیل می‌کند. به‌عنوان مثال:

# Python program to demonstrate 
# type Casting 

# int variable
a = 5

# typecast to float
n = float(a)

print(n)
print(type(n))

خروجی:

۵.۰
<class 'float'>

تبدیل Float به Int در پایتون

از تابع ()int برای تبدیل نوع داده float به int در پایتون استفاده می‌کنیم. این تابع قسمت اعشاری عدد را حذف کرده و فقط بخش صحیح آن را برمی‌گرداند. به‌عنوان مثال:

# Python program to demonstrate 
# type Casting 

# int variable
a = 5.9

# typecast to int
n = int(a)

print(n)
print(type(n))

خروجی:

۵
<class 'int'>

تبدیل int به String در پایتون

از تابع ()str برای تبدیل نوع داده int به string در پایتون استفاده می‌کنیم. این تابع مقدار عدد صحیح را گرفته و آن را به یک رشته‌ی متنی تبدیل می‌کند. به‌عنوان مثال:

# Python program to demonstrate 
# type Casting 

# int variable
a = 5

# typecast to str
n = str(a)

print(n)
print(type(n))

خروجی:

۵
<class 'str'>

تبدیل String به Float در پایتون

از تابع ()float برای تبدیل نوع داده string به float در پایتون استفاده می‌کنیم. این تابع یک رشته‌ی عددی را دریافت کرده و آن را به مقدار اعشاری معادل تبدیل می‌کند. به‌عنوان مثال:

# Python program to demonstrate 
# type Casting 

# string variable
a = "5.9"

# typecast to float
n = float(a)

print(n)
print(type(n))

خروجی:

۵.۹
<class 'float'>

تبدیل String به Int در پایتون

از تابع ()int برای تبدیل نوع داده string به int در پایتون استفاده می‌کنیم. این تابع یک رشته‌ی عددی را دریافت کرده و آن را به مقدار صحیح معادل تبدیل می‌کند. اگر رشته‌ی ورودی شامل کاراکترهای غیرعددی باشد، برنامه با خطا مواجه خواهد شد. به‌عنوان مثال:

# string variable
a = "5"
b = 't'

# typecast to int
n = int(a)

print(n)
print(type(n))

print(int(b))
print(type(b))

خروجی:

۵.۹
<class 'float'>

برای جمع کردن یک رشته «string» و یک عدد صحیح «integer» در پایتون، باید ابتدا عدد صحیح را به رشته تبدیل کنیم یا بالعکس، رشته را به عدد تبدیل کنیم. زیرا پایتون به طور مستقیم اجازه نمی‌دهد که یک عدد صحیح و رشته را به طور مستقیم با هم جمع کنیم. در اینجا یک مثال از تبدیل صریح و جمع کردن رشته و عدد صحیح آورده شده است:

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

# integer variable
a = 5
# string variable
b = 't'

# typecast to int
n = a+b

print(n)
print(type(n))

خروجی:

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

نتیجه گیری

تبدیل نوع داده در پایتون ابزاری قدرتمند و انعطاف‌پذیر است که به توسعه‌دهندگان این امکان را می‌دهد تا داده‌ها را به شکلی که برای عملیات یا منطق مورد نظرشان مناسب است تغییر دهند. با استفاده از تبدیل‌های ضمنی، پایتون بسیاری از وظایف را به صورت خودکار مدیریت می‌کند و کار را برای برنامه‌نویسان آسان‌تر می‌کند و تبدیل‌های صریح به برنامه‌نویسان کنترل دقیق‌تری می‌دهد تا اطمینان حاصل کنند که داده‌ها دقیقاً به شکلی که انتظار دارند استفاده می‌شوند. در نهایت، آگاهی از چگونگی استفاده صحیح از این ابزارها، کلیدی برای نوشتن کدهای کارآمد، انعطاف‌پذیر و قابل اطمینان است.


سوالات متداول


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

این نوع تبدیل (Implicit Type Casting) زمانی اتفاق می‌افتد که پایتون به طور خودکار یک نوع داده را به نوع دیگری تغییر می‌دهد بدون اینکه برنامه‌نویس به طور صریح دستوری بدهد. این معمولاً در عملیات‌هایی که شامل انواع داده ترکیبی است رخ می‌دهد، جایی که ارتقای یک نوع داده به دیگری از دست دادن داده را جلوگیری می‌کند.

تبدیل نوع داده صریح در پایتون چیست؟

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

تفاوت بین توابع صریح و ضمنی در پایتون چیست؟

اصطلاحات توابع صریح و توابع ضمنی اصطلاحات استانداردی در پایتون نیستند. با این حال، ممکن است بر اساس نحوه فراخوانی یا استفاده از توابع به این شکل تعریف شوند: توابع صریح: توابعی که مستقیماً با نامشان فراخوانی می‌شوند. توابع ضمنی: توابعی که در نتیجه عملیات دیگر فعال می‌شوند، مانند سازنده‌ها یا مخرب‌ها در کلاس‌ها، یا متدهای خاصی مانند ()__len__ که پایتون در پاسخ به استفاده از تابع داخلی ()lenآن‌ها را فراخوانی می‌کند.

تفاوت بین صریح و ضمنی در TypeScript چیست؟

در TypeScript، زبانی که انواع ایستا را به جاوااسکریپت اضافه می‌کند، صریح و ضمنی به نوع‌گذاری متغیرها اشاره دارند: نوع‌گذاری صریح (Explicit Typing): نوع متغیر به‌طور صریح اعلام می‌شود. نوع‌گذاری ضمنی (Type Inference): TypeScript نوع را بر اساس مقدار اختصاص داده‌شده استنباط می‌کند و بدون از دست دادن ایمنی نوع، از اضافه‌گویی جلوگیری می‌کند.

تفاوت بین Type Casting و Type Conversion چیست؟

Type Casting و Type Conversion اصطلاحاتی هستند که معمولاً به تغییر نوع داده از یک نوع به نوع دیگر اشاره دارند. با این حال، تفاوت‌هایی نیز وجود دارد: Type Conversion (تبدیل نوع داده): یک اصطلاح کلی‌تر است که هم تغییرات ضمنی (Implicit) و هم تغییرات صریح (Explicit) را شامل می‌شود. Type Casting (تغییر نوع داده): اغلب به تغییرات صریح اشاره دارد، جایی که تبدیل به وضوح در کد مشخص شده است.

تفاوت بین Explicit Casting و Implicit Casting چیست؟

Implicit Casting (تغییر نوع داده ضمنی): این نوع تبدیل زمانی اتفاق می‌افتد که زبان برنامه‌نویسی به صورت خودکار یک نوع داده را به نوع دیگری تغییر می‌دهد تا یک عملیات انجام شود. این کار توسط کامپایلر یا مفسر بدون هیچ دستوری در کد انجام می‌شود و معمولاً برای کاربر قابل مشاهده نیست. Explicit Casting (تغییر نوع داده صریح): این نوع تبدیل نیازمند این است که برنامه‌نویس کدی بنویسد که به کامپایلر یا مفسر دستور دهد تا یک تبدیل خاص انجام شود. این تغییر در کد منبع قابل مشاهده است و عمداً توسط برنامه‌نویس انجام می‌شود.

میزان رضایتمندی
لطفاً میزان رضایت خودتان را از این مطلب با دادن امتیاز اعلام کنید.
[ امتیاز میانگین 0 از 0 نفر ]
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع و مراجع:
geeksforgeeks مجله پی استور tutorialspoint

دیدگاه‌ خود را بنویسید

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



برچسب‌ها:
پایتون


پیمایش به بالا