آموزش پایتون, پایتون مقدماتی

انواع داده در پایتون؛ متن، عدد و مقدار بولی

انواع داده در پایتون؛ str، int، float و bool

🗓 آخرین به‌روزرسانی:

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

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

نوع داده در پایتون چیست؟

نوع داده مشخص می‌کند یک مقدار چیست و چه عملیاتی می‌توان روی آن انجام داد. برای مثال، پایتون می‌تواند دو عدد را با هم جمع کند؛ اما جمع مستقیم یک عدد و یک متن معمولاً معتبر نیست.

age = 30
name = "مهران"
is_active = True

در این مثال:

  • 30 یک عدد صحیح است.
  • "مهران" یک متن یا رشته است.
  • True یک مقدار بولی است.

در این درس چهار نوع پایه و بسیار پرکاربرد را بررسی می‌کنیم:

  • str برای متن
  • int برای عدد صحیح
  • float برای عدد اعشاری
  • bool برای مقدار درست یا نادرست

تشخیص نوع داده با تابع type

تابع داخلی type() نوع یک مقدار یا متغیر را مشخص می‌کند:

name = "سارا"
age = 24
height = 1.68
is_student = True

print(type(name))
print(type(age))
print(type(height))
print(type(is_student))

خروجی:

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

عبارت class در خروجی به این معناست که هر مقدار در پایتون به یک نوع یا کلاس مشخص تعلق دارد.

نوع داده str؛ متن در پایتون

نوع str که کوتاه‌شده واژه string است، برای ذخیره متن استفاده می‌شود. متن باید میان علامت نقل‌قول تکی یا دوتایی قرار بگیرد:

first_name = "مهران"
city = 'استانبول'
message = "در حال یادگیری پایتون هستم"

اعداد نیز اگر داخل نقل‌قول قرار بگیرند، متن محسوب می‌شوند:

number_as_text = "25"
print(type(number_as_text))

خروجی:

<class 'str'>

چسباندن متن‌ها به یکدیگر

می‌توان دو رشته را با عملگر + به هم متصل کرد:

first_name = "علی"
last_name = "رضایی"
full_name = first_name + " " + last_name

print(full_name)

خروجی:

علی رضایی

این عملیات «الحاق رشته‌ها» نام دارد. در اینجا علامت + عملیات ریاضی انجام نمی‌دهد، بلکه متن‌ها را به هم می‌چسباند.

تکرار متن

با ضرب یک رشته در عدد صحیح می‌توان آن را چند بار تکرار کرد:

print("Python " * 3)

خروجی:

Python Python Python

محاسبه طول متن با len

تابع len() تعداد نویسه‌های یک رشته را برمی‌گرداند:

course = "Python"
print(len(course))

خروجی:

6

فاصله‌ها نیز جزو نویسه‌های متن محاسبه می‌شوند.

نوع داده int؛ عدد صحیح

نوع int برای اعداد صحیح مثبت، منفی و صفر استفاده می‌شود:

age = 30
score = 18
temperature = -4
zero = 0

عدد صحیح بخش اعشاری ندارد. می‌توان عملیات ریاضی معمول را روی آن انجام داد:

price = 120000
quantity = 3
total = price * quantity

print(total)

خروجی:

360000

اعداد بزرگ در پایتون

برای خواناتر شدن عددهای بزرگ می‌توان از زیرخط استفاده کرد:

annual_income = 1_250_000_000
print(annual_income)

زیرخط فقط خوانایی کد را بهتر می‌کند و در مقدار عدد تأثیری ندارد.

نوع داده float؛ عدد اعشاری

اعدادی که دارای نقطه اعشار هستند از نوع float محسوب می‌شوند:

height = 1.78
price = 49.99
temperature = -2.5

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

result = 10 / 4
print(result)
print(type(result))

خروجی:

2.5
<class 'float'>

نکته مهم درباره دقت اعداد اعشاری

رایانه‌ها برخی عددهای اعشاری را به‌صورت تقریبی ذخیره می‌کنند. به همین دلیل ممکن است خروجی زیر کمی غیرمنتظره باشد:

print(0.1 + 0.2)

در بسیاری از محیط‌ها خروجی چیزی شبیه این است:

0.30000000000000004

این رفتار خطای پایتون نیست؛ نتیجه روش نمایش دودویی اعداد اعشاری در رایانه است. در پروژه‌های مالی که دقت بسیار مهم است، معمولاً از ابزارهای تخصصی مانند Decimal استفاده می‌شود.

