در این مقاله میخواهیم به بررسی تبدیل نوع داده در پایتون «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'
نتیجه گیری
تبدیل نوع داده در پایتون ابزاری قدرتمند و انعطافپذیر است که به توسعهدهندگان این امکان را میدهد تا دادهها را به شکلی که برای عملیات یا منطق مورد نظرشان مناسب است تغییر دهند. با استفاده از تبدیلهای ضمنی، پایتون بسیاری از وظایف را به صورت خودکار مدیریت میکند و کار را برای برنامهنویسان آسانتر میکند و تبدیلهای صریح به برنامهنویسان کنترل دقیقتری میدهد تا اطمینان حاصل کنند که دادهها دقیقاً به شکلی که انتظار دارند استفاده میشوند. در نهایت، آگاهی از چگونگی استفاده صحیح از این ابزارها، کلیدی برای نوشتن کدهای کارآمد، انعطافپذیر و قابل اطمینان است.