پایتونمقدماتی۶ دقیقه مطالعهPython 3.12+

انواع داده

در این درس چهار نوع پایه int و float و str و bool را می‌شناسید، با تابع type نوع هر مقدار را می‌بینید و بین انواع تبدیل انجام می‌دهید.

آنچه در این درس می‌آموزید

  • چهار نوع داده پایه پایتون را از هم تشخیص دهید
  • با تابع type نوع هر مقدار را ببینید
  • بین انواع با int و float و str تبدیل انجام دهید
نویسنده: تیم داکنامه · بازبینی: ۲۰۲۶-۱۰-۳۰
فهرست مطالب
پیش‌نیاز: متغیرها

هر مقداری که در برنامه دارید یک نوع (Type) دارد؛ نوع تعیین می‌کند با آن مقدار چه عمل‌هایی معنا دارد. مثلاً ضرب برای عدد روشن است، اما «ضرب دو متن» یعنی چه؟ پایتون نوع را خودش از روی مقدار تشخیص می‌دهد و لازم نیست چیزی اعلام کنید، ولی باید بدانید زیر دستتان چه دارید.

چهار نوع پایه

چهار نوعی که بیشتر برنامه‌های مبتدی با آن‌ها نوشته می‌شود این‌ها هستند. تابع type نوع هر مقدار را نشان می‌دهد:

python
print(type(25))
print(type(3.14))
print(type("hello"))
print(type(True))
خروجی کد

<class 'int'> <class 'float'> <class 'str'> <class 'bool'>

  • عدد صحیح (int) — اعداد بدون اعشار مثل 25 و -7. نکته جذاب این‌که در پایتون اندازه‌ای برای int ندارید؛ می‌توانید ۲ به توان ۱۰۰ را بدون از دست رفتن رقم نگه دارید.
  • عدد اعشاری (float) — اعداد با نقطه اعشار مثل 3.14 و -0.5. در حافظه با دقت محدود ذخیره می‌شوند و همین یک بحث مهم دارد که پایین‌تر می‌بینیم.
  • رشته (str) — قطعه متن داخل گیومه، از یک حرف تا یک کتاب.
  • درست/غلط (bool) — فقط دو مقدار: True و False. دقت کنید با حرف بزرگ؛ true کوچک در پایتون تعریف نشده است.

نکته‌ای که در درس اول دیدید را حالا دقیق بفهمید: 25 عدد است ولی "25" رشته. برای پایتون این دو هیچ شباهتی جز شکل ظاهری ندارند.

دقت اعشار؛ چرا 0.1 + 0.2 مساوی 0.3 نیست؟

python
print(0.1 + 0.2)
خروجی کد

0.30000000000000004

خطا نکرده‌ایم! اعداد اعشاری در حافظه به صورت دودویی ذخیره می‌شوند و بسیاری از کسرهای اعشاری در دودویی «گنگ» می‌مانند؛ مثل یک‌سوم در مبنای ده که با ۰٫۳۳۳... نوشته می‌شود و هرگز دقیق تمام نمی‌شود. پایتون هم مثل تقریباً همه زبان‌ها از استاندارد IEEE 754 استفاده می‌کند و این رفتار مال آن استاندارد است، نه باگ پایتون.

تبدیل نوع

گاهی مقدار به نوع دیگری نیاز دارد: عددی که در یک رشته آمده را باید قبل از جمع کردن به int تبدیل کنید. توابع int و float و str همین کار را می‌کنند:

convert.py
age_text = "25"
age = int(age_text)
print(age + 1)
print(int("42") + int("8"))
print(float("3.5") * 2)
print(str(7) + " days")
خروجی کد

26 50 7.0 7 days

سطر به سطر: رشته "25" به عدد تبدیل شد تا جمع معنا پیدا کند؛ دو رشته عددی جمع شدند؛ رشته "3.5" به float تبدیل و ضرب شد؛ و در سطر آخر برعکس، عدد ۷ با str به رشته تبدیل شد تا به متن بچسبد. بدون آن str، پایتون برای 7 + " روز" خطا می‌داد.

مقایسه‌ها هم مقدار می‌سازند

نوع bool شاید ساده به نظر برسد، ولی ستون تصمیم‌گیری در درس شرط‌هاست. نتیجه هر مقایسه یک bool است:

python
print(10 > 3)
print(type(10 > 3))
خروجی کد

True <class 'bool'>

یعنی «بزرگ‌تر بودن» یک عمل است که خروجی دارد؛ می‌توانید نتیجه‌اش را در یک متغیر ذخیره کنید و بعداً با آن تصمیم بگیرید.

تمرین‌ها

تمرین

تمرین ۱ — جمع دو رشته عددی

دو مقدار رشته‌ای "19" و "5.5" دارید. بدون دست بردن به خود رشته‌ها، جمع واقعی عددی آن‌ها را حساب و چاپ کنید.

python
# Write your code here
نمایش راه‌حل
python
a = int("19")
b = float("5.5")
print(a + b)
خروجی کد

24.5

::: :::

خلاصه

  • چهار نوع پایه: int برای اعداد صحیح، float برای اعشاری، str برای متن و bool برای True/False.
  • 25 و "25" دو دنیای متفاوت‌اند: عدد و رشته.
  • اعداد float در حافظه دقت محدود دارند؛ 0.1 + 0.2 دقیقاً 0.3 نمی‌شود.
  • با int و float و str بین انواع تبدیل انجام می‌دهید.
  • int(3.9) گرد نمی‌کند و فقط بخش صحیح را می‌آورد؛ int("3.5") هم خطا می‌دهد.

حالا که انواع را می‌شناسید، وقت آن است که ابزار کار روی آن‌ها را ببینید: در درس بعدی با عملگرهای حسابی، مقایسه‌ای و منطقی پایتون کار می‌کنیم.

منابع و ارجاع‌ها

درس‌های مرتبط