نوع داده bool؛ درست و نادرست

نوع bool فقط دو مقدار دارد:

True
False

حرف اول این دو مقدار باید بزرگ نوشته شود. شکل‌های true و false در پایتون معتبر نیستند.

is_logged_in = True
is_admin = False

print(is_logged_in)
print(type(is_admin))

مقادیر بولی برای تصمیم‌گیری در برنامه‌ها بسیار مهم‌اند. برای مثال:

  • آیا کاربر وارد حساب شده است؟
  • آیا موجودی محصول بیشتر از صفر است؟
  • آیا رمز عبور درست است؟
  • آیا سفارش پرداخت شده است؟

ساخت مقدار بولی با مقایسه

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

age = 20
print(age >= 18)
print(age == 20)
print(age < 10)

خروجی:

True
True
False

عملگرهای مقایسه‌ای را در یکی از درس‌های بعدی کامل بررسی خواهیم کرد.

تفاوت عدد و متن عددی

این دو مقدار شبیه هم دیده می‌شوند، اما نوع متفاوتی دارند:

number = 25
text_number = "25"

print(type(number))
print(type(text_number))

مقدار اول قابل استفاده در محاسبات است، اما مقدار دوم یک رشته متنی است:

print(number + 5)
print(text_number + "5")

خروجی:

30
255

در خط دوم، پایتون دو متن را به هم متصل کرده است؛ بنابراین خروجی 255 به‌عنوان یک رشته تولید می‌شود.

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

گاهی لازم است یک مقدار را از نوعی به نوع دیگر تبدیل کنیم. برای این کار از توابعی مانند str()، int()، float() و bool() استفاده می‌شود.

تبدیل عدد به متن با str

age = 30
message = "سن من " + str(age) + " سال است."
print(message)

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

تبدیل متن عددی به عدد صحیح با int

price_text = "150"
price = int(price_text)

print(price + 50)

خروجی:

200

تبدیل متن به عدد اعشاری با float

weight_text = "72.5"
weight = float(weight_text)

print(weight + 2.5)

خروجی:

75.0

تبدیل float به int

price = 19.95
whole_price = int(price)

print(whole_price)

خروجی:

19

تبدیل float به int قسمت اعشاری را حذف می‌کند؛ این عملیات گردکردن نیست. برای گردکردن باید از تابع round() استفاده شود.

تابع bool چگونه مقادیر را تبدیل می‌کند؟

تابع bool() مقدارها را به True یا False تبدیل می‌کند:

print(bool(1))
print(bool(0))
print(bool("Python"))
print(bool(""))

خروجی:

True
False
True
False

به‌طور کلی، صفر، رشته خالی و برخی ساختارهای خالی مقدار نادرست محسوب می‌شوند. بیشتر مقدارهای غیرخالی و غیرصفر درست محسوب می‌شوند.

اشتباه رایج درباره رشته “False”

print(bool("False"))

خروجی:

True

زیرا رشته "False" خالی نیست. محتوای متن برای تابع bool() مهم نیست؛ خالی یا غیرخالی بودن آن بررسی می‌شود.

تبدیل نامعتبر و خطای ValueError

هر متنی را نمی‌توان به عدد تبدیل کرد:

number = int("پایتون")

این دستور خطای ValueError ایجاد می‌کند، زیرا متن «پایتون» نمایش معتبر یک عدد صحیح نیست.

این تبدیل معتبر است:

number = int("250")

اما این تبدیل نیز برای int() مستقیم معتبر نیست:

number = int("12.5")

برای متن اعشاری ابتدا از float() استفاده کنید:

number = float("12.5")
print(number)

خطای جمع متن و عدد

کد زیر باعث خطای TypeError می‌شود:

age = 30
print("سن: " + age)

زیرا عملگر + نمی‌تواند رشته و عدد صحیح را مستقیماً ترکیب کند. دو راه درست:

age = 30
print("سن: " + str(age))
print("سن:", age)

استفاده از f-string برای ترکیب داده‌ها

یکی از روش‌های خوانا برای قرار دادن مقدار متغیرها داخل متن، استفاده از f-string است:

name = "سارا"
age = 24
height = 1.68

print(f"نام: {name}، سن: {age}، قد: {height}")

در این روش، پیش از رشته حرف f قرار می‌گیرد و نام متغیرها داخل آکولاد نوشته می‌شود. پایتون آن‌ها را به شکل مناسب در متن قرار می‌دهد.

