تبدیل نوع داده – آموزش پایتون
با سلام خدمت کاربران گرامی گروه فنی مهندسی زرین هور.در این مطلب می خواهیم به تبدیل دادن نوع داده ها در پایتون بپردازیم.
مقدمه:
در آموزش های قبلی با متغیر ها آشنا شدیم. در هر متغیر یک داده ذخیره میشود و هر کدام نوعی دارند.در پایتون امکانی وجود دارد که نوع آنهارا به یکدیگر تغییر دهیم اصطلاحاً به آن Type Casting گفته می شود.
اول برای فهمدین کاربرد این کار به مثال زیر توجه کنید.
number = 10;
print(number);
در کد بالا شما شاید برنامه ها درست عمل کند اما در برنامه های پیشرفته تر این کد ارور خواهید داشت.
دلیل بر این است که شما نمی توانید متغیر number که از جنس int است را چاپ کنید شما فقط می توانید رشته را چاپ کنید.
خب در اینجا ما باید number را به رشته تغییر دهیم.
یعنی کد به شکل زیر میشود:
number=10;
print(str(number));
در کد بالا ما متغیر number که از نوع int هستش رو به نوع str که به معنی رشته می باشد تغییر داده ایم.
خب حال مثال دیگری برای تغییر نوع داده اینبار از str به int
مثال دوم:
فرض کنید ما می خواهیم دو عدد از کاربر بگیریم و آن دو را با هم جمع کنیم سپس حاصل را در خروجی چاپ کنیم.
اگر ما تغییر نوع داده را انجام ندهیم کد به صورت زیر می باشد:
a = input("Enter the first number: ");
b = input("Enter the secend number: ");
c = a + b;
print(a + " + " + b + " = " + c);
ما در کد اول عددی را از کاربر میگیریم سپس عدد دوم را میگیرم و آن ها را در هم جمع میکنیم.
اما ما چون اعداد را به صورت رشته گرفته ایم اگر a را ۲ و b را ۳ در نظر بگریم خروجی ۲۳ خواهد بود یعنی در واقع رشته ها در کنار هم گذاشته شده اند.
اگر ما بخواهیم اعداد با هم جمع شوند باید اول اعدادی که از کاربر میگیریم را به int تغییر بدیم و سپس ان ها را با هم جمع کنیم.
برای اینکار کافی است به شکل زیر عمل کنیم:
فرض کنیم a را می خواهیم به int تغییر بدهیم.
int(a);
در کد بالا ما a را به int تغییر داده ایم.
اگر بخواهیم برنامه ی جمع دو عدد را به صورت صحیح بنویسیم کد ها به صورت زیر می باشد.
a = input("Enter the first number: ");
b = input("Enter the secend number: ");
c = int(a) + int(b);
print(a + " + " + b + " = " + str(c));
در کد بالا اول a را از کاربر میگیریم سپس b را از کاربر دریافت میکنیم.
سپس c را مساوی a که تبدیل به int شده است به علاوه ی b که به int تبدیل شده است قرار میدهیم.
پس از آن هم همان a که رشته بوده است را در کنار b که به صورت رشته از کاربر دریافت شده است را چاپ میکنیم به اضافه c که مجموع a و b است را به رشته تغییر می دهیم و چاپ میکنیم.
تابع float
این تابع ورودی x را تبدیل به نوع float می کند:
>>> float(2)
2.0
>>> float("2.56")
2.56
>>> float("2.56e6")
2560000.0
تابع eval
این تابع رشته ورودی را پردازش و اجرا می کند. مثال زیر رشته به صورت ۲ + ۲ به متد eval ارسال شده و نتیجه ۴ که حاصل خروجی اجرای رشته است برگردانده می شود:
>>> eval("2 + 2")
4
یا مثال زیر:
>>> eval("'2' + str(5)")
'25'
در حقیقت شما می توانید به عنوان ورودی، یک عبارت مبتنی بر دستورات python را به متد eval ارسال کنید.
تابع tuple
بوسیله این تابع می توانید یک رشته، یک لیست یا یک set از آیتم های مختلف را به یک tuple تبدیل کنید:
>>> tuple({2,4,6,1,3})
(1, 2, 3, 4, 6)
>>> tuple({2,6,8,1,3,4})
(1, 2, 3, 4, 6, 8)
>>> tuple([2,7,5,2,1,2])
(2, 7, 5, 2, 1, 2)
>>> tuple("2,3,4,5")
('2', ',', '3', ',', '4', ',', '5')
>>> tuple("3123567")
('3', '1', '2', '3', '5', '6', '7')
تابع list
دقیقاً مشابه tuple عمل کرده، اما خروجی آن یک list است:
>>> list((2,4,6,8,1))
[2, 4, 6, 8, 1]
>>> list("123456789")
['1', '2', '3', '4', '5', '6', '7', '8', '9']
>>> list({2,1,6,8})
[8, 1, 2, 6]
توابع chr و ord
بوسیله توابع chr و ord می توان یک رشته را به کد اسکی یا بالعکس تبدیل کرد:
>>> ord('a')
97
>>> chr(64)
'@'
به پایان این قسمت رسیدیم امیدوارم لذت برده باشید و موفق به تبدیل نوع داده ها در پایتون را فرا گرفته باشید.