منو سایت

  • خانه
  • وبلاگ
  • آموزش تبدیل انواع داده در پایتون (تایپ داده)

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

 تاریخ انتشار :
/
  وبلاگ
آموزش تبدیل انواع داده در پایتون (تایپ داده)

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

پیش نیازها

برای اینکه بتوانید از این آموزش استفاده کنید و مراحل آن را به صورت گام به گام دنبال کنید، باید پایتون 3 و محیط برنامه نویسی را روی سیستم خود نصب کرده باشید.

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

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

1. در پایتون اعداد صحیح را به اعداد شناور تبدیل کنید

متد float() در پایتون اعداد صحیح را به Float تبدیل می کند. برای استفاده از این تابع، باید یک عدد صحیح در پرانتز اضافه کنید:

float(57)

در این مثال عدد 57 به 57.0 تبدیل می شود. در این روش می توانید از یک متغیر نیز استفاده کنید. به عنوان مثال، متغیر f را برابر با 57 تعریف می کنیم، سپس آن را به Float تبدیل می کنیم و در نهایت آن را چاپ می کنیم:

f = 57
print(float(f))

خروجی این کد به صورت زیر خواهد بود:

خارج شوید

57.0

بنابراین با استفاده از تابع float() می توانید عدد صحیح را به اعشاری (Float) تبدیل کنید.

پایتون چیست و چرا محبوب است؟ چرا باید کدنویسی را در پایتون یاد بگیریم؟ در مقاله زیر بخوانید.

پایتون چیست؟

2. اعداد Float را در پایتون به عدد صحیح تبدیل کنید

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

int(390.8)

در مثال بالا عدد 390.8 به عدد 390 تبدیل می شود. همچنین می توانید مستقیماً از این تابع برای متغیرها استفاده کنید. به عنوان مثال، فرض کنید می خواهیم مقدار متغیر b را برابر با 125.0 و متغیر c را برابر با 390.8 تعریف کنیم. کد زیر باعث می شود این متغیرها به مقدار صحیح تبدیل شوند:

b = 125.0
c = 390.8

print(int(b))
print(int(c))

خروجی این کدها به صورت زیر خواهد بود:

خارج شوید

125,390

نکته ای که باید به آن توجه داشت این است که پس از تبدیل یک مقدار اعشاری به یک عدد صحیح، گرد کردن انجام نمی شود. به عبارت دیگر، حتی اگر عدد Float شما برابر با 390.8 باشد، با قرار دادن آن عدد در تابع int() خروجی 390 خواهد بود نه 391.

3. اعداد به دست آمده از تقسیم را تبدیل کنید

در پایتون 3، بر خلاف پایتون 2، وقتی دو عدد صحیح را تقسیم می کنید، نتیجه یک عدد اعشاری خواهد بود. برای مثال وقتی عدد 5 را بر 2 تقسیم می کنید در پایتون 3 خروجی 2.5 بدست می آید اما در پایتون 2 به دلیل تقسیم دو عدد صحیح خروجی یک عدد int خواهد بود. بنابراین، در پایتون 2، عدد 2 را به عنوان خروجی دقیقاً برای این تقسیم دریافت خواهید کرد:

a = 5 / 2
print(a)

خارج شوید

2.5

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

یکی از انواع متداول انواع داده در تمامی زبان های برنامه نویسی رشته است. هر رشته دنباله ای از یک یا چند کاراکتر است که می تواند حروف، اعداد یا کاراکترهای خاص باشد. در بیشتر مواقع، به خصوص زمانی که داده ها را مستقیماً از کاربر دریافت می کنید، باید یک رشته را به عدد یا یک عدد را به رشته تبدیل کنید.

1. یک عدد را در پایتون به رشته تبدیل کنید

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

بیایید با یک عدد صحیح شروع کنیم. به عنوان مثال، برای تبدیل یک عدد صحیح 12 به یک رشته، می توانید آن عدد را به متد str() منتقل کنید. نحوه انجام این کار به شرح زیر است:

str(12)

خروجی این کد به صورت زیر خواهد بود:

خارج شوید

’12’

گیومه های قرار داده شده در دو طرف 12 نشان می دهد که 12 دیگر یک عدد نیست و به یک رشته تبدیل می شود.

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

user = "Sammy"
lines = 50

print("Congratulations, " + user + "! You just wrote " + lines + " lines of code.")

این مثال فرض می کند که برنامه نویس شما Sammy نام دارد و او 50 خط کد را در یک روز کاری نوشته است. اما خروجی پیغام خطای زیر به صورت زیر خواهد بود:

خارج شوید

TypeError: فقط می تواند str (نه “int”) را به str متصل کند

دلیل این پیام خطا این است که شما نمی توانید رشته ها و اعداد صحیح را به هم متصل کنید. بنابراین، تنها راه تبدیل عدد 50 به یک رشته است:

user = "Sammy"
lines = 50

print("Congratulations, " + user + "! You just wrote " + str(lines) + " lines of code.")

حالا با اجرای کد بالا خروجی به صورت زیر خواهد بود:

Congratulations, Sammy! You just wrote 50 lines of code.

تبدیل اعداد Float به رشته به روشی مشابه انجام می شود. به عبارت دیگر، با قرار دادن یک عدد اعشاری یا یک متغیر حاوی عدد اعشاری در داخل براکت های متد str() عدد به یک رشته تبدیل می شود:

print(str(421.034))

f = 5524.53
print(str(f))

خروجی این کد به صورت زیر است:

421.034
5524.53

می توانید خروجی را با یک رشته به هم متصل کنید تا بررسی کنید که آیا عدد اعشاری به رشته تبدیل شده است یا خیر:

f = 5524.53
print("Sammy has " + str(f) + " points.")
Sammy has 5524.53 points.

همانطور که می بینید خروجی بدون خطا تولید می شود و عدد اعشاری به درستی به رشته تبدیل می شود.

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

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

2. یک رشته را در پایتون به عدد تبدیل کنید

رشته ها همچنین می توانند به اعداد صحیح (int) یا اعشاری (float) تبدیل شوند. اگر شماره رشته شما تعریف نشده است، ممکن است بخواهید آن را به یک عدد int تبدیل کنید. این کار را می توان با استفاده از متد int() انجام داد.

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

lines_yesterday = "50"
lines_today = "108"

lines_more = lines_today - lines_yesterday

print(lines_more)

اما پس از اجرای این کد با پیغام خطا مواجه می شوید:

خارج شوید

TypeError: نوع(های) عملوند پشتیبانی نشده برای -: ‘str’ و ‘str’

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

lines_yesterday = "50"
lines_today = "108"

lines_more = int(lines_today) - int(lines_yesterday)

print(lines_more)

در این حالت خروجی کد به صورت زیر نمایش داده می شود:

58

در این مثال، lines_more متغیری است که یک عدد صحیح در خود دارد و مقدار این متغیر برابر با 58 است. علاوه بر این، می‌توانید رشته‌های حاوی اعداد را به جای اعداد صحیح با استفاده از متد float() به اعداد اعشاری تبدیل کنید. اگر این کار را برای مثال بالا انجام دهیم، به جای خروجی 58، عدد 58.0 را به عنوان خروجی دریافت می کنیم:

total_points = "5524.53"
new_points = "45.30"

new_total_points = total_points + new_points

print(new_total_points)

خارج شوید

5524.5345.30

نکته جالب این است که امکان استفاده از عملگر + برای رشته ها نیز وجود دارد. اما در این صورت دو عدد با هم جمع نمی شوند. بلکه عملگر + باعث می شود که دو رشته عددی به هم متصل شوند. با این حال، اگر رشته عددی با استفاده از روش float() به عدد اعشاری تبدیل شود، استفاده از عملگر + باعث جمع شدن دو عدد با هم می شود:

total_points = "5524.53"
new_points = "45.30"

new_total_points = float(total_points) + float(new_points)

print(new_total_points)

خارج شوید

5569.83

نکته دیگری که باید به خاطر داشته باشید این است که امکان تبدیل اعداد شناور به int وجود ندارد. به عبارت دیگر، اگر این کد را تایپ کنید، با پیغام خطا مواجه خواهید شد:

f = "54.23"
print(int(f))

خارج شوید

ValueError: لفظ واقعی برای int() با پایه 10: ‘54.23’

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

برای آموزش ساخت یک برنامه ساده در پایتون 3 و اجرای آن، مقاله زیر را مطالعه کنید.

آموزش ساخت یک برنامه ساده در پایتون

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

با استفاده از متدهای list() و tuple() می توانید از داده های ارسالی به عنوان List و Tuple استفاده کنید. تفاوت بین متغیرهای List و Tuple در پایتون به شرح زیر است:

  • متغیر List یک دنباله مرتب و قابل تغییر از عناصر است که در داخل پرانتز یا قرار گرفته اند [ ] قرار داده شده.
  • متغیر تاپلی مجموعه‌ای از عناصر متوالی به هم پیوسته و غیرقابل تغییر است که در داخل پرانتز قرار گرفته‌اند ().