پروژه عملی: ساخت کارت مشخصات محصول

در این پروژه از چهار نوع داده اصلی استفاده می‌کنیم:

product_name = "کتاب آموزش پایتون"
price = 185000
rating = 4.7
is_available = True

print("--- مشخصات محصول ---")
print(f"نام محصول: {product_name}")
print(f"قیمت: {price} تومان")
print(f"امتیاز: {rating}")
print(f"موجود است: {is_available}")

print("--- نوع داده‌ها ---")
print(type(product_name))
print(type(price))
print(type(rating))
print(type(is_available))

این برنامه نشان می‌دهد چگونه اطلاعات متفاوت یک محصول با نوع‌های داده مناسب ذخیره و نمایش داده می‌شوند.

تمرین‌های درس پنجم

  1. چهار متغیر برای نام، سن، قد و وضعیت دانشجو بودن بسازید و نوع هرکدام را نمایش دهید.
  2. رشته "120" را به عدد تبدیل کنید، عدد ۳۰ را به آن اضافه کنید و نتیجه را چاپ کنید.
  3. عدد اعشاری 19.8 را به عدد صحیح تبدیل کنید و تفاوت نتیجه را توضیح دهید.
  4. بررسی کنید خروجی bool(0)، bool(10)، bool("") و bool("0") چیست.
  5. یک کارت مشخصات شخصی با f-string بسازید که نام، سن، شهر و وضعیت اشتغال را نمایش دهد.

اشتباهات رایج

  • قرار دادن عدد داخل نقل‌قول و انتظار انجام محاسبه عددی
  • نوشتن true یا false با حرف کوچک
  • جمع مستقیم رشته و عدد با عملگر +
  • تبدیل متن غیرعددی با int() یا float()
  • تصور اینکه int() عدد اعشاری را گرد می‌کند
  • تصور اینکه رشته "False" به مقدار بولی نادرست تبدیل می‌شود

📌 همچنین بخوانید: بازار کار پایتون در ایران، نصب و تنظیم پایتون در VS Code و برنامه‌نویسی پایتون با گوشی

پرسش‌های متداول

تفاوت int و float چیست؟

int برای عددهای صحیح و float برای عددهای دارای بخش اعشاری استفاده می‌شود.

آیا عدد داخل نقل‌قول هنوز عدد است؟

خیر. هر مقداری که داخل علامت نقل‌قول قرار بگیرد رشته یا str محسوب می‌شود، حتی اگر فقط از رقم تشکیل شده باشد.

چگونه نوع یک متغیر را بفهمیم؟

نام متغیر را به تابع type() بدهید؛ برای مثال type(age).

چرا int(“12.5”) خطا می‌دهد؟

زیرا رشته "12.5" نمایش یک عدد اعشاری است. برای تبدیل آن باید از float("12.5") استفاده کنید.

مقدار بولی چه کاربردی دارد؟

برای نمایش وضعیت‌های دوحالتی و نتیجه مقایسه‌ها استفاده می‌شود؛ مانند فعال یا غیرفعال، درست یا نادرست و موجود یا ناموجود.

جمع‌بندی

در این درس با چهار نوع داده اصلی پایتون آشنا شدیم: متن با str، عدد صحیح با int، عدد اعشاری با float و مقدار منطقی با bool. همچنین یاد گرفتیم نوع داده را با type() بررسی و با توابع تبدیل نوع تغییر دهیم.

درس قبلی: متغیرها در پایتون چیستند؟

درس بعدی: دریافت اطلاعات از کاربر با تابع input()

مشاهده فهرست کامل دوره آموزش پایتون از صفر

می‌خواهی پیشرفتت ذخیره شود؟با ورود یا ثبت‌نام رایگان، درس‌های تمام‌شده را علامت بزن و درصد پیشرفتت را در حساب کاربری ببین.ورود / ثبت‌نام برای ذخیره پیشرفت
درس بعدی · دوره رایگان پایتون (مقدماتی) (6 از 16)دریافت اطلاعات از کاربر با تابع input در پایتون ←
آموزش‌های تازه، کد آماده و رفع خطاهر هفته در کانال Dev Source؛ رایگان.
🧭 مسیر یادگیری پایتون از صفر
ماژول 2: متغیرها، داده‌ها و ورودی — درس 6 از 44

برای ذخیره پیشرفت در همه دستگاه‌ها و دریافت گواهی پایان مسیر، رایگان ثبت‌نام کن یا وارد شو.

دیدگاهتان را بنویسید

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