Kahibaro
Discord Login Register

اعداد (`int`، `float`)

معرفی عددهای صحیح (`int`) و اعشاری (`float`)

در این بخش روی دو نوع عددی مهم در پایتون تمرکز می‌کنیم: int و float. فرض می‌کنیم که با مفهوم کلی «متغیر» و «نوع داده» قبلاً آشنا شده‌اید؛ اینجا فقط دربارهٔ خود عددها صحبت می‌کنیم.

عدد صحیح (`int`)

int (مخفف integer) برای نمایش عددهای صحیح است؛ یعنی عددهایی که بخش اعشاری ندارند.

مثال‌های عدد صحیح

python
x = 0
y = 5
age = 30
year = 2024
negative = -10
big_number = 1000000

نکته‌ها:

python
big = 1_000_000

پایتون این را همان 1000000 در نظر می‌گیرد.

نوع عدد صحیح را ببینیم

python
x = 10
print(type(x))

خروجی:

python
<class 'int'>

عدد اعشاری (`float`)

float (مخفف floating point) برای نمایش عددهایی است که بخش اعشاری دارند یا به صورت ممیز شناور نوشته می‌شوند.

مثال‌های عدد اعشاری

python
pi = 3.14
temperature = -2.5
height = 1.75
zero = 0.0

نکته‌ها:

python
x = 5.0   # این float است، نه int

نماد علمی (Scientific Notation)

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

python
x = 1e3      # یعنی 1 × 10^3 = 1000.0
y = 2.5e-2   # یعنی 2.5 × 10^-2 = 0.025

در هر دو حالت، نوع داده float است:

python
print(type(x))  # <class 'float'>
print(type(y))  # <class 'float'>

تفاوت‌های مهم بین `int` و `float`

۱. نمایش و دقت اعشار

int همیشه دقیق است (چون بخش اعشاری ندارد).

float ممکن است تقریب باشد. گاهی نتیجهٔ محاسبات عجیب به نظر می‌رسد:

python
x = 0.1 + 0.2
print(x)

ممکن است چیزی مثل این ببینید:

text
0.30000000000000004

این یک محدودیت رایج در نمایش عددهای اعشاری در کامپیوتر است و فقط مخصوص پایتون نیست.

۲. نتیجهٔ عملیات ترکیبی

وقتی در یک عمل، int و float را ترکیب می‌کنید:

python
a = 3      # int
b = 2.0    # float
c = a + b
print(c)        # 5.0
print(type(c))  # <class 'float'>

تبدیل بین `int` و `float`

گاهی لازم است نوع عدد را عوض کنید؛ این کار را تبدیل نوع (Type Casting) می‌نامند.

تبدیل `int` به `float`

با تابع float() انجام می‌شود:

python
x = 5        # int
y = float(x) # تبدیل به float
print(y)         # 5.0
print(type(y))   # <class 'float'>

تبدیل `float` به `int`

با تابع int() انجام می‌شود. دقت کنید که بخش اعشاری قطع می‌شود (گرد نمی‌شود):

python
a = 3.9
b = int(a)
print(b)         # 3
print(type(b))   # <class 'int'>

چند مثال دیگر:

python
print(int(2.0))   # 2
print(int(-2.9))  # -2  (فقط بخش اعشاری حذف می‌شود)

اگر بخواهید عدد را گرد کنید (مثلاً ۳٫۹ را به ۴ تبدیل کنید)، از تابع round() استفاده می‌شود که در فصل عملیات و توابع ریاضی بیشتر با آن آشنا می‌شوید.

اعداد در ورودی و خروجی

تابع input() همیشه مقدار را به صورت str (رشته) می‌دهد، حتی اگر کاربر عدد بنویسد. برای کار عددی باید آن را تبدیل کنید.

تبدیل ورودی به `int`

python
user_input = input("یک عدد صحیح وارد کنید: ")
number = int(user_input)  # تبدیل رشته به int
print(number * 2)

تبدیل ورودی به `float`

python
user_input = input("یک عدد اعشاری وارد کنید: ")
number = float(user_input)  # تبدیل رشته به float
print(number / 2)

اگر کاربر چیزی وارد کند که عدد نباشد، این تبدیل خطا می‌دهد؛ مدیریت این خطاها در فصل خطاها و اشکال‌زدایی خواهد آمد.

چند نکتهٔ کاربردی دربارهٔ اعداد

استفادهٔ مستقیم از اعداد

همیشه لازم نیست عدد را در متغیر ذخیره کنید؛ می‌توانید مستقیماً از آن استفاده کنید:

python
print(2 + 3)
print(10.5 * 2)

عملیات با `int` و `float`

جزئیات عملیات در فصل «عملیات پایه» می‌آید، اما برای دید کلی:

python
a = 10      # int
b = 3       # int
c = 2.5     # float
print(a + b)   # 13 (int + int => int)
print(a / b)   # 3.3333333333333335 (تقسیم همیشه float برمی‌گرداند)
print(a * c)   # 25.0 (int * float => float)

جمع‌بندی کوتاه

Views: 7

Comments

Please login to add a comment.

Don't have an account? Register now!