1. در پایتون به تاپل تبدیل کنید

گاهی اوقات ممکن است بخواهید یک لیست را به یک تاپل تبدیل کنید و بالعکس. بیایید با تبدیل یک لیست به یک تاپل شروع کنیم. با توجه به اینکه این یک نوع داده تغییرناپذیر ایجاد می کند، این می تواند منجر به بهینه سازی قابل توجهی در کد پایتون شود.

همچنین، به یاد داشته باشید که وقتی از متد ()tuple استفاده می‌کنید، نسخه‌ساز tuple مقدار ارسال شده به متد را برمی‌گرداند:

print(tuple(['pull request', 'open source', 'repository', 'branch']))

خارج شوید

(“درخواست کشش”، “منبع باز”، “مخزن”، “شعبه”)

با توجه به اینکه خروجی کد نوشته شده داخل پرانتز نشان داده شده است، مشخص است که نوع داده تاپلی است. همچنین می توان از این روش برای متغیرهایی که فهرستی در داخل آنها وجود دارد استفاده کرد:

sea_creatures = ['shark', 'cuttlefish', 'squid', 'mantis shrimp']
print(tuple(sea_creatures))

خارج شوید

(“کوسه”، “گوشت ماهی”، “ماهی مرکب”، “میگوی مانتیس”)

همانطور که مشاهده می کنید در این مثال با توجه به اینکه خروجی داخل پرانتز نشان داده شده است، نتیجه می گیریم که نوع داده متغیر به یک تاپلی تغییر یافته است. همچنین می توانید هر نوع تکرار شونده مانند رشته ها را به تاپل تبدیل کنید:

print(tuple('Sammy'))

خارج شوید

(‘S’، ‘a’، ‘m’، ‘m’، ‘y’)

لازم به ذکر است که نوشتن این کد برای انواع داده های غیر تکراری مانند اعداد (اعم از عدد صحیح یا اعشاری) با پیغام خطا مواجه می شود:

print(tuple(5000))

خارج شوید

TypeError: شیء ‘int’ قابل تکرار نیست

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

print(str(tuple(5000)))

2. تبدیل به لیست در پایتون

تبدیل یک تاپل به یک لیست مخصوصاً زمانی مفید است که می خواهید نسخه قابل تغییری از مقادیر داشته باشید. برای این منظور می توانید از متد list() استفاده کنید. از آنجایی که امکان استفاده از پرانتز در روش های نحوی لیست و چاپ وجود دارد، در نحوه استفاده از آنها بسیار مراقب باشید:

print(list(('blue coral', 'staghorn coral', 'pillar coral')))

خارج شوید

[‘blue coral’, ‘staghorn coral’, ‘pillar coral’]

پرانتز نشان می دهد که تاپل ارسال شده به متد لیست به لیست تبدیل شده است. برای خوانایی بهتر کد، می‌توانیم یکی از جفت‌های پرانتز را با استفاده از متغیر حذف کنیم:

coral = ('blue coral', 'staghorn coral', 'pillar coral')
list(coral)

حالا اگر لیست (مرجانی) را چاپ کنیم، همان خروجی بالا را می گیریم. درست مانند تاپل ها، رشته ها نیز می توانند به لیست تبدیل شوند:

print(list('shark'))

خارج شوید

[‘s’, ‘h’, ‘a’, ‘r’, ‘k’]

رشته ‘کوسه’ اکنون به یک لیست تبدیل شده است، بنابراین یک نسخه قابل تغییر از مقدار اصلی آن ارائه می شود.

برای اطلاع از راهنمای کامل نصب پایتون در ویندوز، لینوکس و مک، مقاله زیر را مطالعه کنید.

آموزش نصب پایتون

نتیجه

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

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

1. تفاوت بین نوع داده int و Float چیست؟

این نوع داده ها به اعداد اختصاص داده می شوند، با این تفاوت که اعداد int نشان دهنده اعداد صحیح و شناورها نشان دهنده اعداد اعشاری هستند.

2. آیا می توان یک عدد را به رشته تبدیل کرد؟

بله، با استفاده از متد str() در زبان برنامه نویسی پایتون می توانید یک مقدار عددی را به رشته تبدیل کنید.

3. استفاده از متد float() در پایتون 3 چیست؟

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